diff --git a/app/containers/App/index.js b/app/containers/App/index.js index 01844bfcc6..f8408574a3 100644 --- a/app/containers/App/index.js +++ b/app/containers/App/index.js @@ -15,7 +15,6 @@ import React from 'react'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; import { selectPlugins } from './selectors'; -import { registerPlugin } from './actions'; import styles from './styles.css'; @@ -26,19 +25,8 @@ export class App extends React.Component { // eslint-disable-line react/prefer-s }; render() { - // Plugins list - const pluginsList = this.props.plugins; - - // Generate the list of plugins jsx - const plugins = pluginsList.map(plugin =>
  • {plugin.name}
  • ); - return (
    - -

    Plugins

    - {React.Children.toArray(this.props.children)}
    ); @@ -57,7 +45,6 @@ const mapStateToProps = createSelector( function mapDispatchToProps(dispatch) { return { - onRegisterPluginClicked: () => dispatch(registerPlugin({ name: 'New Plugin' })), dispatch, }; } diff --git a/app/containers/Content/index.js b/app/containers/Content/index.js new file mode 100644 index 0000000000..7f26dfe792 --- /dev/null +++ b/app/containers/Content/index.js @@ -0,0 +1,28 @@ +/* + * + * Content + * + */ + +import React from 'react'; +import { connect } from 'react-redux'; +import styles from './styles.css'; + +export class Content extends React.Component { // eslint-disable-line react/prefer-stateless-function + render() { + return ( +
    +

    Content

    +
    + ); + } +} + + +function mapDispatchToProps(dispatch) { + return { + dispatch, + }; +} + +export default connect(mapDispatchToProps)(Content); diff --git a/app/containers/Content/styles.css b/app/containers/Content/styles.css new file mode 100644 index 0000000000..74f372426d --- /dev/null +++ b/app/containers/Content/styles.css @@ -0,0 +1,3 @@ +.content { /* stylelint-disable */ + +} diff --git a/app/containers/Content/tests/index.test.js b/app/containers/Content/tests/index.test.js new file mode 100644 index 0000000000..14ef612f64 --- /dev/null +++ b/app/containers/Content/tests/index.test.js @@ -0,0 +1,11 @@ +// import Content from '../index'; + +import expect from 'expect'; +// import { shallow } from 'enzyme'; +// import React from 'react'; + +describe('', () => { + it('Expect to have unit tests specified', () => { + expect(true).toEqual(false); + }); +}); diff --git a/app/containers/HomePage/index.js b/app/containers/HomePage/index.js index c47ae021b0..e9d5a41748 100644 --- a/app/containers/HomePage/index.js +++ b/app/containers/HomePage/index.js @@ -10,16 +10,38 @@ */ import React from 'react'; -import { FormattedMessage } from 'react-intl'; -import messages from './messages'; +import { connect } from 'react-redux'; +import { createSelector } from 'reselect'; +import { selectPlugins } from '../App/selectors'; +import LeftMenu from '../LeftMenu'; +import Content from '../Content'; -export default class HomePage extends React.Component { // eslint-disable-line react/prefer-stateless-function +export class HomePage extends React.Component { // eslint-disable-line react/prefer-stateless-function render() { return ( -

    - -

    +
    + + +
    ); } } + +HomePage.propTypes = { + plugins: React.PropTypes.object, + onRegisterPluginClicked: React.PropTypes.func, +}; + +const mapStateToProps = createSelector( + selectPlugins(), + (plugins) => ({ plugins }) +); + +function mapDispatchToProps(dispatch) { + return { + dispatch, + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(HomePage); diff --git a/app/containers/LeftMenu/index.js b/app/containers/LeftMenu/index.js new file mode 100644 index 0000000000..46a45d3554 --- /dev/null +++ b/app/containers/LeftMenu/index.js @@ -0,0 +1,37 @@ +/* + * + * LeftMenu + * + */ + +import React from 'react'; +import { connect } from 'react-redux'; +import styles from './styles.css'; + +export class LeftMenu extends React.Component { // eslint-disable-line react/prefer-stateless-function + render() { + const links = this.props.plugins.map(plugin =>
  • {plugin.name}
  • ); + + return ( +
    +

    Links

    + +
    + + ); + } +} + +LeftMenu.propTypes = { + plugins: React.PropTypes.object, +}; + +function mapDispatchToProps(dispatch) { + return { + dispatch, + }; +} + +export default connect(mapDispatchToProps)(LeftMenu); diff --git a/app/containers/LeftMenu/styles.css b/app/containers/LeftMenu/styles.css new file mode 100644 index 0000000000..6e35caf147 --- /dev/null +++ b/app/containers/LeftMenu/styles.css @@ -0,0 +1,3 @@ +.leftMenu { /* stylelint-disable */ + +} diff --git a/app/containers/LeftMenu/tests/index.test.js b/app/containers/LeftMenu/tests/index.test.js new file mode 100644 index 0000000000..e81f3b995f --- /dev/null +++ b/app/containers/LeftMenu/tests/index.test.js @@ -0,0 +1,11 @@ +// import LeftMenu from '../index'; + +import expect from 'expect'; +// import { shallow } from 'enzyme'; +// import React from 'react'; + +describe('', () => { + it('Expect to have unit tests specified', () => { + expect(true).toEqual(false); + }); +});