allow Feed to hide entries already in Library

close #438
This commit is contained in:
Cuong-Tran 2024-10-19 16:55:28 +07:00
parent 8895015388
commit 5a458ac39c
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
3 changed files with 18 additions and 1 deletions

View file

@ -41,6 +41,10 @@ class SourcePreferences(
fun hideInLibraryItems() = preferenceStore.getBoolean("browse_hide_in_library_items", false) fun hideInLibraryItems() = preferenceStore.getBoolean("browse_hide_in_library_items", false)
// KMK -->
fun hideInLibraryFeedItems() = preferenceStore.getBoolean("feed_hide_in_library_items", false)
// KMK <--
@Deprecated("Use ExtensionRepoRepository instead", replaceWith = ReplaceWith("ExtensionRepoRepository.getAll()")) @Deprecated("Use ExtensionRepoRepository instead", replaceWith = ReplaceWith("ExtensionRepoRepository.getAll()"))
fun extensionRepos() = preferenceStore.getStringSet("extension_repos", emptySet()) fun extensionRepos() = preferenceStore.getStringSet("extension_repos", emptySet())

View file

@ -105,6 +105,12 @@ object SettingsBrowseScreen : SearchableSettings {
subtitle = stringResource(SYMR.strings.pref_feed_position_summery), subtitle = stringResource(SYMR.strings.pref_feed_position_summery),
enabled = hideFeedTab.not(), enabled = hideFeedTab.not(),
), ),
// KMK -->
Preference.PreferenceItem.SwitchPreference(
pref = sourcePreferences.hideInLibraryFeedItems(),
title = stringResource(MR.strings.pref_hide_in_library_items),
),
// KMK <--
), ),
), ),
// SY <-- // SY <--

View file

@ -276,6 +276,10 @@ open class FeedScreenModel(
) )
} }
// KMK -->
private val hideInLibraryFeedItems = sourcePreferences.hideInLibraryFeedItems()
// KMK <--
/** /**
* Initiates get manga per feed. * Initiates get manga per feed.
*/ */
@ -315,7 +319,10 @@ open class FeedScreenModel(
itemUI.copy( itemUI.copy(
results = page.map { results = page.map {
networkToLocalManga.await(it.toDomainManga(itemUI.source!!.id)) networkToLocalManga.await(it.toDomainManga(itemUI.source!!.id))
}, }
// KMK -->
.filter { !hideInLibraryFeedItems.get() || !it.favorite },
// KMK <--
) )
} }