aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-06-12 22:06:31 -0700
committerFuwn <[email protected]>2025-06-12 22:06:31 -0700
commite8612618fb20f779ebe2e85edf32d71961d2f1d4 (patch)
treefa8565afb8584bbf55f4f4d496c2c350a5a25210 /src/lib/List
parentrefactor(List): Simplify get-set structure of stateBin usage (diff)
downloaddue.moe-e8612618fb20f779ebe2e85edf32d71961d2f1d4.tar.xz
due.moe-e8612618fb20f779ebe2e85edf32d71961d2f1d4.zip
feat: Move remaining localStorage usages to localforage
Diffstat (limited to 'src/lib/List')
-rw-r--r--src/lib/List/Anime/AnimeListTemplate.svelte8
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte5
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte8
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte5
4 files changed, 18 insertions, 8 deletions
diff --git a/src/lib/List/Anime/AnimeListTemplate.svelte b/src/lib/List/Anime/AnimeListTemplate.svelte
index 08583d7c..99d2e888 100644
--- a/src/lib/List/Anime/AnimeListTemplate.svelte
+++ b/src/lib/List/Anime/AnimeListTemplate.svelte
@@ -13,6 +13,7 @@
import { onMount } from 'svelte';
import subsPlease from '$stores/subsPlease';
import identity from '$stores/identity';
+ import localforage from 'localforage';
export let endTime: number;
export let cleanMedia: (
@@ -35,13 +36,14 @@
let pendingUpdate: number | null = null;
let lastListSize = 8;
- onMount(() => {
+ onMount(async () => {
if (browser) {
- const lastStoredList = localStorage.getItem(
+ const lastStoredList = (await localforage.getItem(
`last${
notYetReleased ? 'NotYetReleased' : upcoming ? 'Upcoming' : completed ? 'Completed' : ''
}AnimeListLength`
- );
+ )) as string | null;
+
if (lastStoredList) lastListSize = parseInt(lastStoredList);
}
});
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index 22e8f581..a9026d1d 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -16,6 +16,7 @@
import CleanGrid from '$lib/List/CleanGrid.svelte';
import CleanList from '../CleanList.svelte';
import stateBin from '$stores/stateBin';
+ import localforage from 'localforage';
export let media: Media[];
export let title: any;
@@ -74,7 +75,7 @@
? media
: media.filter((m) => m.mediaListEntry?.customLists?.[selectedList]);
- onMount(() => {
+ onMount(async () => {
if (dummy) return;
keyCacher = setInterval(
@@ -105,7 +106,7 @@
);
if (browser)
- localStorage.setItem(
+ await localforage.setItem(
`last${
notYetReleased ? 'NotYetReleased' : upcoming ? 'Upcoming' : completed ? 'Completed' : ''
}AnimeListLength`,
diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte
index eb54df8c..aeb1bc7e 100644
--- a/src/lib/List/Manga/CleanMangaList.svelte
+++ b/src/lib/List/Manga/CleanMangaList.svelte
@@ -14,6 +14,7 @@
import CleanGrid from '../CleanGrid.svelte';
import CleanList from '../CleanList.svelte';
import stateBin from '$stores/stateBin';
+ import localforage from 'localforage';
export let media: Media[];
export let cleanCache: () => void;
@@ -58,11 +59,14 @@
? media
: media.filter((m) => m.mediaListEntry?.customLists?.[selectedList]);
- onMount(() => {
+ onMount(async () => {
serviceStatusResponse = fetch(proxy('https://api.mangadex.org/ping'));
if (browser)
- localStorage.setItem(`last${due ? '' : 'Completed'}MangaListLength`, media.length.toString());
+ await localforage.setItem(
+ `last${due ? '' : 'Completed'}MangaListLength`,
+ media.length.toString()
+ );
});
const increment = (manga: Media) => {
diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte
index 0b38158b..d7f00616 100644
--- a/src/lib/List/Manga/MangaListTemplate.svelte
+++ b/src/lib/List/Manga/MangaListTemplate.svelte
@@ -20,6 +20,7 @@
import { browser } from '$app/environment';
import identity from '$stores/identity';
import privilegedUser from '$lib/Utility/privilegedUser';
+ import localforage from 'localforage';
export let user: AniListAuthorisation = {
accessToken: '',
@@ -57,7 +58,9 @@
onMount(async () => {
if (browser) {
- const lastStoredList = localStorage.getItem(`last${due ? '' : 'Completed'}MangaListLength`);
+ const lastStoredList = (await localforage.getItem(
+ `last${due ? '' : 'Completed'}MangaListLength`
+ )) as number | null;
if (lastStoredList) lastListSize = parseInt(lastStoredList);
}