diff options
| author | Fuwn <[email protected]> | 2024-01-24 20:43:41 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-01-24 20:43:41 -0800 |
| commit | e80a83cf87eb79be4c2ac016d3c97709d41ee353 (patch) | |
| tree | a59dbf15eca22ae1faab8ac7e377dcc87f1a5420 /src/routes | |
| parent | feat(settings): smaller default cover width (diff) | |
| download | due.moe-e80a83cf87eb79be4c2ac016d3c97709d41ee353.tar.xz due.moe-e80a83cf87eb79be4c2ac016d3c97709d41ee353.zip | |
feat(identity): use global store
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/+layout.svelte | 24 | ||||
| -rw-r--r-- | src/routes/+page.svelte | 34 | ||||
| -rw-r--r-- | src/routes/completed/+page.svelte | 30 |
3 files changed, 22 insertions, 66 deletions
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 5c01cb98..3b243232 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,7 +2,7 @@ import { env } from '$env/dynamic/public'; import { userIdentity as getUserIdentity } from '$lib/AniList/identity'; import { onMount } from 'svelte'; - import userIdentity from '$stores/userIdentity'; + import userIdentity from '$stores/identity'; import settings from '$stores/settings'; import { browser } from '$app/environment'; import HeadTitle from '$lib/Home/HeadTitle.svelte'; @@ -27,11 +27,6 @@ $: i18nLocale.set($settings.displayLanguage); - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; const navigationOrder = ['/', '/completed', '/schedule', '/updates', '/tools', '/settings']; const previousPage: Readable<string | null> = readable(null, (set) => { const unsubscribe = navigating.subscribe(($navigating) => { @@ -59,12 +54,7 @@ settings.get(); if (data.user !== undefined) { - if ($userIdentity === '') { - userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); - } - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; + if ($userIdentity.id === -1) userIdentity.set(await getUserIdentity(data.user)); } }); </script> @@ -88,7 +78,7 @@ <span style="opacity: 50%;" class="header-item">|</span> {#if data.user} - <a href={root(`/user/${currentUserIdentity.name}`)} class="header-item"> + <a href={root(`/user/${$userIdentity.name}`)} class="header-item"> {$locale().navigation.profile} </a> {/if} @@ -111,8 +101,8 @@ {$locale().navigation.logOut} </a> {#if data.user} - <a href={root(`/user/${currentUserIdentity.name}`)} class="header-item"> - <img id="avatar" src={currentUserIdentity.avatar} alt="Avatar" /> + <a href={root(`/user/${$userIdentity.name}`)} class="header-item"> + <img id="avatar" src={$userIdentity.avatar} alt="Avatar" /> </a> {/if} {/if} @@ -122,7 +112,9 @@ <p /> <Notifications item={Notification} zIndex={5000}> - <Root {data} {way}><slot /></Root> + {#if $userIdentity.id !== -1} + <Root {data} {way}><slot /></Root> + {/if} </Notifications> </div> diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 9d31b7a5..d3f7d5f9 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,10 +1,9 @@ <script lang="ts"> import { onMount } from 'svelte'; - import { userIdentity as getUserIdentity } from '$lib/AniList/identity'; import AnimeList from '$lib/List/Anime/DueAnimeList.svelte'; import MangaListTemplate from '$lib/List/Manga/MangaListTemplate.svelte'; import UpcomingAnimeList from '$lib/List/Anime/UpcomingAnimeList.svelte'; - import userIdentity from '$stores/userIdentity'; + import userIdentity from '$stores/identity.js'; import settings from '$stores/settings'; import ListTitle from '$lib/List/ListTitle.svelte'; import HeadTitle from '$lib/Home/HeadTitle.svelte'; @@ -13,24 +12,7 @@ export let data; - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; - - onMount(async () => { - createHeightObserver(); - - if (data.user !== undefined) { - if ($userIdentity === '') { - userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); - } - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - } - }); + onMount(createHeightObserver); </script> <HeadTitle /> @@ -51,8 +33,8 @@ {:else} {#if !$settings.disableUpcomingAnime} <details open={!$settings.displayUpcomingAnimeCollapsed} class="list"> - {#if currentUserIdentity.id != -1} - <UpcomingAnimeList user={data.user} identity={currentUserIdentity} /> + {#if $userIdentity.id != -1} + <UpcomingAnimeList user={data.user} identity={$userIdentity} /> {:else} <ListTitle custom="Upcoming Episodes" /> @@ -67,8 +49,8 @@ {#if !$settings.disableAnime} <details open={!$settings.displayAnimeCollapsed} class="list"> - {#if currentUserIdentity.id != -1} - <AnimeList user={data.user} identity={currentUserIdentity} /> + {#if $userIdentity.id != -1} + <AnimeList user={data.user} identity={$userIdentity} /> {:else} <ListTitle anime /> @@ -83,10 +65,10 @@ {#if !$settings.disableManga} <details open={!$settings.displayMangaCollapsed} class="list"> - {#if currentUserIdentity.id != -1} + {#if $userIdentity.id != -1} <MangaListTemplate user={data.user} - identity={currentUserIdentity} + identity={$userIdentity} displayUnresolved={$settings.displayUnresolved} due={true} /> diff --git a/src/routes/completed/+page.svelte b/src/routes/completed/+page.svelte index 60549788..d1e0172f 100644 --- a/src/routes/completed/+page.svelte +++ b/src/routes/completed/+page.svelte @@ -1,7 +1,6 @@ <script lang="ts"> import { onMount } from 'svelte'; - import { userIdentity as getUserIdentity } from '$lib/AniList/identity'; - import userIdentity from '$stores/userIdentity'; + import userIdentity from '$stores/identity.js'; import settings from '$stores/settings'; import WatchingAnimeList from '$lib/List/Anime/CompletedAnimeList.svelte'; import ListTitle from '$lib/List/ListTitle.svelte'; @@ -12,24 +11,7 @@ export let data; - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; - - onMount(async () => { - createHeightObserver(); - - if (data.user !== undefined) { - if ($userIdentity === '') { - userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); - } - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - } - }); + onMount(createHeightObserver); </script> <HeadTitle route="Completed" path="/completed" /> @@ -41,8 +23,8 @@ Please log in to view due media. {:else} <details open={!$settings.displayAnimeCollapsed} class="list"> - {#if currentUserIdentity.id != -1} - <WatchingAnimeList user={data.user} identity={currentUserIdentity} /> + {#if $userIdentity.id != -1} + <WatchingAnimeList user={data.user} identity={$userIdentity} /> {:else} <ListTitle custom="Anime" /> @@ -51,10 +33,10 @@ </details> <details open={!$settings.displayMangaCollapsed} class="list"> - {#if currentUserIdentity.id != -1} + {#if $userIdentity.id != -1} <MangaListTemplate user={data.user} - identity={currentUserIdentity} + identity={$userIdentity} displayUnresolved={$settings.displayUnresolved} due={false} /> |