From 017eeeb18ec5e5c3a745667ffe0fdca4c70bbeae Mon Sep 17 00:00:00 2001 From: Bastien Dumont <bdumont@grandlyon.com> Date: Fri, 12 Apr 2024 14:21:43 +0200 Subject: [PATCH] fix: add wait consent modal --- .../Connection/GRDFConnect/GrdfWaitConsent.tsx | 14 ++++++++++---- src/components/Consumption/ConsumptionView.tsx | 2 +- .../__snapshots__/EcogestureTabsView.spec.tsx.snap | 12 ++++++++++++ src/components/Konnector/KonnectorModal.tsx | 8 ++++++++ 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/components/Connection/GRDFConnect/GrdfWaitConsent.tsx b/src/components/Connection/GRDFConnect/GrdfWaitConsent.tsx index 361ef2f05..ebf1c6c46 100644 --- a/src/components/Connection/GRDFConnect/GrdfWaitConsent.tsx +++ b/src/components/Connection/GRDFConnect/GrdfWaitConsent.tsx @@ -10,7 +10,11 @@ import { updateFluidConnection } from 'store/global/global.slice' import { useAppDispatch, useAppSelector } from 'store/hooks' import './GrdfWaitConsent.scss' -export const GrdfWaitConsent = () => { +export const GrdfWaitConsent = ({ + showRelaunch, +}: { + showRelaunch: boolean +}) => { const { t } = useI18n() const dispatch = useAppDispatch() const { fluidStatus } = useAppSelector(state => state.ecolyo.global) @@ -54,9 +58,11 @@ export const GrdfWaitConsent = () => { <br /> <span>{t('auth.grdfgrandlyon.waiting.comeback')}</span> </div> - <Button className="btnPrimary" onClick={updateKonnector}> - {t('auth.grdfgrandlyon.waiting.button_done')} - </Button> + {showRelaunch && ( + <Button className="btnPrimary" onClick={updateKonnector}> + {t('auth.grdfgrandlyon.waiting.button_done')} + </Button> + )} </div> ) } diff --git a/src/components/Consumption/ConsumptionView.tsx b/src/components/Consumption/ConsumptionView.tsx index 3bfe524ba..0510564bc 100644 --- a/src/components/Consumption/ConsumptionView.tsx +++ b/src/components/Consumption/ConsumptionView.tsx @@ -226,7 +226,7 @@ const ConsumptionView = ({ fluidType }: { fluidType: FluidType }) => { <FluidButtons activeFluid={fluidType} key={updateKey} /> {isWaitingForConsent ? ( - <GrdfWaitConsent /> + <GrdfWaitConsent showRelaunch={true} /> ) : ( <> {showOfflineData && ( diff --git a/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap index e3dd07024..30c44f9bc 100644 --- a/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap +++ b/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap @@ -369,6 +369,9 @@ exports[`EcogestureView component should render empty list 1`] = ` > ecogesture.emptyList.btn1 </span> + <span + class="MuiTouchRipple-root" + /> </button> <button aria-label="ecogesture.emptyList.btn2" @@ -381,6 +384,9 @@ exports[`EcogestureView component should render empty list 1`] = ` > ecogesture.emptyList.btn2 </span> + <span + class="MuiTouchRipple-root" + /> </button> </div> </div> @@ -432,6 +438,9 @@ exports[`EcogestureView component should render empty list 1`] = ` > ecogesture.emptyList.btn1 </span> + <span + class="MuiTouchRipple-root" + /> </button> <button aria-label="ecogesture.emptyList.btn2" @@ -444,6 +453,9 @@ exports[`EcogestureView component should render empty list 1`] = ` > ecogesture.emptyList.btn2 </span> + <span + class="MuiTouchRipple-root" + /> </button> </div> </div> diff --git a/src/components/Konnector/KonnectorModal.tsx b/src/components/Konnector/KonnectorModal.tsx index 5d89e4ee4..c03c05a0b 100644 --- a/src/components/Konnector/KonnectorModal.tsx +++ b/src/components/Konnector/KonnectorModal.tsx @@ -4,6 +4,7 @@ import EnedisIcon from 'assets/icons/ico/consent-outdated-enedis.svg' import errorIcon from 'assets/icons/visu/data-nok.svg' import successIcon from 'assets/icons/visu/data-ok.svg' import classNames from 'classnames' +import { GrdfWaitConsent } from 'components/Connection/GRDFConnect/GrdfWaitConsent' import Loader from 'components/Loader/Loader' import connectionWaitingText from 'constants/connectionWaitingText.json' import firstConnectionWaitingText from 'constants/firstConnectionWaitingText.json' @@ -263,8 +264,15 @@ const KonnectorModal = ({ </div> </div> )} + {/* Wait consent alert */} + {error === KonnectorError.CHALLENGE_ASKED && + fluidType === FluidType.GAS && ( + <GrdfWaitConsent showRelaunch={false} /> + )} + {error !== KonnectorError.LOGIN_FAILED && error !== KonnectorError.TERMS_VERSION_MISMATCH && + error !== KonnectorError.CHALLENGE_ASKED && error !== KonnectorError.USER_ACTION_NEEDED_ACCOUNT_REMOVED && ( // DEFAULT CASE -- GitLab