diff --git a/frontend/src/components/calendar/CalendarPage.tsx b/frontend/src/components/calendar/CalendarPage.tsx index 77a9202..a7eca35 100644 --- a/frontend/src/components/calendar/CalendarPage.tsx +++ b/frontend/src/components/calendar/CalendarPage.tsx @@ -531,6 +531,16 @@ export default function CalendarPage() { const isAllDay = arg.event.allDay; const isRecurring = arg.event.extendedProps.is_recurring || arg.event.extendedProps.parent_event_id; const isInvited = arg.event.extendedProps.is_invited; + const calColor = arg.event.extendedProps.calendarColor as string; + + // Sync --event-color on the parent FC element so CSS rules (background, hover) + // pick up color changes without requiring a full remount (eventDidMount only fires once). + const syncColor = (el: HTMLElement | null) => { + if (el && calColor) { + const fcEl = el.closest('.umbra-event'); + if (fcEl) (fcEl as HTMLElement).style.setProperty('--event-color', calColor); + } + }; const icons = ( <> @@ -542,7 +552,7 @@ export default function CalendarPage() { if (isMonth) { if (isAllDay) { return ( -