/* * HomePage */ import React from 'react'; import { connect } from 'react-redux'; import { createStructuredSelector } from 'reselect'; import PluginHeader from 'components/PluginHeader'; import Container from 'components/Container'; import RightContentTitle from 'components/RightContentTitle'; import RightContentSectionTitle from 'components/RightContentSectionTitle'; import { injectIntl, intlShape, FormattedMessage } from 'react-intl'; import appMessages from 'containers/App/messages.json'; import messages from './messages.json'; import { define } from '../../i18n'; define(messages); import { // selectHome, selectLoading, selectError, // selectGeneralSettings, selectName, selectDescription, selectVersion, // selectLocationState, } from './selectors'; import { loadGeneralSettings, changeName, changeDescription, changeVersion, updateGeneralSettings, cancelGeneralSettings, } from './actions'; import styles from './styles.scss'; export class HomePage extends React.Component { componentDidMount() { this.props.onPageLoad(); } render() { const { formatMessage } = this.props.intl; return (
); } } HomePage.propTypes = { // changeRoute: React.PropTypes.func, description: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.bool, ]), // error: React.PropTypes.oneOfType([ // React.PropTypes.object, // React.PropTypes.bool, // ]), intl: intlShape.isRequired, // loading: React.PropTypes.bool, name: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.bool, ]), // onCancel: React.PropTypes.func, onChangeName: React.PropTypes.func, onChangeDescription: React.PropTypes.func, onChangeVersion: React.PropTypes.func, onFormSubmit: React.PropTypes.func, onPageLoad: React.PropTypes.func, version: React.PropTypes.oneOfType([ React.PropTypes.string, React.PropTypes.bool, ]), }; export function mapDispatchToProps(dispatch) { return { onCancel: () => dispatch(cancelGeneralSettings()), onChangeName: (evt) => dispatch(changeName(evt.target.value)), onChangeDescription: (evt) => dispatch(changeDescription(evt.target.value)), onChangeVersion: (evt) => dispatch(changeVersion(evt.target.value)), onFormSubmit: (evt) => { if (evt !== undefined && evt.preventDefault) evt.preventDefault(); dispatch(updateGeneralSettings()); }, onPageLoad: (evt) => { if (evt !== undefined && evt.preventDefault) evt.preventDefault(); dispatch(loadGeneralSettings()); }, dispatch, }; } const mapStateToProps = createStructuredSelector({ name: selectName(), description: selectDescription(), error: selectError(), loading: selectLoading(), version: selectVersion(), }); // Wrap the component to inject dispatch and state into it export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(HomePage));