From cac89e7d02c3b84e209b46e980030d157e7a79ff Mon Sep 17 00:00:00 2001 From: Camille Moussu Date: Thu, 24 Jul 2025 10:59:28 +0200 Subject: [PATCH] [fix] bug where mini calendar doesnt follow full one when week goes from one month to another --- __test__/components/MiniCalendarColor.test.tsx | 13 +++++++++++++ src/components/Calendar/Calendar.tsx | 10 +--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/__test__/components/MiniCalendarColor.test.tsx b/__test__/components/MiniCalendarColor.test.tsx index d84a50d..4925808 100644 --- a/__test__/components/MiniCalendarColor.test.tsx +++ b/__test__/components/MiniCalendarColor.test.tsx @@ -219,4 +219,17 @@ describe("Found Bugs", () => { expect(weekViewSelectedTiles).toHaveLength(7); }); + it("gray day stays when day mode, change day, then change to week view", async () => { + jest.useFakeTimers().setSystemTime(new Date("2025-01-30")); + renderCalendar(); + const nextWeekButton = screen.getByTitle("Next week"); + + fireEvent.click(nextWeekButton); + + const miniCalMonth = await screen.findByTitle(/mini calendar month/i); + const fullCalMonth = screen.getByText((content, element) => { + return element?.className.includes("fc-toolbar-title") ?? false; + }); + expect(miniCalMonth.innerHTML).toBe(fullCalMonth.innerHTML); + }); }); diff --git a/src/components/Calendar/Calendar.tsx b/src/components/Calendar/Calendar.tsx index 724a82a..8ee161a 100644 --- a/src/components/Calendar/Calendar.tsx +++ b/src/components/Calendar/Calendar.tsx @@ -238,15 +238,7 @@ export default function CalendarApp() { hour12: false, }} datesSet={(arg) => { - if (arg.view.type === "timeGridDay") { - setSelectedDate(new Date(arg.start)); - setSelectedMiniDate(new Date(arg.start)); - } else if (arg.view.type === "timeGridWeek") { - if (selectedDate <= arg.start && selectedDate >= arg.end) { - setSelectedMiniDate(new Date(arg.start)); - } - setSelectedDate(new Date(arg.start)); - } else if (arg.view.type === "dayGridMonth") { + if (arg.view.type === "dayGridMonth") { setSelectedDate(new Date(arg.start)); const midTimestamp = (arg.start.getTime() + arg.end.getTime()) / 2;