diff --git a/packages/component-faraday-ui/src/AppBar.js b/packages/component-faraday-ui/src/AppBar.js index 80dc030cc5b325b62bc929a143d3500009f3a948..9c3384686d2037df69100e33f08601132312fcda 100644 --- a/packages/component-faraday-ui/src/AppBar.js +++ b/packages/component-faraday-ui/src/AppBar.js @@ -7,13 +7,14 @@ import { compose, setDisplayName, withProps } from 'recompose' import { Item, Row, Text } from 'pubsweet-component-faraday-ui' const AppBar = ({ + theme, + isSubmit, logo: Logo, menu: Menu, createDraft, canCreateDraft = true, currentUser = {}, fixed = true, - isSubmit, autosave: Autosave, journal: { metadata: { backgroundImage } }, }) => ( @@ -46,7 +47,7 @@ const AppBar = ({ </RightContainer> </Root> {!canCreateDraft && ( - <RibbonRow bgColor={th('colorInfo')} fixed={fixed}> + <RibbonRow fixed={fixed}> <Text pb={1 / 2} pt={1}> Your account is not confirmed. Please check your email. </Text> @@ -140,6 +141,7 @@ const Root = styled.div` ` const RibbonRow = styled(Row)` + background-color: ${th('colorInfo')}; position: ${props => (props.fixed ? 'fixed' : 'relative')}; top: ${props => (props.fixed ? th('appBar.height') : '0')}; ` diff --git a/packages/component-faraday-ui/src/ManuscriptCard.js b/packages/component-faraday-ui/src/ManuscriptCard.js index f6647ffb98b45bb6f4590fb7ae69cbbdff7b4142..8b86a6910c0b68cc5e1e5def1636f40a0691b4e1 100644 --- a/packages/component-faraday-ui/src/ManuscriptCard.js +++ b/packages/component-faraday-ui/src/ManuscriptCard.js @@ -139,13 +139,8 @@ export default compose( )(ManuscriptCard) ManuscriptCard.propTypes = { - manuscriptType: PropTypes.oneOfType(PropTypes.object), - fragment: PropTypes.oneOfType(PropTypes.object).isRequired, - collection: PropTypes.oneOfType(PropTypes.object).isRequired, -} - -ManuscriptCard.defaultProps = { - manuscriptType: {}, + fragment: PropTypes.object.isRequired, // eslint-disable-line + collection: PropTypes.object.isRequired, // eslint-disable-line } // #region styles diff --git a/packages/component-faraday-ui/src/ReviewerBreakdown.js b/packages/component-faraday-ui/src/ReviewerBreakdown.js index 66aa094b017b8811ed2bff8247660c4bc8c1a2da..8e51446107a345ca5776fe3558849127755ad2b9 100644 --- a/packages/component-faraday-ui/src/ReviewerBreakdown.js +++ b/packages/component-faraday-ui/src/ReviewerBreakdown.js @@ -1,11 +1,7 @@ import React from 'react' -// import { get } from 'lodash' -import { compose, withHandlers, withProps } from 'recompose' import PropTypes from 'prop-types' -import { Text, Row } from './' -const ReviewerBreakdown = ({ getReportBreakdown, fragment }) => - getReportBreakdown() +import { Text, Row } from './' const roleFilter = role => i => i.role === role const submittedFilter = r => r.review && r.review.submittedOn @@ -18,51 +14,46 @@ const reviewerReduce = (acc, r) => ({ submitted: submittedFilter(r) ? acc.submitted + 1 : acc.submitted, }) -export default compose( - withProps(({ fragment: { invitations = [], recommendations = [] } }) => ({ - invitations, - recommendations, - })), - withHandlers({ - getReportBreakdown: ({ invitations, recommendations, ...rest }) => () => { - const reviewerInvitations = invitations.filter(roleFilter('reviewer')) - const invitationsWithRecommendations = reviewerInvitations.map(r => ({ - ...r, - review: recommendations.find(rec => rec.userId === r.userId), - })) - const report = invitationsWithRecommendations.reduce(reviewerReduce, { - accepted: 0, - declined: 0, - submitted: 0, - }) - return reviewerInvitations.length ? ( - <Row fitContent justify="flex-end" {...rest}> - <Text customId mr={1 / 2}> - {reviewerInvitations.length} - </Text> - <Text mr={1 / 2}> invited,</Text> +const ReviewerBreakdown = ({ + fragment: { invitations = [], recommendations = [] }, + ...rest +}) => { + const reviewerInvitations = invitations.filter(roleFilter('reviewer')) + const invitationsWithRecommendations = reviewerInvitations.map(r => ({ + ...r, + review: recommendations.find(rec => rec.userId === r.userId), + })) + const report = invitationsWithRecommendations.reduce(reviewerReduce, { + accepted: 0, + declined: 0, + submitted: 0, + }) + return reviewerInvitations.length ? ( + <Row fitContent justify="flex-end" {...rest}> + <Text customId mr={1 / 2}> + {reviewerInvitations.length} + </Text> + <Text mr={1 / 2}> invited,</Text> - <Text customId mr={1 / 2}> - {report.accepted} - </Text> - <Text mr={1 / 2}> agreed,</Text> + <Text customId mr={1 / 2}> + {report.accepted} + </Text> + <Text mr={1 / 2}> agreed,</Text> - <Text customId mr={1 / 2}> - {report.declined} - </Text> - <Text mr={1 / 2}> declined,</Text> + <Text customId mr={1 / 2}> + {report.declined} + </Text> + <Text mr={1 / 2}> declined,</Text> - <Text customId mr={1 / 2}> - {report.submitted} - </Text> - <Text mr={1 / 2}> submitted</Text> - </Row> - ) : ( - <Text mr={1}>{`${reviewerInvitations.length} invited`}</Text> - ) - }, - }), -)(ReviewerBreakdown) + <Text customId mr={1 / 2}> + {report.submitted} + </Text> + <Text mr={1 / 2}> submitted</Text> + </Row> + ) : ( + <Text mr={1}>{`${reviewerInvitations.length} invited`}</Text> + ) +} ReviewerBreakdown.propTypes = { fragment: PropTypes.shape({ @@ -76,3 +67,5 @@ ReviewerBreakdown.defaultProps = { recommendations: [], }, } + +export default ReviewerBreakdown diff --git a/packages/component-faraday-ui/src/ReviewerReport.js b/packages/component-faraday-ui/src/ReviewerReport.js index 6eb95dc54a3963eaa4257ed0e9ee566e3c154d36..5d728ccdecab34b117fc9f4bf39050484e18a86a 100644 --- a/packages/component-faraday-ui/src/ReviewerReport.js +++ b/packages/component-faraday-ui/src/ReviewerReport.js @@ -1,23 +1,24 @@ import React, { Fragment } from 'react' import { get } from 'lodash' +import PropTypes from 'prop-types' import { withProps } from 'recompose' import styled from 'styled-components' -import { th } from '@pubsweet/ui-toolkit' import { DateParser } from '@pubsweet/ui' -import PropTypes from 'prop-types' +import { th } from '@pubsweet/ui-toolkit' + import { Label, Item, FileItem, Row, Text } from './' const ReviewerReport = ({ + journal, + showOwner, onPreview, onDownload, reportFile, - journal, publicReport, privateReport, reviewerName, reviewerIndex, recommendation, - showOwner, report: { submittedOn }, }) => ( <Root> diff --git a/packages/component-faraday-ui/src/ReviewerReportAuthor.js b/packages/component-faraday-ui/src/ReviewerReportAuthor.js index d1530006d9420da459d91e1d0d1174bfe4002030..b10503a41a43f9181e84906122e181b54af8738b 100644 --- a/packages/component-faraday-ui/src/ReviewerReportAuthor.js +++ b/packages/component-faraday-ui/src/ReviewerReportAuthor.js @@ -1,23 +1,24 @@ import React, { Fragment } from 'react' import { get } from 'lodash' -import { withProps, compose } from 'recompose' +import PropTypes from 'prop-types' import styled from 'styled-components' import { th } from '@pubsweet/ui-toolkit' import { DateParser } from '@pubsweet/ui' -import PropTypes from 'prop-types' +import { withProps, compose } from 'recompose' import { - Label, - Item, - FileItem, Row, Text, + Item, + Label, + FileItem, withFilePreview, withFileDownload, } from './' const ReviewerReportAuthor = ({ journal, + showOwner, reviewFile, previewFile, downloadFile, @@ -25,7 +26,6 @@ const ReviewerReportAuthor = ({ reviewerName, reviewerIndex, recommendation, - showOwner = false, report: { submittedOn }, }) => ( <Root> @@ -109,6 +109,7 @@ ReviewerReportAuthor.defaultProps = { report: undefined, journal: { recommendation: [] }, } + // #region styles const Root = styled.div` background-color: ${th('colorBackgroundHue')}; diff --git a/packages/component-faraday-ui/src/ReviewersTable.js b/packages/component-faraday-ui/src/ReviewersTable.js index e2ed71185f4b02ed143c477d3e5aaf013e2fb680..102e6e4032f4b9a144a5dd971403c4d88ed8fdc7 100644 --- a/packages/component-faraday-ui/src/ReviewersTable.js +++ b/packages/component-faraday-ui/src/ReviewersTable.js @@ -6,7 +6,7 @@ import { DateParser } from '@pubsweet/ui' import { get, isEqual, orderBy } from 'lodash' import { compose, shouldUpdate, withHandlers, withProps } from 'recompose' -import { Label, PersonInvitation, Text } from '../' +import { Label, PersonInvitation, Text } from './' const ReviewersTable = ({ invitations = [], diff --git a/packages/component-faraday-ui/src/Tabs.js b/packages/component-faraday-ui/src/Tabs.js index 57deca667145a9986da419d3ae33600d3210b08f..003b084c5418f0d9c45558147e2c5a6151d9610a 100644 --- a/packages/component-faraday-ui/src/Tabs.js +++ b/packages/component-faraday-ui/src/Tabs.js @@ -5,15 +5,15 @@ const Tabs = ({ items, selectedTab, changeTab, children }) => children({ selectedTab, changeTab }) Tabs.proptypes = { - /** property that sets any tab as curent selcted tab */ - selectedTab: PropTypes.func, - /** property that changes tab on click */ + /** The selected tab. */ + selectedTab: PropTypes.number, + /** Handler to change the tab. */ changeTab: PropTypes.func, } Tabs.defaultProp = { - selectedTab: undefined, - changeTab: undefined, + selectedTab: 0, + changeTab: () => {}, } export default compose( diff --git a/packages/component-faraday-ui/src/WizardFiles.js b/packages/component-faraday-ui/src/WizardFiles.js index 2d70161783ea0a7d3aa7e3273f24be80b3c580ad..99e09b45189540f5e3be6202f51eea9849286f9d 100644 --- a/packages/component-faraday-ui/src/WizardFiles.js +++ b/packages/component-faraday-ui/src/WizardFiles.js @@ -103,7 +103,16 @@ WizardFiles.propTypes = { }), ), /** Passes properties for supplementary file. */ - supplementary: PropTypes.oneOfType(PropTypes.array), + supplementary: PropTypes.arrayOf( + PropTypes.shape({ + /** Id of added cover letter file. */ + id: PropTypes.string, + /** Name of added cover letter file. */ + name: PropTypes.string, + /** Size of added cover letter file. */ + size: PropTypes.number, + }), + ), } WizardFiles.defaultProps = { manuscripts: [],