fixed impossible event dates input

This commit is contained in:
ivic00
2025-01-22 21:41:24 +01:00
parent 5333b8cbb7
commit ba3ea5a6d2

View File

@ -34,9 +34,10 @@ import {useGetFamilyMembers} from "@/hooks/firebase/useGetFamilyMembers";
import DeleteEventDialog from "./DeleteEventDialog";
import {useDeleteEvent} from "@/hooks/firebase/useDeleteEvent";
import AddPersonIcon from "@/assets/svgs/AddPersonIcon";
import {addHours, format, startOfMinute} from "date-fns";
import {addHours, format, isAfter, isSameDay, startOfMinute} from "date-fns";
import {ProfileType, useAuthContext} from "@/contexts/AuthContext";
import {Calendar} from "react-native-calendars";
import React from "react";
const daysOfWeek = [
{label: "Monday", value: "monday"},
@ -353,11 +354,24 @@ export const ManuallyAddEventModal = () => {
newDate.setMinutes(currentDate.getMinutes());
setDate(newDate);
if (isStart && newDate > endDate) {
const newEndDate = new Date(newDate);
newEndDate.setHours(endDate.getHours());
newEndDate.setMinutes(endDate.getMinutes());
setEndDate(newEndDate);
if(isStart) {
if (startTime.getHours() > endTime.getHours() &&
(isSameDay(newDate, endDate) || isAfter(newDate, endDate))) {
const newEndDate = new Date(newDate);
newEndDate.setDate(newEndDate.getDate() + 1);
newEndDate.setHours(endDate.getHours());
newEndDate.setMinutes(endDate.getMinutes());
setEndDate(newEndDate);
}
} else {
if (endTime.getHours() < startTime.getHours() &&
(isSameDay(newDate, startDate) || isAfter(startDate, newDate))) {
const newStartDate = new Date(newDate);
newStartDate.setDate(newStartDate.getDate() - 1);
newStartDate.setHours(startDate.getHours());
newStartDate.setMinutes(startDate.getMinutes());
setStartDate(newStartDate);
}
}
onDismiss();