From 8467d9abb80bcaf37e47f25f7aca68269a39c1b7 Mon Sep 17 00:00:00 2001 From: Bogdan Cochior <bogdan.cochior@thinslices.com> Date: Fri, 9 Feb 2018 17:02:50 +0200 Subject: [PATCH] feat(component): wip: start admin user dashboard --- .../src/components/Admin/Admin.js | 21 +++++++++++++++++++ .../src/components/Admin/Admin.local.scss | 6 ++++++ .../src/components/Admin/AdminPage.js | 15 +++++++++++++ .../src/components/Admin/index.js | 3 +++ packages/xpub-faraday/app/routes.js | 2 ++ 5 files changed, 47 insertions(+) create mode 100644 packages/components-faraday/src/components/Admin/Admin.js create mode 100644 packages/components-faraday/src/components/Admin/Admin.local.scss create mode 100644 packages/components-faraday/src/components/Admin/AdminPage.js create mode 100644 packages/components-faraday/src/components/Admin/index.js diff --git a/packages/components-faraday/src/components/Admin/Admin.js b/packages/components-faraday/src/components/Admin/Admin.js new file mode 100644 index 000000000..8bb2efb47 --- /dev/null +++ b/packages/components-faraday/src/components/Admin/Admin.js @@ -0,0 +1,21 @@ +import React from 'react' +import PropTypes from 'prop-types' + +import classes from './Admin.local.scss' + +const Admin = ({ users }) => ( + <div className={classes.root}> + <h2>Admin</h2> + <ul> + {users.map((u, i) => ( + <li key={i}> + {u.username} - {u.email} + </li> + ))} + </ul> + </div> +) + +Admin.propTypes = {} + +export default Admin diff --git a/packages/components-faraday/src/components/Admin/Admin.local.scss b/packages/components-faraday/src/components/Admin/Admin.local.scss new file mode 100644 index 000000000..6ea81ade4 --- /dev/null +++ b/packages/components-faraday/src/components/Admin/Admin.local.scss @@ -0,0 +1,6 @@ +.root { + display: flex; + flex-direction: column; + margin: auto; + max-width: 60em; +} diff --git a/packages/components-faraday/src/components/Admin/AdminPage.js b/packages/components-faraday/src/components/Admin/AdminPage.js new file mode 100644 index 000000000..40a751d36 --- /dev/null +++ b/packages/components-faraday/src/components/Admin/AdminPage.js @@ -0,0 +1,15 @@ +import { get } from 'lodash' +import PropTypes from 'prop-types' +import { compose } from 'recompose' +import { connect } from 'react-redux' +import { actions } from 'pubsweet-client' +import { ConnectPage } from 'xpub-connect' +import { withRouter } from 'react-router-dom' + +import Admin from './Admin' + +export default compose( + ConnectPage(() => [actions.getUsers()]), + withRouter, + connect(state => ({ users: get(state, 'users.users') })), +)(Admin) diff --git a/packages/components-faraday/src/components/Admin/index.js b/packages/components-faraday/src/components/Admin/index.js new file mode 100644 index 000000000..f623059ef --- /dev/null +++ b/packages/components-faraday/src/components/Admin/index.js @@ -0,0 +1,3 @@ +import AdminPage from './AdminPage' + +export default AdminPage diff --git a/packages/xpub-faraday/app/routes.js b/packages/xpub-faraday/app/routes.js index 2f6b1b783..b2bba7ac7 100644 --- a/packages/xpub-faraday/app/routes.js +++ b/packages/xpub-faraday/app/routes.js @@ -16,6 +16,7 @@ import { Wizard } from 'pubsweet-component-wizard/src/components' import ManuscriptPage from 'pubsweet-component-xpub-manuscript/src/components/ManuscriptPage' import ConfirmationPage from 'pubsweet-components-faraday/src/components/UIComponents/ConfirmationPage' import NotFound from 'pubsweet-components-faraday/src/components/UIComponents/NotFound' +import AdminPage from 'pubsweet-components-faraday/src/components/Admin' const Routes = () => ( <App> @@ -28,6 +29,7 @@ const Routes = () => ( exact path="/confirmation-page" /> + <PrivateRoute component={AdminPage} exact path="/admin" /> <PrivateRoute component={LogoutPage} exact path="/logout" /> <PrivateRoute component={Wizard} -- GitLab