aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-11-18 23:51:02 -0800
committerFuwn <[email protected]>2023-11-18 23:51:02 -0800
commit62d6037f346096369094d3242e244a25778b2fd0 (patch)
tree9de8070f29354be205c4b4690048a40820070b22 /src
parentrefactor(upcoming): chain filters (diff)
downloaddue.moe-62d6037f346096369094d3242e244a25778b2fd0.tar.xz
due.moe-62d6037f346096369094d3242e244a25778b2fd0.zip
refactor(due): chain filters
Diffstat (limited to 'src')
-rw-r--r--src/lib/List/Anime/DueAnimeList.svelte55
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>