aboutsummaryrefslogtreecommitdiff
path: root/src/routes/schedule
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/schedule')
-rw-r--r--src/routes/schedule/+page.svelte72
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}