/* * HomePage * * This is the first thing users see of our App, at the '/' route * * NOTE: while this component should technically be a stateless functional * component (SFC), hot reloading does not currently support SFCs. If hot * reloading is not a neccessity for you then you can refactor it and remove * the linting exception. */ import React from 'react'; import { connect } from 'react-redux'; import { createStructuredSelector } from 'reselect'; import PluginHeader from 'components/PluginHeader'; import RightContentSectionTitle from 'components/RightContentSectionTitle'; import Container from 'components/Container'; import RightContentTitle from 'components/RightContentTitle'; import { selectName, selectLoading, selectError, } from 'containers/HomePage/selectors'; import { loadGeneralSettings, changeName, updateGeneralSettings, } from 'containers/HomePage/actions'; import styles from './styles.css'; export class HomePage extends React.Component { componentDidMount() { this.props.onPageLoad(); setTimeout(() => { this.props.onFormSubmit(); }, 1000); } render() { return (
); } } HomePage.propTypes = { // changeRoute: React.PropTypes.func, // loading: React.PropTypes.bool, // error: React.PropTypes.oneOfType([ // React.PropTypes.object, // React.PropTypes.bool, // ]), name: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.bool, ]), onPageLoad: React.PropTypes.func, onFormSubmit: React.PropTypes.func, // username: React.PropTypes.string, onChangeAppName: React.PropTypes.func, }; export function mapDispatchToProps(dispatch) { return { onChangeAppName: (evt) => dispatch(changeName(evt.target.value)), onFormSubmit: (e) => { e.preventDefault(); dispatch(updateGeneralSettings()); }, // changeRoute: (url) => dispatch(push(url)), onPageLoad: (evt) => { // if (evt !== undefined && evt.preventDefault) evt.preventDefault(); dispatch(loadGeneralSettings()); }, dispatch, }; } const mapStateToProps = createStructuredSelector({ // generalSettings: selectGeneralSettings(), name: selectName(), // username: selectUsername(), // loading: selectLoading(), // error: selectError(), }); // Wrap the component to inject dispatch and state into it export default connect(mapStateToProps, mapDispatchToProps)(HomePage);