From d2c1ff6adf5543e5a593949704d41f2358252593 Mon Sep 17 00:00:00 2001
From: Danny Wu <41532792+User826@users.noreply.github.com>
Date: Fri, 20 Jun 2025 05:00:10 -0400
Subject: [PATCH] Add option to hide missing chapter count (#2108)
Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
---
CHANGELOG.md | 1 +
.../more/settings/screen/SettingsLibraryScreen.kt | 4 ++++
.../java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt | 6 ++++++
.../tachiyomi/domain/library/service/LibraryPreferences.kt | 1 +
i18n/src/commonMain/moko-resources/base/strings.xml | 2 ++
5 files changed, 14 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d935fcb57..a56d41655 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co
- Surface image loading error in Reader ([@AwkwardPeak7](https://github.com/AwkwardPeak7)) ([#1981](https://github.com/mihonapp/mihon/pull/1981))
- Include source headers when opening failed images from reader ([@AwkwardPeak7](https://github.com/AwkwardPeak7)) ([#2004](https://github.com/mihonapp/mihon/pull/2004))
- Added autofill support to tracker login dialog ([@AntsyLich](https://github.com/AntsyLich)) ([#2069](https://github.com/mihonapp/mihon/pull/2069))
+- Added option to hide missing chapter count ([@User826](https://github.com/User826), [@AntsyLich](https://github.com/AntsyLich)) ([#2108](https://github.com/mihonapp/mihon/pull/2108))
### Changed
- Display all similarly named duplicates in duplicate manga dialogue ([@NarwhalHorns](https://github.com/NarwhalHorns), [@AntsyLich](https://github.com/AntsyLich)) ([#1861](https://github.com/mihonapp/mihon/pull/1861))
diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
index 5c1dbf270..016cfa126 100644
--- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
+++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsLibraryScreen.kt
@@ -256,6 +256,10 @@ object SettingsLibraryScreen : SearchableSettings {
),
title = stringResource(MR.strings.pref_mark_duplicate_read_chapter_read),
),
+ Preference.PreferenceItem.SwitchPreference(
+ preference = libraryPreferences.hideMissingChapters(),
+ title = stringResource(MR.strings.pref_hide_missing_chapter_indicators),
+ ),
),
)
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
index 33e7f051e..fa7da81b4 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreenModel.kt
@@ -230,6 +230,7 @@ class MangaScreenModel(
excludedScanlators = getExcludedScanlators.await(mangaId),
isRefreshingData = needRefreshInfo || needRefreshChapter,
dialog = null,
+ hideMissingChapters = libraryPreferences.hideMissingChapters().get(),
)
}
@@ -1126,6 +1127,7 @@ class MangaScreenModel(
val isRefreshingData: Boolean = false,
val dialog: Dialog? = null,
val hasPromptedToAddBefore: Boolean = false,
+ val hideMissingChapters: Boolean = false,
) : State {
val processedChapters by lazy {
chapters.applyFilters(manga).toList()
@@ -1136,6 +1138,10 @@ class MangaScreenModel(
}
val chapterListItems by lazy {
+ if (hideMissingChapters) {
+ return@lazy processedChapters
+ }
+
processedChapters.insertSeparators { before, after ->
val (lowerChapter, higherChapter) = if (manga.sortDescending()) {
after to before
diff --git a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
index 7ddecc512..18b2aa260 100644
--- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
+++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt
@@ -175,6 +175,7 @@ class LibraryPreferences(
fun autoClearChapterCache() = preferenceStore.getBoolean("auto_clear_chapter_cache", false)
+ fun hideMissingChapters() = preferenceStore.getBoolean("pref_hide_missing_chapter_indicators", false)
// endregion
// region Swipe Actions
diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml
index 93877a1fc..07b0ea831 100644
--- a/i18n/src/commonMain/moko-resources/base/strings.xml
+++ b/i18n/src/commonMain/moko-resources/base/strings.xml
@@ -317,6 +317,8 @@
After reading a chapter
After fetching new chapter
+ Hide missing chapter indicators
+
Multi
Updates pending