[#197] added missing infos

This commit is contained in:
Camille Moussu
2025-10-16 11:48:50 +02:00
committed by Benoit TELLIER
parent ed8bb41ca9
commit 6411ed636b
6 changed files with 259 additions and 121 deletions
+25 -12
View File
@@ -3,7 +3,6 @@ import dayGridPlugin from "@fullcalendar/daygrid";
import timeGridPlugin from "@fullcalendar/timegrid";
import interactionPlugin from "@fullcalendar/interaction";
import { CalendarApi, DateSelectArg } from "@fullcalendar/core";
import ReactCalendar from "react-calendar";
import "./Calendar.styl";
import "./CustomCalendar.styl";
import { useEffect, useRef, useState } from "react";
@@ -330,25 +329,39 @@ export default function CalendarApp({
filteredTempEvents,
userId
)}
weekNumbers
weekNumbers={
currentView === "timeGridWeek" || currentView === "timeGridDay"
}
weekNumberFormat={{ week: "long" }}
weekNumberContent={(arg) => {
const showSelector =
currentView === "timeGridWeek" || currentView === "timeGridDay";
return (
<div className="weekSelector">
<div>{arg.text}</div>
{showSelector && (
<TimezoneSelector
value={timezone}
onChange={(newTimezone: string) =>
dispatch(setTimeZone(newTimezone))
}
/>
)}
<TimezoneSelector
value={timezone}
onChange={(newTimezone: string) =>
dispatch(setTimeZone(newTimezone))
}
/>
</div>
);
}}
dayCellContent={(arg) => {
const month = arg.date.toLocaleDateString("en-US", {
month: "short",
});
if (arg.view.type === "dayGridMonth") {
return (
<span
className={`fc-daygrid-day-number ${
arg.isToday ? "current-date" : ""
}`}
>
{arg.dayNumberText === "1" ? month : ""} {arg.dayNumberText}
</span>
);
}
}}
slotDuration={"00:30:00"}
slotLabelInterval={"01:00:00"}
scrollTime="12:00:00"
@@ -5,6 +5,7 @@ import { Calendars } from "../../../features/Calendars/CalendarTypes";
import { getDeltaInMilliseconds } from "../../../utils/dateUtils";
import {
getCalendarDetailAsync,
getEventAsync,
putEventAsync,
updateEventInstanceAsync,
updateEventLocal,
@@ -97,6 +98,21 @@ export const createEventHandlers = (props: EventHandlersProps) => {
window.open(info.event.url);
} else {
setOpenEventDisplay(true);
if (
calendars[info.event.extendedProps.calId] &&
calendars[info.event.extendedProps.calId].events[
info.event.extendedProps.uid
]
) {
dispatch(
getEventAsync(
calendars[info.event.extendedProps.calId].events[
info.event.extendedProps.uid
]
)
);
}
setEventDisplayedId(info.event.extendedProps.uid);
setEventDisplayedCalId(info.event.extendedProps.calId);
setEventDisplayedTemp(info.event._def.extendedProps.temp);
@@ -30,6 +30,7 @@ export const useCalendarEventHandlers = (props: EventHandlersProps) => {
props.setEventDisplayedId,
props.setEventDisplayedCalId,
props.setEventDisplayedTemp,
props.calendars,
]),
handleEventAllow: useCallback(eventHandlers.handleEventAllow, []),
handleEventDrop: useCallback(eventHandlers.handleEventDrop, [