From 70fe91d8148815bab099b64aa14a927336d871e7 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Thu, 20 Mar 2025 07:56:14 -0700 Subject: feat: Add reverse sorting settings toggle and functionality --- src/lib/List/Anime/CleanAnimeList.svelte | 18 ++++++++++++++++-- src/lib/List/CleanGrid.svelte | 4 +++- src/lib/List/CleanList.svelte | 5 ++++- src/lib/Settings/Categories/Display.svelte | 24 +++++++++++++----------- 4 files changed, 36 insertions(+), 15 deletions(-) (limited to 'src/lib') diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 57e201d7..5a93c731 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -127,7 +127,14 @@ {/if} {#if $settings.displayCoverModeAnime} - +
{#if !upcoming && !notYetReleased} {pendingUpdate === anime.id ? progress + 1 : progress}{@html totalEpisodes(anime)} @@ -149,7 +156,14 @@
{:else} - + {#if !upcoming || notYetReleased || !$settings.displayCountdownRightAligned} | diff --git a/src/lib/List/CleanGrid.svelte b/src/lib/List/CleanGrid.svelte index ec93a685..549d388f 100644 --- a/src/lib/List/CleanGrid.svelte +++ b/src/lib/List/CleanGrid.svelte @@ -12,15 +12,17 @@ export let type: 'anime' | 'manga'; export let upcoming = false; export let notYetReleased = false; + export let reverseSort = false; let uniqueID = new Date().getTime(); + let processedMedia = reverseSort ? media.reverse() : media;
- {#each media as title} + {#each processedMedia as title} {@const progress = (title.mediaListEntry || { progress: 0 }).progress} {#if type === 'anime' ? upcoming || notYetReleased || progress !== (title.nextAiringEpisode?.episode || 9999) - 1 : progress != title.episodes} diff --git a/src/lib/List/CleanList.svelte b/src/lib/List/CleanList.svelte index 47811932..82f0709b 100644 --- a/src/lib/List/CleanList.svelte +++ b/src/lib/List/CleanList.svelte @@ -10,10 +10,13 @@ export let upcoming = false; export let notYetReleased = false; export let lastUpdatedMedia: number; + export let reverseSort = false; + + let processedMedia = reverseSort ? media.reverse() : media;
    - {#each media as title} + {#each processedMedia as title} {@const progress = (title.mediaListEntry || { progress: 0 }).progress} {#if type === 'anime' ? upcoming || notYetReleased || progress !== (title.nextAiringEpisode?.episode || 9999) - 1 : progress !== title.episodes} diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte index 1dbe4c95..e47bf2ae 100644 --- a/src/lib/Settings/Categories/Display.svelte +++ b/src/lib/Settings/Categories/Display.svelte @@ -315,6 +315,19 @@

    +List sort
    + +
    + + + {$locale().settings.display.categories.media.fields.sortBy.hint} + + +
    + {$locale().settings.display.categories.media.title}
    - - - {$locale().settings.display.categories.media.fields.sortBy.hint} - - - -
    -