aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-08-27 22:06:13 -0700
committerFuwn <[email protected]>2023-08-27 22:06:13 -0700
commit8bdaf94d9dd0582315eeedb3d04210d3fd3acfa6 (patch)
tree57190421baae547f345238f9e2c94c679f3fc8c6 /src/lib
parentfix(mangadex): null fallbacks (diff)
downloaddue.moe-8bdaf94d9dd0582315eeedb3d04210d3fd3acfa6.tar.xz
due.moe-8bdaf94d9dd0582315eeedb3d04210d3fd3acfa6.zip
feat(anime): allow sort by days left
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/List/Due/AnimeList.svelte24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/lib/List/Due/AnimeList.svelte b/src/lib/List/Due/AnimeList.svelte
index a9f347a9..506107f8 100644
--- a/src/lib/List/Due/AnimeList.svelte
+++ b/src/lib/List/Due/AnimeList.svelte
@@ -4,6 +4,7 @@
import { onMount } from 'svelte';
import anime from '../../../stores/anime';
import animeLastPrune from '../../../stores/mangaLastPrune';
+ import sortByDifference from '../../../stores/sortByDifference';
export let user: AniListAuthorisation;
export let identity: UserIdentity;
@@ -44,16 +45,23 @@
}
finalMedia.sort((a: Media, b: Media) => {
- const difference = (anime: Media) => {
+ if ($sortByDifference === 'false') {
+ const difference = (anime: Media) => {
+ return (
+ (anime.nextAiringEpisode?.episode === -1
+ ? 99999
+ : anime.nextAiringEpisode?.episode || -1) -
+ (anime['mediaListEntry'] || { progress: 0 })['progress']
+ );
+ };
+
+ return difference(a) - difference(b);
+ } else {
return (
- (anime.nextAiringEpisode?.episode === -1
- ? 99999
- : anime.nextAiringEpisode?.episode || -1) -
- (anime['mediaListEntry'] || { progress: 0 })['progress']
+ (a.nextAiringEpisode?.timeUntilAiring || 9999) -
+ (b.nextAiringEpisode?.timeUntilAiring || 9999)
);
- };
-
- return difference(a) - difference(b);
+ }
});
finalMedia = finalMedia.filter((item, index, array) => {