[#285] added duration enforcement to date and time in dateTimeFields (#343)

Co-authored-by: Camille Moussu <cmoussu@linagora.com>
This commit is contained in:
Camille Moussu
2025-11-25 11:16:45 +01:00
committed by GitHub
parent fd588b4749
commit 25078c783e
4 changed files with 498 additions and 176 deletions
+9 -8
View File
@@ -265,9 +265,9 @@ export default function EventFormFields({
// Change handlers for 4 separate fields
const handleStartDateChange = React.useCallback(
(newDate: string) => {
(newDate: string, newTime?: string) => {
setStartDate(newDate);
const newStart = combineDateTime(newDate, startTime);
const newStart = combineDateTime(newDate, newTime ? newTime : startTime);
if (onStartChange) {
onStartChange(newStart);
@@ -279,9 +279,9 @@ export default function EventFormFields({
);
const handleStartTimeChange = React.useCallback(
(newTime: string) => {
(newTime: string, newDate?: string) => {
setStartTime(newTime);
const newStart = combineDateTime(startDate, newTime);
const newStart = combineDateTime(newDate ? newDate : startDate, newTime);
if (onStartChange) {
onStartChange(newStart);
} else {
@@ -292,13 +292,13 @@ export default function EventFormFields({
);
const handleEndDateChange = React.useCallback(
(newDate: string) => {
(newDate: string, newTime?: string) => {
setEndDate(newDate);
// Track if user changed end date in extended mode
if (showMore) {
setHasEndDateChanged(true);
}
const newEnd = combineDateTime(newDate, endTime);
const newEnd = combineDateTime(newDate, newTime ? newTime : endTime);
if (onEndChange) {
onEndChange(newEnd);
} else {
@@ -309,9 +309,10 @@ export default function EventFormFields({
);
const handleEndTimeChange = React.useCallback(
(newTime: string) => {
(newTime: string, newDate?: string) => {
setEndTime(newTime);
const newEnd = combineDateTime(endDate, newTime);
const newEnd = combineDateTime(newDate ? newDate : endDate, newTime);
if (onEndChange) {
onEndChange(newEnd);
} else {