From 79e1afd8c866977f18e7e03a27228eb36fd9148c Mon Sep 17 00:00:00 2001 From: Agbasimere Date: Thu, 23 Jul 2026 22:02:29 +0100 Subject: [PATCH] perf(calendar): memoize recurring-event expansion (#982) --- src/components/Calendar.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Calendar.tsx b/src/components/Calendar.tsx index 2e02c03a..3dc53455 100644 --- a/src/components/Calendar.tsx +++ b/src/components/Calendar.tsx @@ -1,6 +1,6 @@ 'use client'; -import { useCallback } from 'react'; +import { useCallback, useMemo } from 'react'; import { Calendar as BigCalendar, dateFnsLocalizer, SlotInfo, Views } from 'react-big-calendar'; import { format, parse, startOfWeek, getDay, addWeeks, addDays } from 'date-fns'; import { enUS } from 'date-fns/locale/en-US'; @@ -48,7 +48,7 @@ interface CalendarProps { } export default function Calendar({ events, onSelectSlot, onSelectEvent }: CalendarProps) { - const expanded = events.flatMap(expandRecurring); + const expanded = useMemo(() => events.flatMap(expandRecurring), [events]); const eventStyleGetter = useCallback( (event: CalendarEvent) => ({