diff --git a/src/components/ContainerComponents/FluidChartContainer/FluidChartContainer.tsx b/src/components/ContainerComponents/FluidChartContainer/FluidChartContainer.tsx index 9ba4a0a1788f6c25519ccde22bad6da27e593862..c2025e75737d9f9324d4e53ff7aa87ef66ff418e 100644 --- a/src/components/ContainerComponents/FluidChartContainer/FluidChartContainer.tsx +++ b/src/components/ContainerComponents/FluidChartContainer/FluidChartContainer.tsx @@ -32,6 +32,7 @@ const FluidChartContainer: React.FC<FluidChartContainerProps> = ({ const [lastDateWithAllData, setLastDateWithAllData] = useState<DateTime>( DateTime.local() ) + const [isMinuteActive, setMinuteActive] = useState<boolean>(false) const [referenceDate, setReferenceDate] = useState<DateTime>(DateTime.local()) const [isLoaded, setIsLoaded] = useState<boolean>(false) const [challenge, setChallenge] = useState<UserChallenge | null>(null) @@ -46,16 +47,22 @@ const FluidChartContainer: React.FC<FluidChartContainerProps> = ({ useEffect(() => { let subscribed = true async function loadData() { + const isMinute = await consumptionDataManager.checkDoctypeEntries( + fluidTypes, + timeStep + ) const data = await consumptionDataManager.fetchLastDateData(fluidTypes) const dataWithAllFluids = await consumptionDataManager.fetchLastDateData( fluidTypes, true ) if (subscribed && data) { + console.log('this is my LASTLASTLASTdata lalala : ', dataWithAllFluids) setLastDataDate(data) setReferenceDate(data) } if (subscribed && dataWithAllFluids) { + console.log('this is my LAST ALL data lalala : ', dataWithAllFluids) setLastDateWithAllData(dataWithAllFluids) } if (subscribed && currentChallenge) { diff --git a/src/components/ContentComponents/ConsumptionNavigator/ActivateHalfHourLoad.tsx b/src/components/ContentComponents/ConsumptionNavigator/ActivateHalfHourLoad.tsx new file mode 100644 index 0000000000000000000000000000000000000000..ad0fb623e1f5de0177558bc872a6d661c9da8be4 --- /dev/null +++ b/src/components/ContentComponents/ConsumptionNavigator/ActivateHalfHourLoad.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import { translate } from 'cozy-ui/react/I18n' +import { TimeStep } from 'services/dataConsumptionContracts' +import IFluidConfig from 'services/IFluidConfig' +import StyledButton from 'components/CommonKit/Button/StyledButton' + +interface ActivateHalfHourLoadProps { + timeStep: TimeStep + t: Function // translation service +} +const ActivateHalfHourLoad = ({ t }: ActivateHalfHourLoadProps) => { + const siteLink = 'https://mon-compte-client.enedis.fr/' + + return ( + <div className="cta-box"> + <div className="header-text text-16-normal"> + {t('timestep.activate.enedis.info')} + </div> + <StyledButton + type="submit" + color="primary" + onClick={() => window.open(siteLink, '_blank')} + > + {t('timestep.activate.enedis.label1')} + </StyledButton> + </div> + ) +} + +export default translate()(ActivateHalfHourLoad) diff --git a/src/components/ContentComponents/ConsumptionVisualizer/ConsumptionVisualizer.tsx b/src/components/ContentComponents/ConsumptionVisualizer/ConsumptionVisualizer.tsx index d45ca5042da8134ae5d2beaadc59081b4e53e99e..ba2bbf628b945f62aa212fb8419a56fa079d93ac 100644 --- a/src/components/ContentComponents/ConsumptionVisualizer/ConsumptionVisualizer.tsx +++ b/src/components/ContentComponents/ConsumptionVisualizer/ConsumptionVisualizer.tsx @@ -10,6 +10,7 @@ import DataloadConsumptionVisualizer from 'components/ContentComponents/Consumpt import DetailedConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/DetailedConsumptionVisualizer' import LastDataConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/LastDataConsumptionVisualizer' import ErrorDataConsumptionVisualizer from 'components/ContentComponents/ConsumptionVisualizer/ErrorDataConsumptionVisualizer' +import ActivateHalfHourLoad from '../ConsumptionNavigator/ActivateHalfHourLoad' interface ConsumptionVisualizerProps { fluidTypes: FluidType[] @@ -66,40 +67,54 @@ const ConsumptionVisualizer = ({ isLoaded={isLoaded} /> <div className="cv-info"> - {!multiFluid && dataload && dataload.value > -1 && ( - <DetailedConsumptionVisualizer - fluidTypes={fluidTypes} - timeStep={timeStep} - multiFluid={multiFluid} - handleClickDetails={handleClickDetails} - /> - )} - {dataload && - dataload.valueDetail && - ((dataload.valueDetail[0] === -1 && - !isDataToCome(dataload, fluidTypes[0])) || - (dataload.valueDetail[1] === -1 && - !isDataToCome(dataload, fluidTypes[1])) || - (dataload.valueDetail[2] === -1 && - !isDataToCome(dataload, fluidTypes[2]))) && ( - <ErrorDataConsumptionVisualizer - date={date} - indexDisplayed={indexDisplayed} - setIndexDisplayed={setIndexDisplayed} - lastDateWithAllData={lastDateWithAllData} - setSelectedDate={setSelectedDate} - /> - )} - {!dataload || + {timeStep === 10 ? ( + !dataload || (dataload && dataload.value === -1 && ( - <LastDataConsumptionVisualizer - fluidTypes={fluidTypes} - timeStep={timeStep} - multiFluid={multiFluid} - handleChangeIndex={handleChangeIndex} - /> - ))} + <ActivateHalfHourLoad timeStep={timeStep} /> + )) + ) : ( + <div> + {!multiFluid && dataload && dataload.value > -1 && ( + <DetailedConsumptionVisualizer + fluidTypes={fluidTypes} + timeStep={timeStep} + multiFluid={multiFluid} + handleClickDetails={handleClickDetails} + /> + )} + {dataload && + dataload.valueDetail && + ((dataload.valueDetail[0] === -1 && + !isDataToCome(dataload, fluidTypes[0])) || + (dataload.valueDetail[1] === -1 && + !isDataToCome(dataload, fluidTypes[1])) || + (dataload.valueDetail[2] === -1 && + !isDataToCome(dataload, fluidTypes[2]))) && ( + <ErrorDataConsumptionVisualizer + date={date} + indexDisplayed={indexDisplayed} + setIndexDisplayed={setIndexDisplayed} + lastDateWithAllData={lastDateWithAllData} + setSelectedDate={setSelectedDate} + /> + )} + {!dataload || + (dataload && dataload.value === -1 && ( + <LastDataConsumptionVisualizer + fluidTypes={fluidTypes} + timeStep={timeStep} + multiFluid={multiFluid} + handleChangeIndex={handleChangeIndex} + /> + ))} + </div> + )} </div> + {/* {timeStep === 10 && ( + !dataload || + (dataload && dataload.value === -1 && ( + <ActivateHalfHourLoad timeStep={timeStep} /> + )))} */} </div> ) } diff --git a/src/locales/en.json b/src/locales/en.json index 8f90c311f7835ae7b2c01ee6d62cab01b35852ab..396406c2d031e73d4434ebc0f09a08740a19a881 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -196,5 +196,14 @@ "window": { "title": "OAuth" } + }, + "timestep": { + "activate": { + "enedis": { + "info": "Pour visualiser vos consommations à la 1/2 heure, il vous faut valider l'activation de l'enregistrement de votre consommation horaire sur votre compte Enedis", + "label1": "Activer sur Enedis", + "activateLink": "https://mon-compte-client.enedis.fr/" + } + } } } diff --git a/src/services/consumptionDataManagerService.ts b/src/services/consumptionDataManagerService.ts index 67464a3ff11e366444b7964c044a93e6dd2e0fba..2bc7d627d3a9f385f1d8c156155ca348bc9f8b9f 100644 --- a/src/services/consumptionDataManagerService.ts +++ b/src/services/consumptionDataManagerService.ts @@ -257,6 +257,7 @@ export default class ConsumptionDataManager implements IConsumptionDataManager { fluidTypes: FluidType[], allFluids?: boolean ): Promise<DateTime | null> { + console.log('you called fetchlastdataDATA') let lastDay = null if (fluidTypes.length === 1) { lastDay = (await this._queryRunner.getLastDateData(fluidTypes[0])) || null @@ -287,6 +288,14 @@ export default class ConsumptionDataManager implements IConsumptionDataManager { return lastDay } + public async checkDoctypeEntries( + fluideType: FluidType[], + timeStep: TimeStep + ) { + //GET RELEVANT DOCTYPE + //QUERY RUNNER THIS DOCTYPE AND CHECK LENGTH + } + private aggregateGraphData( singleFluidCharts: ISingleFluidChartData[] //,withComparison: boolean = true diff --git a/src/services/queryRunnerService.ts b/src/services/queryRunnerService.ts index 729da2df1e9972e491e382496fe4c41dd8095bda..81644decd55540a1f9f5696e042461e51e8cbc8b 100644 --- a/src/services/queryRunnerService.ts +++ b/src/services/queryRunnerService.ts @@ -265,7 +265,6 @@ export class QueryRunner { } break } - return predicate } diff --git a/src/styles/base/_layout.scss b/src/styles/base/_layout.scss index c7cc19fdf95b2df2683a60b4ef3612ea6d744663..0d45f0213828f343eb99b8f11856504bd6b2953c 100644 --- a/src/styles/base/_layout.scss +++ b/src/styles/base/_layout.scss @@ -122,6 +122,12 @@ body { } } +.cta-box { + width: 100%; + opacity: 1; + color: $text-bright +} + [role='main'] { /* width */ &::-webkit-scrollbar {