From 19b51ab69176eb4f834c2c497f4c93a13779d7c7 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 6 Sep 2023 00:30:46 -0700 Subject: feat(list): cache flattened --- src/lib/AniList/media.ts | 12 ++++++++---- src/lib/List/Due/AnimeList.svelte | 26 +++++++++++++++++++++----- src/lib/List/Due/MangaList.svelte | 29 +++++++++++++++++++++-------- src/lib/List/UpcomingAnimeList.svelte | 26 +++++++++++++++++++++----- src/lib/List/WatchingAnimeList.svelte | 26 +++++++++++++++++++++----- 5 files changed, 92 insertions(+), 27 deletions(-) diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts index f6f6a68e..1fddbbe5 100644 --- a/src/lib/AniList/media.ts +++ b/src/lib/AniList/media.ts @@ -60,7 +60,7 @@ export const mediaListCollection = async ( mediaCache: string | undefined, currentLastPruneAt: string | number, forcePrune = false -): Promise<{ entries: { media: Media }[] }[]> => { +): Promise => { let currentCacheMinutes; settings.subscribe((value) => { @@ -126,11 +126,15 @@ export const mediaListCollection = async ( if (mediaCache === '') { if (type === Type.Anime) { - anime.set(JSON.stringify(userIdResponse['data']['MediaListCollection']['lists'])); + anime.set( + JSON.stringify(flattenLists(userIdResponse['data']['MediaListCollection']['lists'])) + ); } else { - manga.set(JSON.stringify(userIdResponse['data']['MediaListCollection']['lists'])); + manga.set( + JSON.stringify(flattenLists(userIdResponse['data']['MediaListCollection']['lists'])) + ); } } - return userIdResponse['data']['MediaListCollection']['lists']; + return flattenLists(userIdResponse['data']['MediaListCollection']['lists']); }; diff --git a/src/lib/List/Due/AnimeList.svelte b/src/lib/List/Due/AnimeList.svelte index 5024f8c2..83511ca0 100644 --- a/src/lib/List/Due/AnimeList.svelte +++ b/src/lib/List/Due/AnimeList.svelte @@ -1,7 +1,7 @@ {#await animeLists} @@ -166,6 +176,12 @@ {endTime / 1000}s + {#if cleanedMedia.length === 0} + + {/if} +