diff --git a/packages/components-faraday/src/components/Dashboard/DashboardCard.js b/packages/components-faraday/src/components/Dashboard/DashboardCard.js index f266dd0270e5e9d4dca722b9d64aa36d6780be21..3352e82c36853014f72626052296fe4842e09610 100644 --- a/packages/components-faraday/src/components/Dashboard/DashboardCard.js +++ b/packages/components-faraday/src/components/Dashboard/DashboardCard.js @@ -13,8 +13,13 @@ import { import ZipFiles from './ZipFiles' import { InviteReviewers } from '../Reviewers/' import { selectInvitation } from '../../redux/reviewers' -import { AuthorTooltip, ReviewerDecision, HandlingEditorSection } from './' import { parseVersion, parseJournalIssue, mapStatusToLabel } from './../utils' +import { + AuthorTooltip, + ReviewerDecision, + HandlingEditorSection, + ReviewerReports, +} from './' const DashboardCard = ({ deleteProject, @@ -146,29 +151,32 @@ const DashboardCard = ({ </AuthorList> </Top> <Bottom> - <LeftDetails flex="5"> + <LeftDetails flex={4}> <HandlingEditorSection currentUser={currentUser} project={project} /> </LeftDetails> {canInviteReviewers() && ( - <InviteReviewers - modalKey={`invite-reviewers-${project.id}`} - project={project} - /> + <RightDetails flex={4}> + <ReviewerReports project={project} /> + <InviteReviewers + modalKey={`invite-reviewers-${project.id}`} + project={project} + /> + </RightDetails> + )} + {invitation && ( + <RightDetails flex={4}> + <ReviewerText>Invited to review</ReviewerText> + <ReviewerDecision + invitation={invitation} + modalKey={`reviewer-decision-${project.id}`} + project={project} + /> + </RightDetails> )} </Bottom> - {invitation && ( - <Bottom> - <LeftDetails flex="5" /> - <ReviewerDecision - invitation={invitation} - modalKey={`reviewer-decision-${project.id}`} - project={project} - /> - </Bottom> - )} </DetailsView> )} </Card> @@ -224,6 +232,12 @@ const defaultText = css` font-size: ${th('fontSizeBaseSmall')}; ` +const ReviewerText = styled.div` + ${defaultText}; + margin-right: ${th('subGridUnit')}; + text-transform: uppercase; +` + const AuthorList = styled.span` ${defaultText}; text-align: left; diff --git a/packages/components-faraday/src/components/Dashboard/ReviewerReports.js b/packages/components-faraday/src/components/Dashboard/ReviewerReports.js new file mode 100644 index 0000000000000000000000000000000000000000..ae3b7cdf08344bbcaccf1c9d9e454a2e1d6a36ab --- /dev/null +++ b/packages/components-faraday/src/components/Dashboard/ReviewerReports.js @@ -0,0 +1,28 @@ +import React from 'react' +import { th } from '@pubsweet/ui' +import styled, { css } from 'styled-components' + +const ReviewerReports = ({ project: { invitations = [] } }) => { + const accepted = invitations.filter(i => i.isAccepted).length + return ( + <ReviewerText>{`Reviewer reports (${accepted}/${ + invitations.length + })`}</ReviewerText> + ) +} + +export default ReviewerReports + +// #region styled-components +const defaultText = css` + color: ${th('colorText')}; + font-family: ${th('fontReading')}; + font-size: ${th('fontSizeBaseSmall')}; +` + +const ReviewerText = styled.div` + ${defaultText}; + margin-right: ${th('subGridUnit')}; + text-transform: uppercase; +` +// #endregion diff --git a/packages/components-faraday/src/components/Dashboard/index.js b/packages/components-faraday/src/components/Dashboard/index.js index 25397e39beeab99b17fc2c39a929760ff1d206c3..fa4dcd89662ccd93739e012ffcf5ed16ae89df0d 100644 --- a/packages/components-faraday/src/components/Dashboard/index.js +++ b/packages/components-faraday/src/components/Dashboard/index.js @@ -1,6 +1,7 @@ import DashboardPage from './DashboardPage' export { default as AuthorTooltip } from './AuthorTooltip' +export { default as ReviewerReports } from './ReviewerReports' export { default as ReviewerDecision } from './ReviewerDecision' export { default as EditorInChiefActions } from './EditorInChiefActions' export { default as HandlingEditorActions } from './HandlingEditorActions' diff --git a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js index 4b38cfaae26c281305ee65ea0a9c34fccf192432..e245a2906ecd77ff7051777087e0032451bae008 100644 --- a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js +++ b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js @@ -17,7 +17,7 @@ import { } from '../../redux/reviewers' const InviteReviewers = ({ showInviteModal }) => ( - <AssignButton onClick={showInviteModal}>Invite reviewers</AssignButton> + <AssignButton onClick={showInviteModal}>Invite</AssignButton> ) const InviteReviewersModal = compose(