aboutsummaryrefslogtreecommitdiff
path: root/src/routes
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/routes
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/routes')
-rw-r--r--src/routes/+layout.svelte28
-rw-r--r--src/routes/user/+page.svelte26
-rw-r--r--src/routes/user/[user]/badges/+page.svelte7
3 files changed, 31 insertions, 30 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 1dd069a0..d9caca74 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -76,22 +76,22 @@
onMount(async () => {
if (browser) {
- if (localStorage.getItem('redirect')) {
- window.location.href = localStorage.getItem('redirect') ?? '/';
+ if (await localforage.getItem('redirect')) {
+ window.location.href = (await localforage.getItem('redirect')) ?? '/';
- localStorage.removeItem('redirect');
+ await localforage.removeItem('redirect');
}
window.addEventListener('scroll', handleScroll);
- if (localStorage.getItem('commit') !== data.commit) {
- localStorage.removeItem('identity');
- localStorage.removeItem('anime');
- localStorage.removeItem('manga');
+ if ((await localforage.getItem('commit')) !== data.commit) {
+ await localforage.removeItem('identity');
await localforage.removeItem('anime');
await localforage.removeItem('manga');
- localStorage.removeItem('lastPruneTimes');
- localStorage.setItem('commit', data.commit);
+ await localforage.removeItem('anime');
+ await localforage.removeItem('manga');
+ await localforage.removeItem('lastPruneTimes');
+ await localforage.setItem('commit', data.commit);
}
}
@@ -213,9 +213,9 @@
name: $locale().navigation.logOut,
url: '#',
preventDefault: true,
- onClick: () => {
- localStorage.removeItem('identity');
- localStorage.removeItem('commit');
+ onClick: async () => {
+ await localforage.removeItem('identity');
+ await localforage.removeItem('commit');
document.cookie = 'user=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';
@@ -235,8 +235,8 @@
<a
class="header-item"
href={`https://anilist.co/api/v2/oauth/authorize?client_id=${env.PUBLIC_ANILIST_CLIENT_ID}&redirect_uri=${env.PUBLIC_ANILIST_REDIRECT_URI}&response_type=code`}
- on:click={() => {
- localStorage.setItem(
+ on:click={async () => {
+ await localforage.setItem(
'redirect',
window.location.origin + window.location.pathname + window.location.search
);
diff --git a/src/routes/user/+page.svelte b/src/routes/user/+page.svelte
index 29bd132b..eab089c6 100644
--- a/src/routes/user/+page.svelte
+++ b/src/routes/user/+page.svelte
@@ -7,23 +7,23 @@
import HeadTitle from '$lib/Home/HeadTitle.svelte';
import root from '$lib/Utility/root';
import { page } from '$app/stores';
+ import localforage from 'localforage';
- const user =
- browser && localStorage.getItem('identity')
- ? (JSON.parse(localStorage.getItem('identity') || '') as UserIdentity).name
- : null;
+ onMount(async () => {
+ if (browser) {
+ const user = ((await localforage.getItem('identity')) as UserIdentity).name;
- onMount(() => {
- if (user) {
- if (browser && $page.url.searchParams.get('badges') !== null) {
- goto(root(`/user/${user}/badges`));
+ if (user) {
+ if (browser && $page.url.searchParams.get('badges') !== null) {
+ goto(root(`/user/${user}/badges`));
+ } else {
+ goto(root(`/user/${user}`));
+ }
} else {
- goto(root(`/user/${user}`));
+ goto(
+ `https://anilist.co/api/v2/oauth/authorize?client_id=${env.PUBLIC_ANILIST_CLIENT_ID}&redirect_uri=${env.PUBLIC_ANILIST_REDIRECT_URI}&response_type=code`
+ );
}
- } else {
- goto(
- `https://anilist.co/api/v2/oauth/authorize?client_id=${env.PUBLIC_ANILIST_CLIENT_ID}&redirect_uri=${env.PUBLIC_ANILIST_REDIRECT_URI}&response_type=code`
- );
}
});
</script>
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index 9fca60b2..43beddea 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -23,6 +23,7 @@
import type { IndexedBadge } from '$lib/User/BadgeWall/badge';
import { graphql } from '$houdini';
import type { Preferences } from '../../../../graphql/user/$types';
+ import localforage from 'localforage';
export let data;
@@ -205,7 +206,7 @@
});
onMount(async () => {
- if (browser && localStorage.getItem('badgeWallNoticeDismissed')) noticeDismissed = true;
+ if (browser && (await localforage.getItem('badgeWallNoticeDismissed'))) noticeDismissed = true;
badger = isId
? {
@@ -573,10 +574,10 @@
of all badges from your Badge Wall.
<p />
<button
- on:click={() => {
+ on:click={async () => {
noticeDismissed = true;
- localStorage.setItem('badgeWallNoticeDismissed', 'true');
+ await localforage.setItem('badgeWallNoticeDismissed', 'true');
}}
>
Dismiss