From 7c7a09cc89ebdd0648f268135010b039c2c62e0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Pailharey?= <rpailharey@grandlyon.com>
Date: Tue, 21 Mar 2023 14:47:09 +0100
Subject: [PATCH] fix(router): redirect to termsView when terms are not
 accepted

---
 src/components/Routes/Routes.tsx | 102 ++++++++++++++++---------------
 1 file changed, 52 insertions(+), 50 deletions(-)

diff --git a/src/components/Routes/Routes.tsx b/src/components/Routes/Routes.tsx
index 8d58879c6..851d878b8 100644
--- a/src/components/Routes/Routes.tsx
+++ b/src/components/Routes/Routes.tsx
@@ -44,61 +44,63 @@ const AppRoutes: React.FC<RouteProps> = ({ termsStatus }: RouteProps) => {
       }
     >
       <Routes>
-        {termsStatus.accepted && (
-          <Route
-            path="/terms"
-            element={<Navigate replace to="/consumption" />}
-          />
-        )}
-        <Route path="/terms" element={<TermsView />} />
         {!termsStatus.accepted && (
           <>
+            <Route path="/terms" element={<TermsView />} />
             <Route path="*" element={<Navigate replace to="/terms" />} />
-            <Route path="/" element={<Navigate replace to="/terms" />} />
           </>
         )}
-        <Route
-          path="/consumption/electricity"
-          element={<ConsumptionView fluidType={FluidType.ELECTRICITY} />}
-        />
-        <Route
-          path="/consumption/water"
-          element={<ConsumptionView fluidType={FluidType.WATER} />}
-        />
-        <Route
-          path="/consumption/gas"
-          element={<ConsumptionView fluidType={FluidType.GAS} />}
-        />
-        <Route
-          path="/consumption"
-          element={<ConsumptionView fluidType={FluidType.MULTIFLUID} />}
-        />
-        <Route path="/sge-connect" element={<SgeConnectView />} />
-        <Route path="/challenges/duel" element={<DuelView />} />
-        <Route path="/challenges/quiz" element={<QuizView />} />
-        <Route path="/challenges/exploration" element={<ExplorationView />} />
-        <Route path="/challenges/action" element={<ActionView />} />
-        <Route path="/challenges/" element={<ChallengeView />} />
-        <Route path="/ecogesture-form" element={<EcogestureFormView />} />
-        <Route path="/ecogesture-selection" element={<EcogestureSelection />} />
-        <Route
-          path="/ecogesture/:ecogestureID/:tab"
-          element={<SingleEcogesture />}
-        />
-        <Route
-          path="/ecogesture/:ecogestureID"
-          element={<SingleEcogesture />}
-        />
-        <Route path="/ecogestures" element={<EcogestureView />} />
-        <Route path="/options/legalnotice" element={<LegalNoticeView />} />
-        <Route path="/options/gcu" element={<GCUView />} />
-        <Route path="/options/:connectParam" element={<OptionsView />} />
-        <Route path="/options" element={<OptionsView />} />
-        <Route path="/analysis" element={<AnalysisView />} />
-        <Route path="/profiletype" element={<ProfileTypeView />} />
-        <Route path="/unsubscribe" element={<UnSubscribe />} />
-        <Route path="/" element={<Navigate replace to="/consumption" />} />
-        <Route path="*" element={<Navigate replace to="/consumption" />} />
+        {termsStatus.accepted && (
+          <>
+            <Route
+              path="/consumption/electricity"
+              element={<ConsumptionView fluidType={FluidType.ELECTRICITY} />}
+            />
+            <Route
+              path="/consumption/water"
+              element={<ConsumptionView fluidType={FluidType.WATER} />}
+            />
+            <Route
+              path="/consumption/gas"
+              element={<ConsumptionView fluidType={FluidType.GAS} />}
+            />
+            <Route
+              path="/consumption"
+              element={<ConsumptionView fluidType={FluidType.MULTIFLUID} />}
+            />
+            <Route path="/sge-connect" element={<SgeConnectView />} />
+            <Route path="/challenges/duel" element={<DuelView />} />
+            <Route path="/challenges/quiz" element={<QuizView />} />
+            <Route
+              path="/challenges/exploration"
+              element={<ExplorationView />}
+            />
+            <Route path="/challenges/action" element={<ActionView />} />
+            <Route path="/challenges/" element={<ChallengeView />} />
+            <Route path="/ecogesture-form" element={<EcogestureFormView />} />
+            <Route
+              path="/ecogesture-selection"
+              element={<EcogestureSelection />}
+            />
+            <Route
+              path="/ecogesture/:ecogestureID/:tab"
+              element={<SingleEcogesture />}
+            />
+            <Route
+              path="/ecogesture/:ecogestureID"
+              element={<SingleEcogesture />}
+            />
+            <Route path="/ecogestures" element={<EcogestureView />} />
+            <Route path="/options/legalnotice" element={<LegalNoticeView />} />
+            <Route path="/options/gcu" element={<GCUView />} />
+            <Route path="/options/:connectParam" element={<OptionsView />} />
+            <Route path="/options" element={<OptionsView />} />
+            <Route path="/analysis" element={<AnalysisView />} />
+            <Route path="/profiletype" element={<ProfileTypeView />} />
+            <Route path="/unsubscribe" element={<UnSubscribe />} />
+            <Route path="*" element={<Navigate replace to="/consumption" />} />
+          </>
+        )}
       </Routes>
     </Suspense>
   )
-- 
GitLab