fix and consolidate calendar dates usage and format

This commit is contained in:
Dobromir Popov
2024-03-04 00:20:43 +02:00
parent 6043df6ad1
commit 0bb57ced17
3 changed files with 37 additions and 15 deletions

View File

@ -58,7 +58,9 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => {
useEffect(() => {
const updatedEvents = events.map(event => ({
...event,
date: new Date(event.startTime).setHours(0, 0, 0, 0)
date: new Date(event.startTime).setHours(0, 0, 0, 0),
startTime: new Date(event.startTime),
endTime: event.endTime ? new Date(event.endTime) : undefined
}));
setEvents(updatedEvents);
@ -164,12 +166,15 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => {
const totalHours = maxHour - minHour;
const handleSelect = ({ start, end }) => {
const startdate = typeof start === 'string' ? new Date(start) : start;
const enddate = typeof end === 'string' ? new Date(end) : end;
if (!start || !end) return;
if (start < new Date() || end < new Date() || start > end) return;
if (startdate < new Date() || end < new Date() || startdate > end) return;
// Check if start and end are on the same day
if (start.toDateString() !== end.toDateString()) {
end = common.setTimeHHmm(start, "23:59");
if (startdate.toDateString() !== enddate.toDateString()) {
end = common.setTimeHHmm(startdate, "23:59");
}
const startMinutes = common.getTimeInMinutes(start);
@ -186,7 +191,7 @@ const AvCalendar = ({ publisherId, events, selectedDate }) => {
setDate(start);
// get exising events for the selected date
const existingEvents = evts?.filter(event => (event.publisher?.id || event.publisherId) === publisherId && new Date(event.date).toDateString() === start.toDateString());
const existingEvents = evts?.filter(event => (event.publisher?.id || event.publisherId) === publisherId && new Date(event.date).toDateString() === startdate.toDateString());
// const existingEvents = evts?.filter(event => {
// return event.publisherId === publisherId &&
// new Date(event.startTime).getFullYear() === start.getFullYear() &&