diff options
| author | Fuwn <[email protected]> | 2024-11-18 16:43:05 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-11-18 16:43:05 -0800 |
| commit | f82a798a099e844084c863624f2d718ab942e197 (patch) | |
| tree | 712e8cb188621dbc4b1782977e03ab6a4fc0a0c1 | |
| parent | feat(CleanMangaList): add total due episode count toggle function (diff) | |
| download | due.moe-f82a798a099e844084c863624f2d718ab942e197.tar.xz due.moe-f82a798a099e844084c863624f2d718ab942e197.zip | |
feat(List): display total episodes everywhere toggle
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 5 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 4 | ||||
| -rw-r--r-- | src/lib/Settings/Categories/Display.svelte | 9 | ||||
| -rw-r--r-- | src/stores/settings.ts | 22 |
4 files changed, 28 insertions, 12 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 0220a366..b8079f7a 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -32,6 +32,8 @@ let keyCacher: NodeJS.Timeout; let totalEpisodeDueCount = media .map((anime) => { + if ($settings.displayTotalEpisodes && anime.status === 'FINISHED') return anime.episodes; + if (anime.mediaListEntry?.status === 'COMPLETED') return 0; return (anime.nextAiringEpisode?.episode || 1) - (anime.mediaListEntry?.progress || 0) - 1; @@ -100,7 +102,8 @@ <ListTitle time={endTime / 1000} - count={$settings.displayTotalDueEpisodes && !notYetReleased && !completed && !upcoming + count={($settings.displayTotalDueEpisodes && !notYetReleased && !completed && !upcoming) || + $settings.displayTotalEpisodes ? totalEpisodeDueCount : media.length} {title} diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 7b5b04b7..cbe2bd9f 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -53,7 +53,9 @@ {#if authorised} <ListTitle - count={$settings.displayTotalDueEpisodes && due ? totalEpisodeDueCount : media.length} + count={($settings.displayTotalDueEpisodes && due) || $settings.displayTotalEpisodes + ? totalEpisodeDueCount + : media.length} time={endTime / 1000} title={due ? $locale().lists.due.mangaAndLightNovels diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte index 3b572b7b..1dbe4c95 100644 --- a/src/lib/Settings/Categories/Display.svelte +++ b/src/lib/Settings/Categories/Display.svelte @@ -329,7 +329,16 @@ <SettingCheckboxToggle setting="displayTotalDueEpisodes" text="Display total number of due episodes instead of due media count" + lineBreak={!$settings.displayTotalDueEpisodes} /> + +{#if $settings.displayTotalDueEpisodes} + <SettingCheckboxToggle + setting="displayTotalEpisodes" + text="Apply to all media lists, not just due media lists" + /> +{/if} + <SettingCheckboxToggle setting="displayScheduleFilterList" text="Only display media on your media lists in Subtitle Schedule" diff --git a/src/stores/settings.ts b/src/stores/settings.ts index 9d6b0e3e..3d663a23 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -30,16 +30,16 @@ export interface Settings { displayPlannedAnime: boolean; displayFurigana: boolean; displayAoButa: - | 'kaede' - | 'mai' - | 'mai_2' - | 'nodoka' - | 'rio' - | 'sakuta' - | 'shouko' - | 'tomoe' - | 'random' - | 'none'; + | 'kaede' + | 'mai' + | 'mai_2' + | 'nodoka' + | 'rio' + | 'sakuta' + | 'shouko' + | 'tomoe' + | 'random' + | 'none'; disableManga: boolean; disableAnime: boolean; disableUpcomingAnime: boolean; @@ -61,6 +61,7 @@ export interface Settings { displayBlurAdultContent: boolean; displayCopyMediaTitleNotLink: boolean; displayTotalDueEpisodes: boolean; + displayTotalEpisodes: boolean; displayAniListNotifications: boolean; displayFiltersIncludeCompleted: boolean; displayDataSaver: boolean; @@ -104,6 +105,7 @@ const defaultSettings: Settings = { displayBlurAdultContent: true, displayCopyMediaTitleNotLink: false, displayTotalDueEpisodes: false, + displayTotalEpisodes: false, displayAniListNotifications: false, displayFiltersIncludeCompleted: false, displayDataSaver: false, |