mirror of
https://github.com/urosran/cally.git
synced 2025-07-10 15:17:17 +00:00
fixed impossible event dates input
This commit is contained in:
@ -34,9 +34,10 @@ import {useGetFamilyMembers} from "@/hooks/firebase/useGetFamilyMembers";
|
|||||||
import DeleteEventDialog from "./DeleteEventDialog";
|
import DeleteEventDialog from "./DeleteEventDialog";
|
||||||
import {useDeleteEvent} from "@/hooks/firebase/useDeleteEvent";
|
import {useDeleteEvent} from "@/hooks/firebase/useDeleteEvent";
|
||||||
import AddPersonIcon from "@/assets/svgs/AddPersonIcon";
|
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 {ProfileType, useAuthContext} from "@/contexts/AuthContext";
|
||||||
import {Calendar} from "react-native-calendars";
|
import {Calendar} from "react-native-calendars";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
const daysOfWeek = [
|
const daysOfWeek = [
|
||||||
{label: "Monday", value: "monday"},
|
{label: "Monday", value: "monday"},
|
||||||
@ -353,11 +354,24 @@ export const ManuallyAddEventModal = () => {
|
|||||||
newDate.setMinutes(currentDate.getMinutes());
|
newDate.setMinutes(currentDate.getMinutes());
|
||||||
setDate(newDate);
|
setDate(newDate);
|
||||||
|
|
||||||
if (isStart && newDate > endDate) {
|
if(isStart) {
|
||||||
const newEndDate = new Date(newDate);
|
if (startTime.getHours() > endTime.getHours() &&
|
||||||
newEndDate.setHours(endDate.getHours());
|
(isSameDay(newDate, endDate) || isAfter(newDate, endDate))) {
|
||||||
newEndDate.setMinutes(endDate.getMinutes());
|
const newEndDate = new Date(newDate);
|
||||||
setEndDate(newEndDate);
|
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();
|
onDismiss();
|
||||||
|
Reference in New Issue
Block a user