diff options
| author | Fuwn <[email protected]> | 2023-08-27 22:06:13 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-08-27 22:06:13 -0700 |
| commit | 8bdaf94d9dd0582315eeedb3d04210d3fd3acfa6 (patch) | |
| tree | 57190421baae547f345238f9e2c94c679f3fc8c6 /src/lib | |
| parent | fix(mangadex): null fallbacks (diff) | |
| download | due.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.svelte | 24 |
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) => { |