From fb073a6dca15f2c424860336ee6f7c8769e4da3a Mon Sep 17 00:00:00 2001 From: Yinyin Liu Date: Tue, 16 Dec 2025 12:53:40 +0100 Subject: [PATCH] added start time< stop time check --- .../SodistoreHomeConfiguration.tsx | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/SodistoreHomeConfiguration.tsx b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/SodistoreHomeConfiguration.tsx index e3b89b905..08a5ccb41 100644 --- a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/SodistoreHomeConfiguration.tsx +++ b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/SodistoreHomeConfiguration.tsx @@ -114,8 +114,31 @@ function SodistoreHomeConfiguration(props: SodistoreHomeConfigurationProps) { }); }; +// Add time validation function + const validateTimeOnly = () => { + if (formValues.startTimeChargeandDischargeDayandTime && + formValues.stopTimeChargeandDischargeDayandTime) { + const startHours = formValues.startTimeChargeandDischargeDayandTime.getHours(); + const startMinutes = formValues.startTimeChargeandDischargeDayandTime.getMinutes(); + const stopHours = formValues.stopTimeChargeandDischargeDayandTime.getHours(); + const stopMinutes = formValues.stopTimeChargeandDischargeDayandTime.getMinutes(); + + const startTimeInMinutes = startHours * 60 + startMinutes; + const stopTimeInMinutes = stopHours * 60 + stopMinutes; + + if (startTimeInMinutes >= stopTimeInMinutes) { + setDateSelectionError('Stop time must be later than start time'); + setErrorDateModalOpen(true); + return false; + } + } + return true; + }; + const handleSubmit = async (e) => { - // console.log('asked for', dayjs(formValues.calibrationChargeDate)); + if (!validateTimeOnly()) { + return; + } const configurationToSend: Partial = { minimumSoC: formValues.minimumSoC, maximumDischargingCurrent: formValues.maximumDischargingCurrent, @@ -453,7 +476,7 @@ function SodistoreHomeConfiguration(props: SodistoreHomeConfigurationProps) {