diff options
Diffstat (limited to 'src/routes/schedule')
| -rw-r--r-- | src/routes/schedule/+page.svelte | 72 |
1 files changed, 28 insertions, 44 deletions
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 @@ <script lang="ts"> import Error from '$lib/Error/RateLimited.svelte'; - import type { SubsPlease } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; import { onMount } from 'svelte'; import { parseOrDefault } from '$lib/Utility/parameters'; import { browser } from '$app/environment'; @@ -12,30 +11,23 @@ import '$lib/Schedule/container.css'; import Days from '$lib/Schedule/Days.svelte'; import settings from '$stores/settings'; - import root from '$lib/Utility/root'; import Skeleton from '$lib/Loading/Skeleton.svelte'; import Message from '$lib/Loading/Message.svelte'; + import subsPlease from '$stores/subsPlease'; - let subsPleasePromise: Promise<SubsPlease>; let scheduledMediaPromise: Promise<Partial<Media[]>>; const urlParameters = browser ? new URLSearchParams(window.location.search) : null; - let timeZone = parseOrDefault( - urlParameters, - 'tz', - Intl.DateTimeFormat().resolvedOptions().timeZone - ); let crunchyrollExpanded = false; let forceListMode = parseOrDefault(urlParameters, 'list', false); onMount(async () => { - subsPleasePromise = fetch(root(`/api/subsplease?tz=${timeZone}`)).then((r) => r.json()); scheduledMediaPromise = scheduleMediaListCollection(new Date().getFullYear(), season(), true); }); </script> <HeadTitle route="Schedule" path="/schedule" /> -<blockquote> +<!-- <blockquote> <select bind:value={timeZone} on:change={() => @@ -47,7 +39,7 @@ </option> {/each} </select> -</blockquote> +</blockquote> --> <details bind:open={crunchyrollExpanded}> <summary> @@ -61,42 +53,34 @@ <p /> -{#await subsPleasePromise} +{#if !$subsPlease} <Message message="Loading subtitle schedule ..." /> <Skeleton grid={true} count={7} height="15em" width="49.5%" /> -{:then subsPlease} - {#if subsPlease} - {#await scheduledMediaPromise} - <Message message="Loading schedule ..." /> - - <Skeleton grid={true} count={7} height="15em" width="49.5%" /> - {:then scheduledMedia} - {#if scheduledMedia} - {@const columnCount = Math.ceil(Object.keys(subsPlease.schedule).length / 2)} +{:else} + {#await scheduledMediaPromise} + <Message message="Loading schedule ..." /> - <div - class="list-container" - id="schedule" - style={`column-count: ${ - columnCount / ($settings.displayScheduleListMode || forceListMode ? 1 : 2) - }`} - > - <Days {subsPlease} {scheduledMedia} {forceListMode} /> - </div> - {:else} - <Message message="Loading schedule ..." /> + <Skeleton grid={true} count={7} height="15em" width="49.5%" /> + {:then scheduledMedia} + {#if scheduledMedia} + {@const columnCount = Math.ceil(Object.keys($subsPlease.schedule).length / 2)} - <Skeleton grid={true} count={7} height="15em" width="49.5%" /> - {/if} - {:catch} - <Error type="Media" loginSessionError={false} card list={false} /> - {/await} - {:else} - <Message message="Loading subtitle schedule ..." /> + <div + class="list-container" + id="schedule" + style={`column-count: ${ + columnCount / ($settings.displayScheduleListMode || forceListMode ? 1 : 2) + }`} + > + <Days subsPlease={$subsPlease} {scheduledMedia} {forceListMode} /> + </div> + {:else} + <Message message="Loading schedule ..." /> - <Skeleton grid={true} count={7} height="15em" width="49.5%" /> - {/if} -{:catch} - <Error type="Schedule" loginSessionError={false} card list={false} /> -{/await} + <Skeleton grid={true} count={7} height="15em" width="49.5%" /> + {/if} + {:catch} + <Error type="Media" loginSessionError={false} card list={false} /> + {/await} +{/if} |