From 945a4fc0ac4be8763666edbd0f407c9b6377121c Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 6 Feb 2024 22:44:38 -0800 Subject: feat(schedule): use global subsplease and modify --- src/routes/+layout.svelte | 20 +++++++++-- src/routes/schedule/+page.svelte | 72 ++++++++++++++++------------------------ 2 files changed, 46 insertions(+), 46 deletions(-) (limited to 'src/routes') diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index dd9533fe..e8fb9f9b 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -22,6 +22,7 @@ import subsPlease from '$stores/subsPlease'; import Dropdown from '$lib/Dropdown.svelte'; import { injectSpeedInsights } from '@vercel/speed-insights/sveltekit'; + import subtitles from '$lib/Data/subtitles.json'; injectSpeedInsights(); @@ -76,10 +77,25 @@ }); $: { - if ((data.url === '/' || data.url === '/completed') && !$subsPlease) + if ((data.url === '/' || data.url === '/completed' || data.url === '/schedule') && !$subsPlease) fetch(root(`/api/subsplease?tz=${Intl.DateTimeFormat().resolvedOptions().timeZone}`)) .then((r) => r.json()) - .then((r) => subsPlease.set(r)); + .then((r) => { + for (const day in subtitles) { + if (!r.schedule[day]) r.schedule[day] = []; + + subtitles[day as keyof typeof subtitles].forEach((episode: any) => { + r.schedule[day].push({ + title: episode.title, + page: episode.page || '', + image_url: episode.image_url || '', + time: episode.time + }); + }); + } + + subsPlease.set(r); + }); } diff --git a/src/routes/schedule/+page.svelte b/src/routes/schedule/+page.svelte index edc82261..f057751a 100644 --- a/src/routes/schedule/+page.svelte +++ b/src/routes/schedule/+page.svelte @@ -1,6 +1,5 @@ -
+
@@ -61,42 +53,34 @@

-{#await subsPleasePromise} +{#if !$subsPlease} -{:then subsPlease} - {#if subsPlease} - {#await scheduledMediaPromise} - - - - {:then scheduledMedia} - {#if scheduledMedia} - {@const columnCount = Math.ceil(Object.keys(subsPlease.schedule).length / 2)} +{:else} + {#await scheduledMediaPromise} + -

- -
- {:else} - + + {:then scheduledMedia} + {#if scheduledMedia} + {@const columnCount = Math.ceil(Object.keys($subsPlease.schedule).length / 2)} - - {/if} - {:catch} - - {/await} - {:else} - +
+ +
+ {:else} + - - {/if} -{:catch} - -{/await} + + {/if} + {:catch} + + {/await} +{/if} -- cgit v1.2.3