From 668919d06c36f32a83776d318b74795e8d86067d Mon Sep 17 00:00:00 2001 From: nncluzu Date: Tue, 17 Sep 2024 17:41:47 +0200 Subject: [PATCH] ui-core: enhance timePicker to increment and decrement hours at minutes boundaries Signed-off-by: nncluzu --- ui-core/src/components/inputs/TimePicker.tsx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ui-core/src/components/inputs/TimePicker.tsx b/ui-core/src/components/inputs/TimePicker.tsx index 5e116c5ac..0d13258c9 100644 --- a/ui-core/src/components/inputs/TimePicker.tsx +++ b/ui-core/src/components/inputs/TimePicker.tsx @@ -37,10 +37,17 @@ const TimePicker = ({ onTimeChange, hours = 0, minutes = 0, ...otherProps }: Tim const inputRef = useRef(null); const incrementMinute = (increment: number) => { - const newMinutes = minutes + increment; - if (newMinutes >= 0 && newMinutes <= 59) { - onTimeChange({ hours, minutes: newMinutes }); + let newMinutes = minutes + increment; + let newHours = hours; + + if (newMinutes >= 60) { + newMinutes = 0; + newHours = newHours === 23 ? 0 : newHours + 1; + } else if (newMinutes < 0) { + newMinutes = 59; + newHours = newHours === 0 ? 23 : newHours - 1; } + onTimeChange({ hours: newHours, minutes: newMinutes }); }; const handleChange = (event: React.ChangeEvent) => {