From 3f0c114f24195c8a7f352d86b7a62dbe56b6127d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 5 Dec 2025 15:17:51 +0200 Subject: [PATCH] fix(launch_bar): handle week number wrap-around for next year in calendar --- apps/client/src/widgets/launch_bar/Calendar.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/client/src/widgets/launch_bar/Calendar.tsx b/apps/client/src/widgets/launch_bar/Calendar.tsx index 2b7225db5..38aaa8bfc 100644 --- a/apps/client/src/widgets/launch_bar/Calendar.tsx +++ b/apps/client/src/widgets/launch_bar/Calendar.tsx @@ -143,7 +143,13 @@ function CalendarDay({ date, dateNotesForMonth, className, activeDate, todaysDat } function CalendarWeek({ date, weekNumber, weekNotes, onWeekClicked }: { weekNumber: number, weekNotes: string[] } & Pick) { - const weekString = date.local().format('YYYY-') + 'W' + String(weekNumber).padStart(2, '0'); + const localDate = date.local(); + + // Handle case where week is in between years. + let year = localDate.year(); + if (localDate.month() === 11 && weekNumber === 1) year++; + + const weekString = `${year}-W${String(weekNumber).padStart(2, '0')}`; if (onWeekClicked) { return ( @@ -151,6 +157,7 @@ function CalendarWeek({ date, weekNumber, weekNotes, onWeekClicked }: { weekNumb className={clsx("calendar-week-number", "calendar-date", weekNotes.includes(weekString) && "calendar-date-exists")} data-calendar-week-number={weekNumber} + data-date={date.local().format("YYYY-MM-DD")} onClick={(e) => onWeekClicked(weekString, e)} >{weekNumber} )