From fb20c0d786547b3be642b1f7bbb5b98e08088679 Mon Sep 17 00:00:00 2001
From: Bastien Dumont <bdumont@grandlyon.com>
Date: Fri, 3 May 2024 15:28:31 +0200
Subject: [PATCH] chore: cleanup before v3

---
 .../Action/ActionChoose/ActionChoose.spec.tsx |  1 -
 .../Analysis/Comparison/Comparison.tsx        | 33 +------------------
 .../Comparison/FluidPerformanceIndicator.tsx  | 27 ++++++++++++---
 .../GRDFConnect/GrdfConnectView.tsx           |  2 +-
 .../Hooks/useUserInstanceSettings.tsx         |  4 +--
 src/components/WelcomeModal/WelcomeModal.tsx  |  2 +-
 6 files changed, 27 insertions(+), 42 deletions(-)

diff --git a/src/components/Action/ActionChoose/ActionChoose.spec.tsx b/src/components/Action/ActionChoose/ActionChoose.spec.tsx
index 936d23c5f..a2c2d2e70 100644
--- a/src/components/Action/ActionChoose/ActionChoose.spec.tsx
+++ b/src/components/Action/ActionChoose/ActionChoose.spec.tsx
@@ -12,7 +12,6 @@ import {
 import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ActionChoose from './ActionChoose'
 
-// jest.mock('components/Action/ActionBegin/ActionBegin', () => 'mock-ActionBegin')
 jest.mock('components/Action/ActionList/ActionList', () => 'mock-ActionList')
 
 jest.mock('services/ecogesture.service', () => {
diff --git a/src/components/Analysis/Comparison/Comparison.tsx b/src/components/Analysis/Comparison/Comparison.tsx
index afa648f2e..927e1094c 100644
--- a/src/components/Analysis/Comparison/Comparison.tsx
+++ b/src/components/Analysis/Comparison/Comparison.tsx
@@ -5,10 +5,8 @@ import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { FluidType, TimeStep } from 'enums'
 import { PerformanceIndicator } from 'models'
 import React, { useEffect, useMemo, useState } from 'react'
-import { useNavigate } from 'react-router-dom'
 import ConsumptionService from 'services/consumption.service'
 import { setPeriod } from 'store/analysis/analysis.slice'
-import { setCurrentTimeStep, setShowCompare } from 'store/chart/chart.slice'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import FluidPerformanceIndicator from './FluidPerformanceIndicator'
 import TemperatureComparison from './TemperatureComparison'
@@ -23,12 +21,11 @@ const Comparison = ({
 }) => {
   const { t } = useI18n()
   const client = useClient()
-  const navigate = useNavigate()
+  const dispatch = useAppDispatch()
   const {
     global: { fluidTypes },
     analysis: { period, analysisMonth },
   } = useAppSelector(state => state.ecolyo)
-  const dispatch = useAppDispatch()
   const [yearPerformanceIndicators, setYearPerformanceIndicators] = useState<
     PerformanceIndicator[]
   >([])
@@ -100,33 +97,6 @@ const Comparison = ({
     dispatch,
   ])
 
-  const handleFluidClick = (fluid: FluidType) => {
-    let fluidTypeText: string
-
-    switch (fluid) {
-      case FluidType.ELECTRICITY:
-        fluidTypeText = 'electricity'
-        break
-      case FluidType.WATER:
-        fluidTypeText = 'water'
-        break
-      case FluidType.GAS:
-        fluidTypeText = 'gas'
-        break
-      default:
-        fluidTypeText = 'unknown'
-    }
-
-    const url = `/consumption/${fluidTypeText}`
-    dispatch(setCurrentTimeStep(TimeStep.MONTH))
-    if (period === 'year') {
-      dispatch(setShowCompare(true))
-    } else {
-      dispatch(setShowCompare(false))
-    }
-    navigate(url)
-  }
-
   return (
     <div className="comparison">
       {!isLoading && (
@@ -189,7 +159,6 @@ const Comparison = ({
                   ? periods.previousMonthPeriod.startDate
                   : periods.previousYearPeriod.startDate
               }
-              onClickHandler={() => handleFluidClick(fluid)}
             />
           ))}
       </div>
diff --git a/src/components/Analysis/Comparison/FluidPerformanceIndicator.tsx b/src/components/Analysis/Comparison/FluidPerformanceIndicator.tsx
index 7a61814c8..1c193147d 100644
--- a/src/components/Analysis/Comparison/FluidPerformanceIndicator.tsx
+++ b/src/components/Analysis/Comparison/FluidPerformanceIndicator.tsx
@@ -1,27 +1,32 @@
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
-import { FluidType } from 'enums'
+import { FluidType, TimeStep } from 'enums'
 import { DateTime } from 'luxon'
 import { PerformanceIndicator } from 'models'
 import React from 'react'
+import { useNavigate } from 'react-router-dom'
+import { setCurrentTimeStep, setShowCompare } from 'store/chart/chart.slice'
+import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { getPicto } from 'utils/picto'
-import { formatNumberValues, getMonthName } from 'utils/utils'
+import { formatNumberValues, getFluidName, getMonthName } from 'utils/utils'
 import './fluidPerformanceIndicator.scss'
 
 interface FluidPerformanceIndicatorProps {
   performanceIndicator: PerformanceIndicator
   fluidType: FluidType
   comparisonDate: DateTime
-  onClickHandler?: () => void
 }
 
 const FluidPerformanceIndicator = ({
   performanceIndicator,
   fluidType,
   comparisonDate,
-  onClickHandler,
 }: FluidPerformanceIndicatorProps) => {
   const { t } = useI18n()
+  const navigate = useNavigate()
+  const dispatch = useAppDispatch()
+  const { period } = useAppSelector(state => state.ecolyo.analysis)
+
   const iconType = getPicto(fluidType)
   const displayedValue = performanceIndicator?.value
     ? formatNumberValues(performanceIndicator.value).toString()
@@ -37,8 +42,20 @@ const FluidPerformanceIndicator = ({
     }
   }
 
+  const handleFluidClick = (fluid: FluidType) => {
+    const fluidName = getFluidName(fluid)
+    const url = `/consumption/${fluidName}`
+    dispatch(setCurrentTimeStep(TimeStep.MONTH))
+    if (period === 'year') {
+      dispatch(setShowCompare(true))
+    } else {
+      dispatch(setShowCompare(false))
+    }
+    navigate(url)
+  }
+
   return (
-    <button className="fpi" onClick={onClickHandler}>
+    <button className="fpi" onClick={() => handleFluidClick(fluidType)}>
       <StyledIcon icon={iconType} size={50} />
       <div className="fpi-content">
         {!displayedValue && (
diff --git a/src/components/Connection/GRDFConnect/GrdfConnectView.tsx b/src/components/Connection/GRDFConnect/GrdfConnectView.tsx
index 0ec4d939b..8923b875d 100644
--- a/src/components/Connection/GRDFConnect/GrdfConnectView.tsx
+++ b/src/components/Connection/GRDFConnect/GrdfConnectView.tsx
@@ -21,7 +21,7 @@ export enum GrdfStep {
 
 export const GrdfConnectView = () => {
   const navigate = useNavigate()
-  const { data: instanceSettings } = useUserInstanceSettings()
+  const { instanceSettings } = useUserInstanceSettings()
   const { fluidStatus } = useAppSelector(state => state.ecolyo.global)
   const currentFluidStatus = fluidStatus[FluidType.GAS]
   const account = currentFluidStatus.connection.account
diff --git a/src/components/Hooks/useUserInstanceSettings.tsx b/src/components/Hooks/useUserInstanceSettings.tsx
index 5a8ec6838..5fe6bfdc2 100644
--- a/src/components/Hooks/useUserInstanceSettings.tsx
+++ b/src/components/Hooks/useUserInstanceSettings.tsx
@@ -18,7 +18,7 @@ interface UserInstanceSettingsAttributes {
 }
 
 const useUserInstanceSettings = (): {
-  data: UserInstanceSettingsAttributes
+  instanceSettings: UserInstanceSettingsAttributes
 } => {
   const client = useClient()
   const [settings, setSettings] = useState<UserInstanceSettingsAttributes>({
@@ -42,7 +42,7 @@ const useUserInstanceSettings = (): {
   }, [client])
 
   return {
-    data: settings,
+    instanceSettings: settings,
   }
 }
 
diff --git a/src/components/WelcomeModal/WelcomeModal.tsx b/src/components/WelcomeModal/WelcomeModal.tsx
index 7af1db715..c61135791 100644
--- a/src/components/WelcomeModal/WelcomeModal.tsx
+++ b/src/components/WelcomeModal/WelcomeModal.tsx
@@ -19,7 +19,7 @@ const WelcomeModal = ({ open }: { open: boolean }) => {
   const { t } = useI18n()
   const client = useClient()
   const dispatch = useAppDispatch()
-  const { data: instanceSettings } = useUserInstanceSettings()
+  const { instanceSettings } = useUserInstanceSettings()
 
   const setWelcomeModalViewed = useCallback(async () => {
     const mailService = new MailService()
-- 
GitLab