From 4b76a95a0329f8fc518fb70f400b0d9eff546d02 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Wed, 27 Jul 2022 00:29:19 +0300 Subject: [PATCH] Calendar list filter to actual filter function --- app/routes/calendar/index.tsx | 173 +++++++++++++++++----------------- 1 file changed, 85 insertions(+), 88 deletions(-) diff --git a/app/routes/calendar/index.tsx b/app/routes/calendar/index.tsx index 07d4817a4..f83240c8d 100644 --- a/app/routes/calendar/index.tsx +++ b/app/routes/calendar/index.tsx @@ -123,6 +123,7 @@ export default function CalendarPage() { ); } +// xxx: overflows on mobile -> make it so that opaque blocks don't take space or are "allowed" to overflow? function WeekLinks() { const data = useLoaderData(); const isMounted = useIsMounted(); @@ -241,89 +242,94 @@ function EventsList() { const data = useLoaderData(); const { i18n } = useTranslation(); + function excludeNextWeeksEvents([date]: Unpacked< + ReturnType + >) { + return dateToWeekNumber(date) === data.displayedWeek; + } + return (
- {filterOutNextWeeksEvents( - data.displayedWeek, - eventsGroupedByDay(data.events) - ).map(([daysDate, events]) => { - return ( - -
-
- {daysDate.toLocaleDateString(i18n.language, { - weekday: "long", - day: "numeric", - month: "long", + {eventsGroupedByDay(data.events) + .filter(excludeNextWeeksEvents) + .map(([daysDate, events]) => { + return ( + +
+
+ {daysDate.toLocaleDateString(i18n.language, { + weekday: "long", + day: "numeric", + month: "long", + })} +
+
+
+ {events.map((calendarEvent) => { + return ( +
+
+ +
+ From {discordFullName(calendarEvent)} +
+
+ +

+ {calendarEvent.name}{" "} + {calendarEvent.nthAppearance ? ( + + Day {calendarEvent.nthAppearance} + + ) : null} +

+ + {calendarEvent.discordUrl || calendarEvent.bracketUrl ? ( +
+ {calendarEvent.discordUrl ? ( + + Discord + + ) : null} + {calendarEvent.bracketUrl ? ( + + {resolveBaseUrl(calendarEvent.bracketUrl)} + + ) : null} +
+ ) : null} +
+ ); })}
-
-
- {events.map((calendarEvent) => { - return ( -
-
- -
- From {discordFullName(calendarEvent)} -
-
- -

- {calendarEvent.name}{" "} - {calendarEvent.nthAppearance ? ( - - Day {calendarEvent.nthAppearance} - - ) : null} -

- - {calendarEvent.discordUrl || calendarEvent.bracketUrl ? ( -
- {calendarEvent.discordUrl ? ( - - Discord - - ) : null} - {calendarEvent.bracketUrl ? ( - - {resolveBaseUrl(calendarEvent.bracketUrl)} - - ) : null} -
- ) : null} -
- ); - })} -
- - ); - })} + + ); + })}
); } @@ -350,12 +356,3 @@ function eventsGroupedByDay( return result; } - -function filterOutNextWeeksEvents( - displayedWeek: number, - groupedEvents: ReturnType -) { - return groupedEvents.filter( - ([date]) => dateToWeekNumber(date) === displayedWeek - ); -}