diff options
| author | Fuwn <[email protected]> | 2024-10-02 02:52:44 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-10-02 02:52:44 -0700 |
| commit | 767c251175523c080fb0f5c7943309ed9ab60764 (patch) | |
| tree | 963983982c324b981baf54404715e890d2c6b429 /src/lib/Tools/SequelSpy.svelte | |
| parent | chore(npm): fix graphql builder (diff) | |
| download | due.moe-767c251175523c080fb0f5c7943309ed9ab60764.tar.xz due.moe-767c251175523c080fb0f5c7943309ed9ab60764.zip | |
refactor(SequelSpy): move prequel list to component
Diffstat (limited to 'src/lib/Tools/SequelSpy.svelte')
| -rw-r--r-- | src/lib/Tools/SequelSpy.svelte | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/src/lib/Tools/SequelSpy.svelte b/src/lib/Tools/SequelSpy.svelte deleted file mode 100644 index 28db4466..00000000 --- a/src/lib/Tools/SequelSpy.svelte +++ /dev/null @@ -1,91 +0,0 @@ -<script lang="ts"> - import type { AniListAuthorisation } from '$lib/Data/AniList/identity'; - import { prequels, type MediaPrequel } from '$lib/Data/AniList/prequels'; - import MediaTitle from '$lib/List/MediaTitleDisplay.svelte'; - import { onMount } from 'svelte'; - import { clearAllParameters, parseOrDefault } from '../Utility/parameters'; - import { airingTime } from '$lib/Media/Anime/Airing/time'; - import type { Media } from '$lib/Data/AniList/media'; - import { page } from '$app/stores'; - import { browser } from '$app/environment'; - import { season as getSeason } from '$lib/Media/Anime/season'; - import Skeleton from '$lib/Loading/Skeleton.svelte'; - import identity from '$stores/identity'; - import LogInRestricted from '$lib/Error/LogInRestricted.svelte'; - import LinkedTooltip from '$lib/Tooltip/LinkedTooltip.svelte'; - import settings from '$stores/settings'; - - export let user: AniListAuthorisation; - - let currentPrequels: Promise<MediaPrequel[]> = Promise.resolve([]) as Promise<MediaPrequel[]>; - const urlParameters = browser ? new URLSearchParams(window.location.search) : null; - let year = parseOrDefault(urlParameters, 'year', new Date().getFullYear()); - let season = parseOrDefault(urlParameters, 'season', getSeason()); - - $: { - if (year.toString().length === 4 && $identity.id !== -2 && user) - currentPrequels = prequels(user, year, season); - } - $: { - if (browser) { - $page.url.searchParams.set('year', year.toString()); - $page.url.searchParams.set('season', season.toString()); - clearAllParameters(['year', 'season']); - history.replaceState(null, '', `?${$page.url.searchParams.toString()}`); - } - } - - onMount(() => clearAllParameters(['year', 'season'])); - - const prequelAiringTime = (prequel: MediaPrequel) => - airingTime(prequel as unknown as Media, null, false, true); -</script> - -{#if user === undefined || $identity.id === -2} - <LogInRestricted /> -{:else} - <div class="card"> - <p> - <select bind:value={season}> - <option value="WINTER">Winter</option> - <option value="SPRING">Spring</option> - <option value="SUMMER">Summer</option> - <option value="FALL">Fall</option> - </select> - <input type="number" bind:value={year} /> - </p> - - {#await currentPrequels} - <Skeleton card={false} count={5} height="0.9rem" list /> - {:then currentPrequels} - <ul> - {#each currentPrequels.sort((a, b) => new Date(a.startDate.year, a.startDate.month - 1, a.startDate.day).getTime() - new Date(b.startDate.year, b.startDate.month - 1, b.startDate.day).getTime()) as prequel} - <li id={`${prequel.id}`}> - <LinkedTooltip - content={`<img src="${ - $settings.displayDataSaver - ? prequel.coverImage.medium - : prequel.coverImage.extraLarge - }" style="width: 250px; object-fit: cover; border-radius: 8px;" />`} - pin={`${prequel.id}`} - pinPosition="top" - disable={!$settings.displayHoverCover} - > - <a href={`https://anilist.co/anime/${prequel.id}`} target="_blank"> - <MediaTitle title={prequel.title} /> - </a> - <span class="opaque">|</span> - {prequel.seen}<span class="opaque">/{prequel.episodes}</span> - {@html prequelAiringTime(prequel)} - </LinkedTooltip> - </li> - {/each} - </ul> - {/await} - - <p /> - - The count ratio is the number of episodes you've seen of any direct prequels, and the total - number of episodes of all direct prequels. - </div> -{/if} |