diff options
Diffstat (limited to 'src/lib/List/Anime/AnimeListTemplate.svelte')
| -rw-r--r-- | src/lib/List/Anime/AnimeListTemplate.svelte | 100 |
1 files changed, 52 insertions, 48 deletions
diff --git a/src/lib/List/Anime/AnimeListTemplate.svelte b/src/lib/List/Anime/AnimeListTemplate.svelte index 185419de..5bc46e5c 100644 --- a/src/lib/List/Anime/AnimeListTemplate.svelte +++ b/src/lib/List/Anime/AnimeListTemplate.svelte @@ -1,55 +1,59 @@ <script lang="ts"> - /* eslint svelte/no-at-html-tags: "off" */ +import type { AniListAuthorisation } from "$lib/Data/AniList/identity"; +import type { Media } from "$lib/Data/AniList/media"; +import RateLimitedError from "$lib/Error/RateLimited.svelte"; +import settings from "$stores/settings"; +import CleanAnimeList from "./CleanAnimeList.svelte"; +import ListTitle from "../ListTitle.svelte"; +import type { SubsPlease } from "$lib/Media/Anime/Airing/Subtitled/subsPlease"; +import PlaceholderList from "./PlaceholderList.svelte"; +import { browser } from "$app/environment"; +import { onMount } from "svelte"; +import subsPlease from "$stores/subsPlease"; +import identity from "$stores/identity"; +import localforage from "localforage"; +import type { Title } from "../mediaTitle"; - import type { AniListAuthorisation } from '$lib/Data/AniList/identity'; - import type { Media } from '$lib/Data/AniList/media'; - import Error from '$lib/Error/RateLimited.svelte'; - import settings from '$stores/settings'; - import CleanAnimeList from './CleanAnimeList.svelte'; - import ListTitle from '../ListTitle.svelte'; - import type { SubsPlease } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; - import PlaceholderList from './PlaceholderList.svelte'; - import { browser } from '$app/environment'; - import { onMount } from 'svelte'; - import subsPlease from '$stores/subsPlease'; - import identity from '$stores/identity'; - import localforage from 'localforage'; - import type { Title } from '../mediaTitle'; +export let endTime: number; +export let cleanMedia: ( + media: Media[], + displayUnresolved: boolean, + subsPlease: SubsPlease | null, + plannedOnly?: boolean, +) => Media[]; +export let animeLists: Promise<Media[]>; +export let user: AniListAuthorisation; +export let title: Title; +export let completed = false; +export let plannedOnly = false; +export let upcoming = false; +export let notYetReleased = false; +export let dummy = false; +export let disableFilter = false; +export let limit: number | undefined = undefined; - export let endTime: number; - export let cleanMedia: ( - media: Media[], - displayUnresolved: boolean, - subsPlease: SubsPlease | null, - plannedOnly?: boolean - ) => Media[]; - export let animeLists: Promise<Media[]>; - export let user: AniListAuthorisation; - export let title: Title; - export let completed = false; - export let plannedOnly = false; - export let upcoming = false; - export let notYetReleased = false; - export let dummy = false; - export let disableFilter = false; - export let limit: number | undefined = undefined; +let lastUpdatedMedia = -1; +let previousAnimeList: Media[]; +let pendingUpdate: number | null = null; +let lastListSize = 8; - let lastUpdatedMedia = -1; - let previousAnimeList: Media[]; - let pendingUpdate: number | null = null; - let lastListSize = 8; +onMount(async () => { + if (browser) { + const lastStoredList = (await localforage.getItem( + `last${ + notYetReleased + ? "NotYetReleased" + : upcoming + ? "Upcoming" + : completed + ? "Completed" + : "" + }AnimeListLength`, + )) as string | null; - onMount(async () => { - if (browser) { - const lastStoredList = (await localforage.getItem( - `last${ - notYetReleased ? 'NotYetReleased' : upcoming ? 'Upcoming' : completed ? 'Completed' : '' - }AnimeListLength` - )) as string | null; - - if (lastStoredList) lastListSize = parseInt(lastStoredList); - } - }); + if (lastStoredList) lastListSize = parseInt(lastStoredList); + } +}); </script> {#if !$subsPlease && !dummy} @@ -100,6 +104,6 @@ {:catch} <ListTitle time={0} count={-1337} {title} /> - <Error /> + <RateLimitedError /> {/await} {/if} |