diff --git a/CHANGELOG.md b/CHANGELOG.md index ef5117ed2..26356cee0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - Add option to mark duplicate read chapters as read - Display staff information on Anilist tracker search results ([@NarwhalHorns](https://github.com/NarwhalHorns)) ([#1810](https://github.com/mihonapp/mihon/pull/1810)) - Add `id:` prefix search to library to search by internal DB ID ([@MajorTanya](https://github.com/MajorTanya)) ([#1856](https://github.com/mihonapp/mihon/pull/1856)) +- Add back option to disable unread chapter badge in library ([@AntsyLich](https://github.com/AntsyLich)) ([#1871](https://github.com/mihonapp/mihon/pull/1871)) ### Changed - Sliders UI diff --git a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt index 36d810003..851bbb2e0 100644 --- a/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/library/LibrarySettingsDialog.kt @@ -270,6 +270,10 @@ private fun ColumnScope.DisplayPage( label = stringResource(MR.strings.action_display_download_badge), pref = screenModel.libraryPreferences.downloadBadge(), ) + CheckboxItem( + label = stringResource(MR.strings.action_display_unread_badge), + pref = screenModel.libraryPreferences.unreadBadge(), + ) CheckboxItem( label = stringResource(MR.strings.action_display_local_badge), pref = screenModel.libraryPreferences.localBadge(), diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt index 7d6350a63..9b34276a1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryScreenModel.kt @@ -323,6 +323,7 @@ class LibraryScreenModel( private fun getLibraryItemPreferencesFlow(): Flow { return combine( libraryPreferences.downloadBadge().changes(), + libraryPreferences.unreadBadge().changes(), libraryPreferences.localBadge().changes(), libraryPreferences.languageBadge().changes(), libraryPreferences.autoUpdateMangaRestrictions().changes(), @@ -337,16 +338,17 @@ class LibraryScreenModel( ) { ItemPreferences( downloadBadge = it[0] as Boolean, - localBadge = it[1] as Boolean, - languageBadge = it[2] as Boolean, - skipOutsideReleasePeriod = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in (it[3] as Set<*>), - globalFilterDownloaded = it[4] as Boolean, - filterDownloaded = it[5] as TriState, - filterUnread = it[6] as TriState, - filterStarted = it[7] as TriState, - filterBookmarked = it[8] as TriState, - filterCompleted = it[9] as TriState, - filterIntervalCustom = it[10] as TriState, + unreadBadge = it[1] as Boolean, + localBadge = it[2] as Boolean, + languageBadge = it[3] as Boolean, + skipOutsideReleasePeriod = LibraryPreferences.MANGA_OUTSIDE_RELEASE_PERIOD in (it[4] as Set<*>), + globalFilterDownloaded = it[5] as Boolean, + filterDownloaded = it[6] as TriState, + filterUnread = it[7] as TriState, + filterStarted = it[8] as TriState, + filterBookmarked = it[9] as TriState, + filterCompleted = it[10] as TriState, + filterIntervalCustom = it[11] as TriState, ) } } @@ -370,7 +372,7 @@ class LibraryScreenModel( } else { 0 }, - unreadCount = libraryManga.unreadCount, + unreadCount = if (prefs.unreadBadge) libraryManga.unreadCount else 0, isLocal = if (prefs.localBadge) libraryManga.manga.isLocal() else false, sourceLanguage = if (prefs.languageBadge) { sourceManager.getOrStub(libraryManga.manga.source).lang @@ -704,6 +706,7 @@ class LibraryScreenModel( @Immutable private data class ItemPreferences( val downloadBadge: Boolean, + val unreadBadge: Boolean, val localBadge: Boolean, val languageBadge: Boolean, val skipOutsideReleasePeriod: Boolean, 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 68b4c7ae4..1be9bafce 100644 --- a/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt +++ b/domain/src/main/java/tachiyomi/domain/library/service/LibraryPreferences.kt @@ -98,6 +98,8 @@ class LibraryPreferences( fun downloadBadge() = preferenceStore.getBoolean("display_download_badge", false) + fun unreadBadge() = preferenceStore.getBoolean("display_unread_badge", true) + fun localBadge() = preferenceStore.getBoolean("display_local_badge", true) fun languageBadge() = preferenceStore.getBoolean("display_language_badge", false) diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml index dddaa86eb..e86543d0f 100644 --- a/i18n/src/commonMain/moko-resources/base/strings.xml +++ b/i18n/src/commonMain/moko-resources/base/strings.xml @@ -122,6 +122,7 @@ List Cover-only grid Downloaded chapters + Unread chapters Local source Language Show category tabs