diff --git a/packages/components-faraday/src/components/Admin/AdminDashboard.js b/packages/components-faraday/src/components/Admin/AdminDashboard.js index c158ada275d31b30da07ed2d1a520d9c8733b958..bac4c83fcd2538137ecb5d3c88ef579b22025b6a 100644 --- a/packages/components-faraday/src/components/Admin/AdminDashboard.js +++ b/packages/components-faraday/src/components/Admin/AdminDashboard.js @@ -1,7 +1,6 @@ import React from 'react' import { Icon } from '@pubsweet/ui' import styled from 'styled-components' -import { withRouter } from 'react-router-dom' const AdminDashboard = ({ history }) => ( <Root> @@ -29,6 +28,9 @@ const AdminDashboard = ({ history }) => ( </Root> ) +export default AdminDashboard + +// #region Styled components const Root = styled.div` display: flex; flex-direction: column; @@ -72,5 +74,4 @@ const Card = styled.div` text-align: center; } ` - -export default withRouter(AdminDashboard) +// #endregion diff --git a/packages/components-faraday/src/components/Admin/AdminPage.js b/packages/components-faraday/src/components/Admin/AdminPage.js deleted file mode 100644 index cfc2d61e7c4c03ccde7f50db2d267b3ec84c60bf..0000000000000000000000000000000000000000 --- a/packages/components-faraday/src/components/Admin/AdminPage.js +++ /dev/null @@ -1,35 +0,0 @@ -import { get } from 'lodash' -import { connect } from 'react-redux' -import { actions } from 'pubsweet-client' -import { ConnectPage } from 'xpub-connect' -import { withRouter } from 'react-router-dom' -import { compose, withState, withHandlers } from 'recompose' - -import Admin from './Admin' - -export default compose( - ConnectPage(() => [actions.getUsers()]), - withRouter, - connect(state => ({ currentUsers: get(state, 'users.users') })), - withState('users', 'setUsers', props => - props.currentUsers.map(u => ({ ...u, selected: false })), - ), - withState('itemsPerPage', 'setItemsPerPage', 50), - withState('page', 'setPage', 0), - withHandlers({ - incrementPage: ({ setPage }) => () => { - setPage(p => p + 1) - }, - decrementPage: ({ setPage }) => () => { - setPage(p => (p > 0 ? p - 1 : p)) - }, - toggleUser: ({ setUsers }) => user => () => { - setUsers(prev => - prev.map(u => (u.id === user.id ? { ...u, selected: !u.selected } : u)), - ) - }, - toggleAllUsers: ({ setUsers }) => () => { - setUsers(users => users.map(u => ({ ...u, selected: !u.selected }))) - }, - }), -)(Admin) diff --git a/packages/components-faraday/src/components/Admin/Admin.js b/packages/components-faraday/src/components/Admin/AdminUsers.js similarity index 76% rename from packages/components-faraday/src/components/Admin/Admin.js rename to packages/components-faraday/src/components/Admin/AdminUsers.js index 544f5e7dfb381cca475f35b8cb028b13be981c3b..889a82f506d445bf956caebb4cb8e4d6230a39cf 100644 --- a/packages/components-faraday/src/components/Admin/Admin.js +++ b/packages/components-faraday/src/components/Admin/AdminUsers.js @@ -1,6 +1,12 @@ import React from 'react' +import { get } from 'lodash' +import { connect } from 'react-redux' import styled from 'styled-components' import { Icon, Menu } from '@pubsweet/ui' +import { actions } from 'pubsweet-client' +import { ConnectPage } from 'xpub-connect' +import { withRouter } from 'react-router-dom' +import { compose, withState, withHandlers } from 'recompose' import { Pagination } from './' @@ -20,7 +26,7 @@ const TableRow = ({ toggleUser, selected, email, username, type }) => ( </Row> ) -const Admin = ({ +const Users = ({ users, toggleUser, toggleAllUsers, @@ -98,8 +104,34 @@ const Admin = ({ </div> ) -export default Admin - +export default compose( + ConnectPage(() => [actions.getUsers()]), + withRouter, + connect(state => ({ currentUsers: get(state, 'users.users') })), + withState('users', 'setUsers', props => + props.currentUsers.map(u => ({ ...u, selected: false })), + ), + withState('itemsPerPage', 'setItemsPerPage', 50), + withState('page', 'setPage', 0), + withHandlers({ + incrementPage: ({ setPage }) => () => { + setPage(p => p + 1) + }, + decrementPage: ({ setPage }) => () => { + setPage(p => (p > 0 ? p - 1 : p)) + }, + toggleUser: ({ setUsers }) => user => () => { + setUsers(prev => + prev.map(u => (u.id === user.id ? { ...u, selected: !u.selected } : u)), + ) + }, + toggleAllUsers: ({ setUsers }) => () => { + setUsers(users => users.map(u => ({ ...u, selected: !u.selected }))) + }, + }), +)(Users) + +// #region styled-components const AddButton = styled.button` align-items: center; border: none; @@ -195,3 +227,4 @@ const Input = styled.input` height: 20px; width: 20px; ` +// #endregion diff --git a/packages/components-faraday/src/components/Admin/index.js b/packages/components-faraday/src/components/Admin/index.js index d57c7f72d0204105e10c497c80f16609581eb012..bdffbea23a5d190395b4abdc115edb7618c19fc9 100644 --- a/packages/components-faraday/src/components/Admin/index.js +++ b/packages/components-faraday/src/components/Admin/index.js @@ -1,3 +1,3 @@ -export { default as AdminUsers } from './AdminPage' +export { default as AdminUsers } from './AdminUsers' export { default as Pagination } from './Pagination' export { default as AdminDashboard } from './AdminDashboard' diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index 110f39981fe79f44e7671d3c02fec67ebd76e666..653c50351f02e4aa076cd4d9cbf2f3777c924a38 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -23,20 +23,12 @@ const Dashboard = ({ filterItems, abstractModal, setModal, - history, ...rest }) => ( <div className={classes.root}> <div className={classes.header}> <div className={classes.heading}>Manuscripts</div> <div className={classes.headerButtons}> - <Button - className={classes['admin-button']} - onClick={() => history.push('admin')} - primary - > - Admin dashboard - </Button> <Button onClick={createDraftSubmission} primary> New </Button>