diff options
Diffstat (limited to 'src/lib')
| -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; |