diff --git a/apps/frontend/src/components/launches/calendar.tsx b/apps/frontend/src/components/launches/calendar.tsx index 0e3f5595..85632ef5 100644 --- a/apps/frontend/src/components/launches/calendar.tsx +++ b/apps/frontend/src/components/launches/calendar.tsx @@ -189,12 +189,16 @@ export const WeekView = () => { dayjs.locale(currentLanguage); const days = []; - // Starting from Monday (1) to Sunday (7) + const yearWeek = dayjs() + .year(currentYear) + .week(currentWeek) + .startOf('week'); for (let i = 1; i <= 7; i++) { - days.push(dayjs().day(i).format('dddd')); + const yearWeekFormat = yearWeek.add(i, 'day').format('L'); + days.push({ name: dayjs().day(i).format('dddd'), day: yearWeekFormat }); } return days; - }, [i18next.resolvedLanguage]); + }, [i18next.resolvedLanguage, currentYear, currentWeek]); return (
@@ -203,10 +207,11 @@ export const WeekView = () => {
{localizedDays.map((day, index) => (
-
{day}
+
{day.name}
+
{day.day}
))} {hours.map((hour) => ( diff --git a/apps/frontend/src/components/launches/filters.tsx b/apps/frontend/src/components/launches/filters.tsx index 5454a185..f6d2bd0c 100644 --- a/apps/frontend/src/components/launches/filters.tsx +++ b/apps/frontend/src/components/launches/filters.tsx @@ -166,10 +166,32 @@ export const Filters = () => { week.currentYear, week.currentDay, ]); + + const setCurrent = useCallback( + (type: 'day' | 'week' | 'month') => () => { + if (type === 'day') { + setDay(); + } else if (type === 'week') { + setWeek(); + } else if (type === 'month') { + setMonth(); + } + }, + [ + week.display, + week.currentMonth, + week.currentWeek, + week.currentYear, + week.currentDay, + ] + ); return (
-
-
+
+
{
- {week.display === 'day' - ? `${dayjs() - .month(week.currentMonth) - .week(week.currentWeek) - .day(week.currentDay) - .format('dddd')}` - : week.display === 'week' - ? t('week_number', 'Week {{number}}', { number: week.currentWeek }) - : dayjs().month(week.currentMonth).format('MMMM')} +
+ Today +
-
+
{ />
-
{betweenDates}
+
+ {week.display === 'day' + ? `${dayjs() + .month(week.currentMonth) + .week(week.currentWeek) + .day(week.currentDay) + .format('dddd (L)')}` + : week.display === 'week' + ? betweenDates + : dayjs().month(week.currentMonth).format('MMMM YYYY')} +