diff options
| author | Fuwn <[email protected]> | 2023-11-18 23:51:02 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-11-18 23:51:02 -0800 |
| commit | 62d6037f346096369094d3242e244a25778b2fd0 (patch) | |
| tree | 9de8070f29354be205c4b4690048a40820070b22 /src | |
| parent | refactor(upcoming): chain filters (diff) | |
| download | due.moe-62d6037f346096369094d3242e244a25778b2fd0.tar.xz due.moe-62d6037f346096369094d3242e244a25778b2fd0.zip | |
refactor(due): chain filters
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/List/Anime/DueAnimeList.svelte | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/src/lib/List/Anime/DueAnimeList.svelte b/src/lib/List/Anime/DueAnimeList.svelte index 02b344fd..c20c1d90 100644 --- a/src/lib/List/Anime/DueAnimeList.svelte +++ b/src/lib/List/Anime/DueAnimeList.svelte @@ -34,38 +34,39 @@ onDestroy(() => clearInterval(keyCacher)); - const cleanMedia = (media: Media[], displayUnresolved: boolean) => { - if (media === undefined) { - return []; - } + const cleanMedia = (anime: Media[], displayUnresolved: boolean) => { + if (anime === undefined) return []; - const releasingMedia = media.filter( - (media: Media) => - media.status == 'RELEASING' && - (media.mediaListEntry || { status: 'DROPPED' }).status != - ($settings.displayPausedMedia ? '' : 'PAUSED') && - (media.mediaListEntry || { progress: 0 }).progress >= - ($settings.displayNotStarted === true ? 0 : 1) - ); - const outdatedMedia = releasingMedia.filter((media: Media) => { - return ( - (media.nextAiringEpisode || { episode: 0 }).episode - 1 != - (media.mediaListEntry || { progress: 0 }).progress - ); - }); - let finalMedia = outdatedMedia.map((media: Media) => { - if ((media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0) { - media.nextAiringEpisode = { episode: -1 }; - } + let dueAnime = anime + .filter( + // Releasing media + (media: Media) => + media.status === 'RELEASING' && + (media.mediaListEntry || { status: 'DROPPED' }).status != + ($settings.displayPausedMedia ? '' : 'PAUSED') && + (media.mediaListEntry || { progress: 0 }).progress >= + ($settings.displayNotStarted === true ? 0 : 1) + ) + .filter((media: Media) => { + // Outdated media + return ( + (media.nextAiringEpisode || { episode: 0 }).episode - 1 != + (media.mediaListEntry || { progress: 0 }).progress + ); + }) + .map((media: Media) => { + if ((media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0) { + media.nextAiringEpisode = { episode: -1 }; + } - return media; - }); + return media; + }); if (!displayUnresolved) { - finalMedia = finalMedia.filter((media: Media) => media.nextAiringEpisode?.episode !== -1); + dueAnime = dueAnime.filter((media: Media) => media.nextAiringEpisode?.episode !== -1); } - finalMedia.sort((a: Media, b: Media) => { + dueAnime.sort((a: Media, b: Media) => { if ($settings.sortByDifference === true) { const difference = (anime: Media) => { return ( @@ -89,7 +90,7 @@ endTime = performance.now() - startTime; } - return finalMedia; + return dueAnime; }; </script> |