aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-24 20:43:41 -0800
committerFuwn <[email protected]>2024-01-24 20:43:41 -0800
commite80a83cf87eb79be4c2ac016d3c97709d41ee353 (patch)
treea59dbf15eca22ae1faab8ac7e377dcc87f1a5420 /src/routes
parentfeat(settings): smaller default cover width (diff)
downloaddue.moe-e80a83cf87eb79be4c2ac016d3c97709d41ee353.tar.xz
due.moe-e80a83cf87eb79be4c2ac016d3c97709d41ee353.zip
feat(identity): use global store
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/+layout.svelte24
-rw-r--r--src/routes/+page.svelte34
-rw-r--r--src/routes/completed/+page.svelte30
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}
/>