From c41d79d82cc490880982504b74ff4c4e5f22442a Mon Sep 17 00:00:00 2001
From: Giannis Kopanas <jkopanas@gmail.com>
Date: Mon, 14 May 2018 14:52:17 +0300
Subject: [PATCH] fix(components): rewrite conditional checks to more clean

---
 .../xpub-submit/src/components/Suggestions.js   | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/packages/components/xpub-submit/src/components/Suggestions.js b/packages/components/xpub-submit/src/components/Suggestions.js
index 0f315bd63..59ebeec63 100644
--- a/packages/components/xpub-submit/src/components/Suggestions.js
+++ b/packages/components/xpub-submit/src/components/Suggestions.js
@@ -93,8 +93,6 @@ const SuggestionsEditable = ({ readonly }) => (
   </FormSection>
 )
 
-const arrayToText = text => (text.length === 0 ? ['none'] : text).join(', ')
-
 const SuggestionsNonEditable = ({ readonly, version }) => {
   const suggestions = version.suggestions || {}
 
@@ -102,20 +100,27 @@ const SuggestionsNonEditable = ({ readonly, version }) => {
     <Section id="suggestions.reviewers">
       <Legend>Suggested or opposed reviewers</Legend>
       <SubLegend>Suggested reviewers</SubLegend>
-      <div>{arrayToText((suggestions.reviewers || {}).suggested || [])}</div>
+      <div>{suggestionsText(suggestions.reviewers, 'suggested')}</div>
       <SubLegend>Opposed reviewers</SubLegend>
-      <div>{arrayToText((suggestions.reviewers || {}).opposed || [])}</div>
+      <div>{suggestionsText(suggestions.reviewers, 'opposed')}</div>
     </Section>,
     <Section id="suggestions.editors">
       <Legend>Suggested or opposed editors</Legend>
       <SubLegend>Suggested editors</SubLegend>
-      <div>{arrayToText((suggestions.editors || {}).suggested || [])}</div>
+      <div>{suggestionsText(suggestions.editors, 'suggested')}</div>
       <SubLegend>Opposed editors</SubLegend>
-      <div>{arrayToText((suggestions.editors || {}).opposed || [])}</div>
+      <div>{suggestionsText(suggestions.editors, 'opposed')}</div>
     </Section>,
   ]
 }
 
+const suggestionsText = (source, property) => {
+  if (source && Array.isArray(source[property]) && !!source[property].length) {
+    return source[property].join(', ')
+  }
+  return 'none'
+}
+
 export default branch(
   ({ readonly }) => readonly === true,
   renderComponent(SuggestionsNonEditable),
-- 
GitLab