aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte17
-rw-r--r--src/lib/Settings/Categories/Display.svelte4
2 files changed, 20 insertions, 1 deletions
diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte
index 3474f0b6..f9584659 100644
--- a/src/lib/List/Anime/CleanAnimeList.svelte
+++ b/src/lib/List/Anime/CleanAnimeList.svelte
@@ -30,6 +30,13 @@
export let dummy = false;
let keyCacher: NodeJS.Timeout;
+ let totalEpisodeDueCount = media
+ .map((anime) => {
+ if (anime.mediaListEntry?.status === 'COMPLETED') return 0;
+
+ return (anime.nextAiringEpisode?.episode || 1) - (anime.mediaListEntry?.progress || 0) - 1;
+ })
+ .reduce((a, b) => a + b, 0);
onMount(() => {
if (dummy) return;
@@ -91,7 +98,15 @@
};
</script>
-<ListTitle time={endTime / 1000} count={media.length} {title} hideTime={dummy} hideCount={dummy} />
+<ListTitle
+ time={endTime / 1000}
+ count={$settings.displayTotalDueEpisodes && !notYetReleased && !completed && !upcoming
+ ? totalEpisodeDueCount
+ : media.length}
+ {title}
+ hideTime={dummy}
+ hideCount={dummy}
+/>
{#if media.length === 0}
No anime to display. <button on:click={() => (animeLists = cleanCache(user, $identity))}>
diff --git a/src/lib/Settings/Categories/Display.svelte b/src/lib/Settings/Categories/Display.svelte
index 280f92ad..0b23904b 100644
--- a/src/lib/Settings/Categories/Display.svelte
+++ b/src/lib/Settings/Categories/Display.svelte
@@ -267,6 +267,10 @@
setting="displayCopyMediaTitleNotLink"
text="Copy media title instead of linking"
/>
+<SettingCheckboxToggle
+ setting="displayTotalDueEpisodes"
+ text="Display total number of due episodes instead of due media count"
+/>
<select bind:value={$settings.displayTitleFormat}>
<option value="english">
{$locale().settings.display.categories.media.fields.mediaTitleFormat.options.english}