diff --git a/packages/component-dashboard/src/components/Reviews.js b/packages/component-dashboard/src/components/Reviews.js index 7ab111cfd159a362136776ca51ec2e3d8c38a233..a671e4f0fc0d4ee45d904c2a903c1b82eb2f76b4 100644 --- a/packages/component-dashboard/src/components/Reviews.js +++ b/packages/component-dashboard/src/components/Reviews.js @@ -1,20 +1,25 @@ import React from 'react' import { compose, withProps } from 'recompose' import { groupBy } from 'lodash' +import { withJournal } from 'xpub-journal' import { Badge } from '@pubsweet/ui' import classes from './Reviews.local.scss' -const Reviews = ({ reviews }) => ( +const Reviews = ({ reviews, journal }) => ( <div className={classes.root}> - {Object.keys(reviews).map(status => ( + {journal.reviewStatus.map(status => ( <span className={classes.badge} key={status}> - <Badge count={reviews[status].length} label={status} /> + <Badge + count={reviews[status] ? reviews[status].length : 0} + label={status} + /> </span> ))} </div> ) export default compose( + withJournal, withProps(props => ({ reviews: groupBy(props.version.reviewers, 'status'), })), diff --git a/packages/component-dashboard/src/components/sections/ReviewerItem.js b/packages/component-dashboard/src/components/sections/ReviewerItem.js index 8ec3b786910cfb0641f85e48464051725b047224..ccaff873f034c1a1cafc9f751321738641b36d2e 100644 --- a/packages/component-dashboard/src/components/sections/ReviewerItem.js +++ b/packages/component-dashboard/src/components/sections/ReviewerItem.js @@ -7,7 +7,7 @@ import Divider from './Divider' import VersionTitle from './VersionTitle' // TODO: only return links if version id is in reviewer.accepted array -// TODO: only return actions if not accepted or declined +// TODO: only return actions if not accepted or rejected // TODO: review id in link const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { @@ -19,7 +19,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { <VersionTitle className={classes.versionTitle} version={version} /> {reviewer && ( - <div> + <div className={classes.links}> {reviewer.status === 'accepted' && ( <div className={classes.links}> <div className={classes.link}> @@ -29,7 +29,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { project={project} version={version} > - {reviewer.submitted ? 'Reviewed' : 'Do Review'} + {reviewer.submitted ? 'Completed' : 'Do Review'} </ProjectLink> </div> </div> @@ -52,7 +52,7 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { <div className={classes.action}> <Button onClick={() => - reviewerResponse(project, version, reviewer, 'declined') + reviewerResponse(project, version, reviewer, 'rejected') } > reject @@ -60,8 +60,8 @@ const ReviewerItem = ({ project, version, currentUser, reviewerResponse }) => { </div> </div> )} - - {reviewer.status === 'declined' && <div>declined</div>} + {reviewer.status === 'completed' && 'completed'} + {reviewer.status === 'rejected' && 'rejected'} </div> )} </div> diff --git a/packages/component-review/src/components/ReviewPage.js b/packages/component-review/src/components/ReviewPage.js index 880a86d37054dea4416791e464a697e90422f61f..337231247252a7e011bc6d5f354b69e98b31b588 100644 --- a/packages/component-review/src/components/ReviewPage.js +++ b/packages/component-review/src/components/ReviewPage.js @@ -23,9 +23,9 @@ const onSubmit = ( { history, project, version, reviewer }, ) => { Object.assign(reviewer, { - status: 'reviewed', - submitted: new Date(), ...values, + status: 'completed', + submitted: new Date(), }) return dispatch( diff --git a/packages/xpub-collabra/app/config/journal/index.js b/packages/xpub-collabra/app/config/journal/index.js index 30bc3a405632a2e2ff3972ac0c490a26666ce330..0c6ad26b9490fd2fbfc5c1536954b068c51c1071 100644 --- a/packages/xpub-collabra/app/config/journal/index.js +++ b/packages/xpub-collabra/app/config/journal/index.js @@ -7,3 +7,4 @@ export { default as articleSections } from './article-sections' export { default as articleTypes } from './article-types' export { default as editors } from './editors' export { default as roles } from './roles' +export { default as reviewStatus } from './review-status' diff --git a/packages/xpub-collabra/app/config/journal/review-status.js b/packages/xpub-collabra/app/config/journal/review-status.js new file mode 100644 index 0000000000000000000000000000000000000000..fd8c98ac00f8dadbeaf93e619bc26499ab95c7b6 --- /dev/null +++ b/packages/xpub-collabra/app/config/journal/review-status.js @@ -0,0 +1 @@ +export default ['invited', 'accepted', 'rejected', 'completed']