From 0857b21a413eb2d6679e301abc9f2344cdfca3df Mon Sep 17 00:00:00 2001 From: Fuwn Date: Tue, 30 Jan 2024 21:36:08 -0800 Subject: feat(list): use last size as skeleton size --- src/lib/List/Anime/AnimeListTemplate.svelte | 18 ++++++++++++++++-- src/lib/List/Anime/CleanAnimeList.svelte | 13 ++++++++++++- src/lib/List/Anime/PlaceholderList.svelte | 3 ++- 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'src/lib/List/Anime') diff --git a/src/lib/List/Anime/AnimeListTemplate.svelte b/src/lib/List/Anime/AnimeListTemplate.svelte index c0314727..8b52e324 100644 --- a/src/lib/List/Anime/AnimeListTemplate.svelte +++ b/src/lib/List/Anime/AnimeListTemplate.svelte @@ -10,6 +10,8 @@ import type { SubsPlease } from '$lib/Media/Anime/Airing/Subtitled/subsPlease'; import root from '$lib/Utility/root'; import PlaceholderList from './PlaceholderList.svelte'; + import { browser } from '$app/environment'; + import { onMount } from 'svelte'; export let endTime: number; export let cleanMedia: ( @@ -30,10 +32,22 @@ let lastUpdatedMedia = -1; let previousAnimeList: Media[]; let pendingUpdate: number | null = null; + let lastListSize = 8; + + onMount(() => { + if (browser) { + const lastStoredList = localStorage.getItem( + `last${ + notYetReleased ? 'NotYetReleased' : upcoming ? 'Upcoming' : completed ? 'Completed' : '' + }AnimeListLength` + ); + if (lastStoredList) lastListSize = parseInt(lastStoredList); + } + }); {#await fetch(root(`/api/subsplease?tz=${Intl.DateTimeFormat().resolvedOptions().timeZone}`)).then( (r) => r.json() )} - + {:then subsPlease} {#await animeLists} {#if previousAnimeList} @@ -52,7 +66,7 @@ bind:pendingUpdate /> {:else} - + {/if} {:then media} { + if (browser) + localStorage.setItem( + `last${ + notYetReleased ? 'NotYetReleased' : upcoming ? 'Upcoming' : completed ? 'Completed' : '' + }AnimeListLength`, + media.length.toString() + ); + }); + onDestroy(() => clearInterval(keyCacher)); diff --git a/src/lib/List/Anime/PlaceholderList.svelte b/src/lib/List/Anime/PlaceholderList.svelte index 3567ce62..7d25ed7c 100644 --- a/src/lib/List/Anime/PlaceholderList.svelte +++ b/src/lib/List/Anime/PlaceholderList.svelte @@ -5,13 +5,14 @@ import type { Title } from '../mediaTitle'; export let title: Title; + export let count = 8;