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/lib/Tools/Wrapped | |
| 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/lib/Tools/Wrapped')
| -rw-r--r-- | src/lib/Tools/Wrapped/Tool.svelte | 34 | ||||
| -rw-r--r-- | src/lib/Tools/Wrapped/Top/Activity.svelte | 9 |
2 files changed, 14 insertions, 29 deletions
diff --git a/src/lib/Tools/Wrapped/Tool.svelte b/src/lib/Tools/Wrapped/Tool.svelte index b2f715cb..0a88fe3d 100644 --- a/src/lib/Tools/Wrapped/Tool.svelte +++ b/src/lib/Tools/Wrapped/Tool.svelte @@ -1,9 +1,6 @@ <script lang="ts"> - import userIdentity from '$stores/userIdentity'; - import { - userIdentity as getUserIdentity, - type AniListAuthorisation - } from '$lib/AniList/identity'; + import userIdentity from '$stores/identity'; + import type { AniListAuthorisation } from '$lib/AniList/identity'; import { onMount } from 'svelte'; import { tops, wrapped, type TopMedia, SortOptions } from '$lib/AniList/wrapped'; import { @@ -35,11 +32,6 @@ const currentYear = new Date(Date.now()).getFullYear(); let selectedYear = new Date(Date.now()).getFullYear(); - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; let episodes = 0; let chapters = 0; let minutesWatched = 0; @@ -274,22 +266,17 @@ includeOVAs = $page.url.searchParams.get('includeOVAs') === 'true'; } - if (user !== undefined) { - if ($userIdentity === '') userIdentity.set(JSON.stringify(await getUserIdentity(user))); - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - } else currentUserIdentity.id = -2; + if (user === undefined) $userIdentity.id = -2; await update().then(() => (mounted = true)); }); const update = async () => { - if (currentUserIdentity.id === -1) return; + if ($userIdentity.id === -1) return; let rawAnimeList = await mediaListCollection( user, - currentUserIdentity, + $userIdentity, Type.Anime, $anime, $lastPruneTimes.anime, @@ -386,7 +373,7 @@ let rawMangaList = await mediaListCollection( user, - currentUserIdentity, + $userIdentity, Type.Manga, $manga, $lastPruneTimes.manga, @@ -577,15 +564,15 @@ // }; </script> -{#if currentUserIdentity.id === -2} +{#if $userIdentity.id === -2} <div class="card">Please log in to view this page.</div> -{:else if currentUserIdentity.id !== -1} - {#await selectedYear !== currentYear || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, currentUserIdentity, selectedYear) : getActivityHistory(currentUserIdentity)} +{:else if $userIdentity.id !== -1} + {#await selectedYear !== currentYear || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, $userIdentity, selectedYear) : getActivityHistory($userIdentity)} <Loading> {@html nbsp(`Loading${useFullActivityHistory ? ' full-year' : ''} activity history ...`)} </Loading> {:then activities} - {#await wrapped(user, currentUserIdentity, selectedYear)} + {#await wrapped(user, $userIdentity, selectedYear)} <Loading> {@html nbsp('Loading user data ...')} </Loading> @@ -604,7 +591,6 @@ <div class="categories-grid" style="padding-bottom: 0;"> <Activity {wrapped} - identity={currentUserIdentity} year={selectedYear} {activities} {useFullActivityHistory} diff --git a/src/lib/Tools/Wrapped/Top/Activity.svelte b/src/lib/Tools/Wrapped/Top/Activity.svelte index a000389c..dab431c3 100644 --- a/src/lib/Tools/Wrapped/Top/Activity.svelte +++ b/src/lib/Tools/Wrapped/Top/Activity.svelte @@ -1,11 +1,10 @@ <script lang="ts"> import type { ActivityHistoryEntry } from '$lib/AniList/activity'; - import type { UserIdentity } from '$lib/AniList/identity'; + import identity from '$stores/identity'; import type { Wrapped } from '$lib/AniList/wrapped'; import proxy from '$lib/Utility/proxy'; export let wrapped: Wrapped; - export let identity: UserIdentity; export let year: number; export let activities: ActivityHistoryEntry[]; export let useFullActivityHistory: boolean; @@ -15,14 +14,14 @@ </script> <div class="grid-item image-grid avatar-grid category top-category"> - <a href={`https://anilist.co/user/${identity.name}`} target="_blank"> + <a href={`https://anilist.co/user/${$identity.name}`} target="_blank"> <img src={proxy(wrapped.avatar.large)} alt="User Avatar" on:load={updateWidth} /> </a> <div> <div> - <a href={`https://anilist.co/user/${identity.name}`} target="_blank"> + <a href={`https://anilist.co/user/${$identity.name}`} target="_blank"> <b> - {identity.name} + {$identity.name} </b> </a> </div> |