From f88c5165f68fbb709f9007d30d969b23962c2254 Mon Sep 17 00:00:00 2001
From: Tania Fecheta <tania.fecheta@thinslices.com>
Date: Thu, 11 Oct 2018 10:44:35 +0300
Subject: [PATCH] feat(reviewerDetails): reviewer details & reports box starts
 expanded when it's time for HE to make

---
 packages/component-faraday-selectors/src/index.js         | 5 ++---
 .../src/contextualBoxes/HERecommendation.js               | 2 +-
 .../src/contextualBoxes/ReviewerDetails.js                | 6 +++---
 .../src/components/ManuscriptLayout.js                    | 3 ++-
 .../component-manuscript/src/components/ManuscriptPage.js | 8 +++-----
 5 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/packages/component-faraday-selectors/src/index.js b/packages/component-faraday-selectors/src/index.js
index 7977775eb..925aac7a8 100644
--- a/packages/component-faraday-selectors/src/index.js
+++ b/packages/component-faraday-selectors/src/index.js
@@ -236,15 +236,14 @@ export const getInvitationsWithReviewersForFragment = (state, fragmentId) =>
     .value()
 
 export const canMakeHERecommendation = (state, { collection, statuses }) => {
-  const { isAccepted, id: heId } = get(collection, 'handlingEditor', {})
-  const validHe = isAccepted && get(state, 'currentUser.user.id', '') === heId
+  const validHE = isHEToManuscript(state, get(collection, 'id', ''))
   const statusImportance = get(
     statuses,
     `${get(collection, 'status', 'draft')}.importance`,
     1,
   )
 
-  return statusImportance > 1 && statusImportance < 9 && validHe
+  return statusImportance > 1 && statusImportance < 9 && validHE
 }
 
 // #region Editorial and reviewer recommendations
diff --git a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
index 6b13b4822..b6184d7fb 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
@@ -47,7 +47,7 @@ const HERecommendation = ({
   highlight,
 }) => (
   <ContextualBox
-    highlight={!!hasReviewerReports}
+    highlight={highlight}
     label="Your Editorial Recommendation"
     mb={2}
   >
diff --git a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
index 7ad59ddf4..481269011 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/ReviewerDetails.js
@@ -32,18 +32,18 @@ const ReviewerDetails = ({
   onRevokeReviewerInvite,
   toggle,
   expanded,
+  highlight,
   canViewReviewersDetails,
   ...rest
 }) =>
   canViewReviewersDetails ? (
     <ContextualBox
-      expanded={!!reports.length}
-      highlight={reports.length === 0}
+      expanded={expanded}
+      highlight={highlight}
       label="Reviewer Details & Reports"
       rightChildren={
         <ReviewerBreakdown fitContent fragment={fragment} mr={1} />
       }
-      startExpanded
       toggle={toggle}
       {...rest}
     >
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 5bf698e9c..2450088df 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -168,10 +168,10 @@ const ManuscriptLayout = ({
             expanded={reviewerDetailsExpanded}
             fragment={fragment}
             getSignedUrl={getSignedUrl}
+            highlight={reviewerReports.length === 0}
             invitations={invitationsWithReviewers}
             journal={journal}
             mb={2}
-            mt={2}
             onInviteReviewer={onInviteReviewer}
             onResendReviewerInvite={onResendReviewerInvite}
             onRevokeReviewerInvite={onRevokeReviewerInvite}
@@ -185,6 +185,7 @@ const ManuscriptLayout = ({
           <HERecommendation
             formValues={get(formValues, 'editorialRecommendation', {})}
             hasReviewerReports={reviewerRecommendations.length > 0}
+            highlight={reviewerRecommendations.length > 0}
             modalKey="heRecommendation"
             onRecommendationSubmit={onEditorialRecommendation}
           />
diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index 717de92e5..aa69fb6d1 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -146,10 +146,7 @@ export default compose(
         isInvitedHE: !isUndefined(pendingHEInvitation),
         isInvitedToReview: !isUndefined(pendingReviewerInvitation),
         isReviewer: currentUserIsReviewer(state, get(fragment, 'id', '')),
-        isHEToManuscript: isHEToManuscript(state, {
-          collectionId: get(collection, 'id', ''),
-          statuses: get(journal, 'statuses', {}),
-        }),
+        isHEToManuscript: isHEToManuscript(state, get(collection, 'id', '')),
         permissions: {
           canMakeHERecommendation: canMakeHERecommendation(state, {
             collection,
@@ -441,6 +438,7 @@ export default compose(
         history,
         location,
         shouldReview,
+        reviewerReports,
         setEditorInChief,
         clearCustomError,
         hasManuscriptFailure,
@@ -478,7 +476,7 @@ export default compose(
         this.props.toggleReviewerRecommendations()
       }
 
-      if (isHEToManuscript) {
+      if (isHEToManuscript && !!reviewerReports.length) {
         this.props.toggleReviewerDetails()
       }
     },
-- 
GitLab