// Rôle : rend le contenu interactif du calendrier une fois initialisé. import { Icon } from "../../../components/Icon.jsx"; import { CalendarEventForm } from "./CalendarEventForm.jsx"; import { CalendarMonthView, CalendarWeekGrid } from "./CalendarViews.jsx"; import { TextExchangeActions } from "./TextExchangeActions.jsx"; import { addMonths, formatLocalDateKey, getMonthStart, minutesToTimeValue } from "./calendarUtils.js"; export function CalendarContent({ data, context, draft, error, activeOccurrenceDate, monthStart, monthGridDays, occurrences, textContent, activeEventId, formOpen, draftSelection, selection, monthSelection, days, weekGridLayout, now, nowDayIndex, nowMinutes, hideEmptyHours, textExchangeOpen, onKeyDown, onSubmit, onDraftChange, onAlertModeChange, onAlertOffsetToggle, onDeleteEvent, onDeleteOccurrence, onClose, onDisplayedMonthChange, onImport, onHideEmptyHoursToggle, onMonthPointerDown, onMonthPointerEnter, onMonthPointerUp, onSlotPointerDown, onSlotPointerEnter, onSlotPointerUp, onEditEvent }) { const selectedAlertOffsets = draft.alertMode === "off" ? [] : draft.alertOffsetMinutes; return (
{formOpen && ( )} {textExchangeOpen && (
)} {data.viewMode === "week" && ( )} {data.viewMode === "month" ? ( onDisplayedMonthChange(getMonthStart(addMonths(monthStart, -1)))} onCurrentMonth={() => onDisplayedMonthChange(getMonthStart(new Date()))} onNextMonth={() => onDisplayedMonthChange(getMonthStart(addMonths(monthStart, 1)))} onPointerDown={onMonthPointerDown} onPointerEnter={onMonthPointerEnter} onPointerUp={onMonthPointerUp} onEditEvent={onEditEvent} /> ) : ( )}
); } function CalendarWeekOptions({ textContent, hideEmptyHours, onToggle }) { return (
{textContent.hideEmptyHoursLabel || "Masquer les heures vides"}