From 1327a93e23478844edbc12011c48d454d31678df Mon Sep 17 00:00:00 2001
From: Romain CREY <ext.sopra.rcrey@grandlyon.com>
Date: Wed, 1 Jul 2020 14:35:10 +0200
Subject: [PATCH] WIP: notif challenge modal EcolyoRoyal

---
 .../ChallengeList/ChallengesList.tsx               | 14 ++++++++------
 src/services/challengeDataManagerService.ts        | 12 ++++++++++--
 src/services/initDataManagerService.ts             |  7 +++++--
 3 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/src/components/ContentComponents/ChallengeList/ChallengesList.tsx b/src/components/ContentComponents/ChallengeList/ChallengesList.tsx
index 0a5fbeed1..452f80483 100644
--- a/src/components/ContentComponents/ChallengeList/ChallengesList.tsx
+++ b/src/components/ContentComponents/ChallengeList/ChallengesList.tsx
@@ -205,12 +205,14 @@ const ChallengesList: React.FC<ChallengesListProps> = ({
           </div>
         </div>
       )}
-      <ChallengeModal
-        opened={openChallengeModal}
-        challenge={ongoingChallengeModal}
-        handleCloseClick={handleCloseClick}
-        badgeStatus={ongoingChallengeModal && ongoingChallengeModal.badge}
-      />
+      {openChallengeModal && (
+        <ChallengeModal
+          opened={openChallengeModal}
+          challenge={ongoingChallengeModal}
+          handleCloseClick={handleCloseClick}
+          badgeStatus={ongoingChallengeModal && ongoingChallengeModal.badge}
+        />
+      )}
     </>
   )
 }
diff --git a/src/services/challengeDataManagerService.ts b/src/services/challengeDataManagerService.ts
index 3caae0953..00a32f05a 100644
--- a/src/services/challengeDataManagerService.ts
+++ b/src/services/challengeDataManagerService.ts
@@ -355,9 +355,17 @@ export default class ChallengeManager implements IChallengeManager {
    * the possible calculation of data based on configured fluidTypes
    */
   public getLagDays = (fluidTypes: FluidType[]): number => {
-    if (fluidTypes.includes(FluidType.WATER)) {
+    if (
+      fluidTypes &&
+      fluidTypes.length > 0 &&
+      fluidTypes.includes(FluidType.WATER)
+    ) {
       return 3
-    } else if (fluidTypes.includes(FluidType.GAS)) {
+    } else if (
+      fluidTypes &&
+      fluidTypes.length > 0 &&
+      fluidTypes.includes(FluidType.GAS)
+    ) {
       return 2
     } else {
       return 1
diff --git a/src/services/initDataManagerService.ts b/src/services/initDataManagerService.ts
index 194f9e022..68dcf4b1b 100644
--- a/src/services/initDataManagerService.ts
+++ b/src/services/initDataManagerService.ts
@@ -421,8 +421,11 @@ export default class InitDataManager {
         ) {
           // Check if we are in the viewing timezone for current challenge
           const viewingDate = cdm.getViewingDate(currentChallenge)
-          if (DateTime.local() >= viewingDate) {
-            if (currentChallenge.maxEnergy === -1) {
+          if (DateTime.local() >= viewingDate && currentChallenge.fluidTypes) {
+            if (
+              currentChallenge.maxEnergy === -1 &&
+              currentChallenge.fluidTypes
+            ) {
               const maxEnergyResult = await cdm.setMaxEnergy(
                 currentChallenge,
                 this._client,
-- 
GitLab