diff options
| author | Fuwn <[email protected]> | 2023-09-28 16:27:08 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-09-28 16:27:18 -0700 |
| commit | 567357210b4b23929e0e6d13de925601964269ea (patch) | |
| tree | 0a67c6e9f897d838d341ae5c84663e00c4c07991 | |
| parent | fix(tools): fix wrapped width (diff) | |
| download | due.moe-567357210b4b23929e0e6d13de925601964269ea.tar.xz due.moe-567357210b4b23929e0e6d13de925601964269ea.zip | |
fix(wrapped): filter highest by current year
| -rw-r--r-- | src/lib/AniList/media.ts | 5 | ||||
| -rw-r--r-- | src/lib/Tools/Wrapped.svelte | 17 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts index d9ce5e57..5c59e5e9 100644 --- a/src/lib/AniList/media.ts +++ b/src/lib/AniList/media.ts @@ -29,6 +29,9 @@ export interface Media { progress: number; status: string; score: number; + startedAt: { + year: number; + }; }; startDate: { year: number; @@ -120,7 +123,7 @@ export const mediaListCollection = async ( format title { romaji english native } nextAiringEpisode { episode timeUntilAiring } - mediaListEntry { progress status score(format: POINT_100) } + mediaListEntry { progress status score(format: POINT_100) startedAt { year } } startDate { year } coverImage { extraLarge } } } } diff --git a/src/lib/Tools/Wrapped.svelte b/src/lib/Tools/Wrapped.svelte index ea17fefc..93d68521 100644 --- a/src/lib/Tools/Wrapped.svelte +++ b/src/lib/Tools/Wrapped.svelte @@ -30,6 +30,9 @@ currentUserIdentity = JSON.parse($userIdentity); currentUserIdentity.name = currentUserIdentity.name; + + const currentYear = new Date(Date.now()).getFullYear(); + animeList = ( await mediaListCollection( user, @@ -40,7 +43,11 @@ true, true ) - ).filter((m) => m.mediaListEntry?.status === 'COMPLETED'); + ).filter( + (m) => + m.mediaListEntry?.status === 'COMPLETED' && + m.mediaListEntry.startedAt.year === currentYear + ); mangaList = ( await mediaListCollection( user, @@ -51,7 +58,11 @@ true, true ) - ).filter((m) => m.mediaListEntry?.status === 'COMPLETED'); + ).filter( + (m) => + m.mediaListEntry?.status === 'COMPLETED' && + m.mediaListEntry.startedAt.year === currentYear + ); animeList = animeList.sort((a, b) => { if (a.mediaListEntry?.score === undefined) { return 1; @@ -72,7 +83,7 @@ }); for (const media of animeList) { - if (media.startDate.year === new Date(Date.now()).getFullYear()) { + if (media.startDate.year === currentYear) { episodes += media.mediaListEntry?.progress || 0; } } |