From 1d4723b87371a2ec61c2289c636060ef51fee32e Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 21 Dec 2023 14:41:56 -0800 Subject: feat(schedule): day filter --- src/routes/schedule/+page.svelte | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte index 64b3204f..51bc863d 100644 --- a/src/routes/schedule/+page.svelte +++ b/src/routes/schedule/+page.svelte @@ -20,6 +20,7 @@ 'tz', Intl.DateTimeFormat().resolvedOptions().timeZone ); + let day: string | null = parseOrDefault(urlParameters, 'day', null); onMount(async () => { subsPleasePromise = fetch(`/api/subsplease?tz=${timeZone}`).then((r) => r.json()); @@ -51,9 +52,18 @@ }; const shiftSubsPleaseSchedule = (schedule: SubsPlease['schedule']) => { + const shiftedSchedule: { [key: string]: SubsPleaseEpisode[] } = {}; + + if (day && Object.keys(schedule).includes(day)) { + shiftedSchedule[day] = schedule[ + day as keyof typeof schedule + ] as unknown as SubsPleaseEpisode[]; + + return shiftedSchedule; + } + const days = Object.keys(schedule); const currentDayIndex = days.indexOf(new Date().toLocaleString('en-us', { weekday: 'long' })); - const shiftedSchedule: { [key: string]: SubsPleaseEpisode[] } = {}; days .slice(currentDayIndex) -- cgit v1.2.3