From c74d7d582a499199fce8427719a1ee4521f16220 Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Thu, 19 Apr 2018 18:35:45 +0300
Subject: [PATCH] fix: fix reviewers list

---
 .../src/components/Dashboard/DashboardCard.js               | 5 ++++-
 .../src/components/Dashboard/ReviewerReports.js             | 2 +-
 .../src/components/Reviewers/InviteReviewers.js             | 6 +++---
 .../src/components/Reviewers/ReviewerList.js                | 4 +++-
 packages/components-faraday/src/redux/reviewers.js          | 3 ++-
 5 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/packages/components-faraday/src/components/Dashboard/DashboardCard.js b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
index 3352e82c3..d9ce07889 100644
--- a/packages/components-faraday/src/components/Dashboard/DashboardCard.js
+++ b/packages/components-faraday/src/components/Dashboard/DashboardCard.js
@@ -38,6 +38,7 @@ const DashboardCard = ({
   const { submitted, title, type } = parseVersion(version)
   const metadata = get(version, 'metadata')
   const files = get(version, 'files')
+  const invitations = get(project, 'invitations') || []
   const customId = project.customId || project.id.split('-')[0]
   const hasFiles = files ? Object.values(files).some(f => f.length > 0) : false
   const journalIssueType = parseJournalIssue(journal, metadata)
@@ -159,7 +160,9 @@ const DashboardCard = ({
             </LeftDetails>
             {canInviteReviewers() && (
               <RightDetails flex={4}>
-                <ReviewerReports project={project} />
+                <ReviewerReports
+                  invitations={invitations.filter(i => i.role === 'reviewer')}
+                />
                 <InviteReviewers
                   modalKey={`invite-reviewers-${project.id}`}
                   project={project}
diff --git a/packages/components-faraday/src/components/Dashboard/ReviewerReports.js b/packages/components-faraday/src/components/Dashboard/ReviewerReports.js
index ae3b7cdf0..b7adb7ede 100644
--- a/packages/components-faraday/src/components/Dashboard/ReviewerReports.js
+++ b/packages/components-faraday/src/components/Dashboard/ReviewerReports.js
@@ -2,7 +2,7 @@ import React from 'react'
 import { th } from '@pubsweet/ui'
 import styled, { css } from 'styled-components'
 
-const ReviewerReports = ({ project: { invitations = [] } }) => {
+const ReviewerReports = ({ invitations }) => {
   const accepted = invitations.filter(i => i.isAccepted).length
   return (
     <ReviewerText>{`Reviewer reports (${accepted}/${
diff --git a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
index e245a2906..15895bc3c 100644
--- a/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
+++ b/packages/components-faraday/src/components/Reviewers/InviteReviewers.js
@@ -13,7 +13,7 @@ import {
   getCollectionReviewers,
   selectReviewers,
   selectFetchingReviewers,
-  selectFechingInvite,
+  selectFetchingInvite,
 } from '../../redux/reviewers'
 
 const InviteReviewers = ({ showInviteModal }) => (
@@ -26,7 +26,7 @@ const InviteReviewersModal = compose(
     state => ({
       reviewers: selectReviewers(state),
       fetchingReviewers: selectFetchingReviewers(state),
-      fetchingInvite: selectFechingInvite(state),
+      fetchingInvite: selectFetchingInvite(state),
     }),
     { getCollectionReviewers },
   ),
@@ -86,7 +86,7 @@ const InviteReviewersModal = compose(
 
 const ModalSwitcher = compose(
   connect(state => ({
-    fetchingInvite: selectFechingInvite(state),
+    fetchingInvite: selectFetchingInvite(state),
   })),
 )(({ type, fetchingInvite, ...rest }) => {
   switch (type) {
diff --git a/packages/components-faraday/src/components/Reviewers/ReviewerList.js b/packages/components-faraday/src/components/Reviewers/ReviewerList.js
index 13c092285..4dcf29933 100644
--- a/packages/components-faraday/src/components/Reviewers/ReviewerList.js
+++ b/packages/components-faraday/src/components/Reviewers/ReviewerList.js
@@ -47,12 +47,14 @@ const ReviewersList = ({
               <StatusText>{r.status}</StatusText>
               <DateText>{renderTimestamp(r.timestamp)}</DateText>
             </Column>
-            {r.status !== 'accepted' && (
+            {r.status !== 'accepted' ? (
               <ResendRevoke
                 showConfirmResend={showConfirmResend(r)}
                 showConfirmRevoke={showConfirmRevoke(r.invitationId)}
                 status={r.status}
               />
+            ) : (
+              <Column />
             )}
           </ReviewerItem>
         ))}
diff --git a/packages/components-faraday/src/redux/reviewers.js b/packages/components-faraday/src/redux/reviewers.js
index 1be269eac..1a7cd5004 100644
--- a/packages/components-faraday/src/redux/reviewers.js
+++ b/packages/components-faraday/src/redux/reviewers.js
@@ -69,7 +69,7 @@ const initialState = {
 export const selectReviewers = state => get(state, 'reviewers.reviewers') || []
 export const selectFetchingReviewers = state =>
   get(state, 'reviewers.fetching.reviewers') || false
-export const selectFechingInvite = state =>
+export const selectFetchingInvite = state =>
   get(state, 'reviewers.fetching.invite') || false
 export const selectFetchingDecision = state =>
   get(state, 'reviewers.fetching.decision') || false
@@ -146,6 +146,7 @@ export default (state = initialState, action = {}) => {
           ...state.fetching,
           reviewers: true,
         },
+        reviewers: [],
       }
     case GET_REVIEWERS_ERROR:
       return {
-- 
GitLab