diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js index c90d2fec5616ffce6cfab03a0db65592695c9511..bc34c7a73e1074e0d67d3984207a157cc13fc550 100644 --- a/packages/component-faraday-selectors/src/index.js +++ b/packages/component-faraday-selectors/src/index.js @@ -162,3 +162,15 @@ export const getAdminUsers = state => .map(s => s.user) .reverse() .value() + +const hideCustomIdStatuses = ['draft', 'technicalChecks'] +export const newestFirstParseCustomId = items => + chain(items) + .orderBy(['created'], ['desc']) + .map(item => ({ + ...item, + customId: + !hideCustomIdStatuses.includes(get(item, 'status', 'draft')) && + item.customId, + })) + .value() diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js index b82e966d40057f29763c4951c568855f41a18407..269c0401842819645308600decec57ae403e711b 100644 --- a/packages/component-faraday-ui/src/ManuscriptCard.js +++ b/packages/component-faraday-ui/src/ManuscriptCard.js @@ -55,15 +55,20 @@ const ManuscriptCard = ({ {customId && <Text customId mr={1}>{`ID ${customId}`}</Text>} {submitted && ( <DateParser humanizeThreshold={0} timestamp={submitted}> - {timestamp => <Text mr={3}>Submitted on {timestamp}</Text>} + {(timestamp, timeAgo) => ( + <Text + mr={3} + >{`Submitted on ${timestamp} (${timeAgo} ago)`}</Text> + )} </DateParser> )} <Text>{manuscriptType.label || type}</Text> - {journal && ( - <Text journal ml={1}> - {journal} - </Text> - )} + {journal && + (manuscriptType.label || type) && ( + <Text journal ml={1}> + {journal} + </Text> + )} </Row> <Row alignItems="center" justify="flex-start" mb={1}> <H4>Handling editor</H4> diff --git a/packages/components-faraday/src/components/Dashboard/Dashboard.js b/packages/components-faraday/src/components/Dashboard/Dashboard.js index 82137f785d294edbe2d8cf5996a492652b6b348b..0c106443fd6d2da18ebbdce662c5d738bc6b8dd8 100644 --- a/packages/components-faraday/src/components/Dashboard/Dashboard.js +++ b/packages/components-faraday/src/components/Dashboard/Dashboard.js @@ -23,6 +23,6 @@ const Dashboard = ({ export default compose( withProps(({ dashboard, filterItems }) => ({ - dashboardItems: filterItems(dashboard.all), + dashboardItems: filterItems(dashboard), })), )(Dashboard) diff --git a/packages/components-faraday/src/components/Dashboard/DashboardPage.js b/packages/components-faraday/src/components/Dashboard/DashboardPage.js index 944329379b27e97f83a5d770b1a50ea49142eaa7..6831dbc0265ec953396fafa62fe49e8bae853af9 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardPage.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardPage.js @@ -5,9 +5,12 @@ import { withJournal } from 'xpub-journal' import { ConnectPage } from 'xpub-connect' import { withRouter } from 'react-router-dom' import { compose, withContext } from 'recompose' -import { newestFirst, selectCurrentUser } from 'xpub-selectors' +import { selectCurrentUser } from 'xpub-selectors' -import { getUserPermissions } from 'pubsweet-component-faraday-selectors' +import { + getUserPermissions, + newestFirstParseCustomId, +} from 'pubsweet-component-faraday-selectors' import { Dashboard } from './' import { priorityFilter, orderFilter, withFiltersHOC } from '../Filters' @@ -18,24 +21,8 @@ export default compose( state => { const { collections, conversion } = state const currentUser = selectCurrentUser(state) - const sortedCollections = newestFirst(collections) + const dashboard = newestFirstParseCustomId(collections) - const dashboard = { - owner: sortedCollections.filter( - collection => - collection.owners && - collection.owners.some(owner => owner.id === currentUser.id), - ), - reviewer: sortedCollections.filter( - collection => - collection.reviewers && - collection.reviewers.some( - reviewer => reviewer && reviewer.user === currentUser.id, - ), - ), - - all: sortedCollections, - } const userPermissions = getUserPermissions(state) return { dashboard,