From e80a83cf87eb79be4c2ac016d3c97709d41ee353 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 24 Jan 2024 20:43:41 -0800 Subject: feat(identity): use global store --- src/lib/Tools/ActivityHistory/Grid.svelte | 20 +++--------------- src/lib/Tools/ActivityHistory/Tool.svelte | 20 +++--------------- src/lib/Tools/Wrapped/Tool.svelte | 34 +++++++++---------------------- src/lib/Tools/Wrapped/Top/Activity.svelte | 9 ++++---- 4 files changed, 20 insertions(+), 63 deletions(-) (limited to 'src/lib/Tools') diff --git a/src/lib/Tools/ActivityHistory/Grid.svelte b/src/lib/Tools/ActivityHistory/Grid.svelte index 560ed50b..7f75c104 100644 --- a/src/lib/Tools/ActivityHistory/Grid.svelte +++ b/src/lib/Tools/ActivityHistory/Grid.svelte @@ -5,11 +5,8 @@ activityHistory } from '$lib/AniList/activity'; import { onMount } from 'svelte'; - 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 { clearAllParameters } from '../../Utility/parameters'; export let user: AniListAuthorisation; @@ -17,23 +14,12 @@ export let currentYear = new Date().getFullYear(); let activityHistoryData: ActivityHistoryEntry[]; - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; let baseHue = Math.floor(Math.random() * 360); onMount(async () => { clearAllParameters(); - if (user !== undefined) { - if ($userIdentity === '') userIdentity.set(JSON.stringify(await getUserIdentity(user))); - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - activityHistoryData = activityData || (await activityHistory(currentUserIdentity)); - } + activityHistoryData = activityData || (await activityHistory($userIdentity)); }); const gradientColour = (amount: number, maxAmount: number, baseHue: number) => { diff --git a/src/lib/Tools/ActivityHistory/Tool.svelte b/src/lib/Tools/ActivityHistory/Tool.svelte index 51f2ac82..6728f9c6 100644 --- a/src/lib/Tools/ActivityHistory/Tool.svelte +++ b/src/lib/Tools/ActivityHistory/Tool.svelte @@ -5,11 +5,8 @@ type ActivityHistoryEntry } from '$lib/AniList/activity'; import { onMount } from 'svelte'; - 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 { clearAllParameters } from '../../Utility/parameters'; import { domToBlob } from 'modern-screenshot'; import ActivityHistoryGrid from './Grid.svelte'; @@ -18,23 +15,12 @@ export let user: AniListAuthorisation; let activityHistoryData: Promise; - let currentUserIdentity = { - name: '', - id: -1, - avatar: 'https://s4.anilist.co/file/anilistcdn/user/avatar/large/default.png' - }; let generated = false; onMount(async () => { clearAllParameters(); - if (user !== undefined) { - if ($userIdentity === '') userIdentity.set(JSON.stringify(await getUserIdentity(user))); - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - activityHistoryData = activityHistory(currentUserIdentity); - } + if (user !== undefined) activityHistoryData = activityHistory($userIdentity); }); // const incrementDate = (date: Date): Date => { 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 @@ -{#if currentUserIdentity.id === -2} +{#if $userIdentity.id === -2}
Please log in to view this page.
-{: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)} {@html nbsp(`Loading${useFullActivityHistory ? ' full-year' : ''} activity history ...`)} {:then activities} - {#await wrapped(user, currentUserIdentity, selectedYear)} + {#await wrapped(user, $userIdentity, selectedYear)} {@html nbsp('Loading user data ...')} @@ -604,7 +591,6 @@
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 @@