diff options
| author | Fuwn <[email protected]> | 2023-11-10 15:48:37 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-11-10 15:48:37 -0800 |
| commit | c0e77139755565ba0aa0ee25772bb118c3153a64 (patch) | |
| tree | 0386557383f5a3651c9eda4efd3fec50bdc2e4f7 /src/lib/Tools/Wrapped.svelte | |
| parent | ci(docker): bump bun image (diff) | |
| download | due.moe-c0e77139755565ba0aa0ee25772bb118c3153a64.tar.xz due.moe-c0e77139755565ba0aa0ee25772bb118c3153a64.zip | |
fix(wrapped): remove duplicates
Diffstat (limited to 'src/lib/Tools/Wrapped.svelte')
| -rw-r--r-- | src/lib/Tools/Wrapped.svelte | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/src/lib/Tools/Wrapped.svelte b/src/lib/Tools/Wrapped.svelte index 8dd448bd..479e4f7f 100644 --- a/src/lib/Tools/Wrapped.svelte +++ b/src/lib/Tools/Wrapped.svelte @@ -45,7 +45,21 @@ true, true ) - ).filter((m) => m.mediaListEntry?.startedAt.year === currentYear); + ) + .filter( + (item, index, self) => + self.findIndex((itemToCompare) => itemToCompare.id === item.id) === index + ) + .filter((m) => m.mediaListEntry?.startedAt.year === currentYear) + .sort((a, b) => { + if (a.mediaListEntry?.score === undefined) { + return 1; + } else if (b.mediaListEntry?.score === undefined) { + return -1; + } else { + return b.mediaListEntry?.score - a.mediaListEntry?.score; + } + }); mangaList = ( await mediaListCollection( user, @@ -56,25 +70,21 @@ true, true ) - ).filter((m) => m.mediaListEntry?.startedAt.year === currentYear); - animeList = animeList.sort((a, b) => { - if (a.mediaListEntry?.score === undefined) { - return 1; - } else if (b.mediaListEntry?.score === undefined) { - return -1; - } else { - return b.mediaListEntry?.score - a.mediaListEntry?.score; - } - }); - mangaList = mangaList.sort((a, b) => { - if (a.mediaListEntry?.score === undefined) { - return 1; - } else if (b.mediaListEntry?.score === undefined) { - return -1; - } else { - return b.mediaListEntry?.score - a.mediaListEntry?.score; - } - }); + ) + .filter( + (item, index, self) => + self.findIndex((itemToCompare) => itemToCompare.id === item.id) === index + ) + .filter((m) => m.mediaListEntry?.startedAt.year === currentYear) + .sort((a, b) => { + if (a.mediaListEntry?.score === undefined) { + return 1; + } else if (b.mediaListEntry?.score === undefined) { + return -1; + } else { + return b.mediaListEntry?.score - a.mediaListEntry?.score; + } + }); for (const media of animeList) { episodes += media.mediaListEntry?.progress || 0; |