aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tools/Wrapped
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/lib/Tools/Wrapped
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/lib/Tools/Wrapped')
-rw-r--r--src/lib/Tools/Wrapped/Tool.svelte34
-rw-r--r--src/lib/Tools/Wrapped/Top/Activity.svelte9
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>