make global search pinned/all sticky

This commit is contained in:
Cuong-Tran 2024-10-18 23:43:07 +07:00
parent 3decc8b86f
commit 6bb8535af4
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
2 changed files with 14 additions and 1 deletions

View file

@ -1,6 +1,7 @@
package eu.kanade.domain.source.service
import eu.kanade.domain.source.interactor.SetMigrateSorting
import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SourceFilter
import eu.kanade.tachiyomi.util.system.LocaleHelper
import tachiyomi.core.common.preference.Preference
import tachiyomi.core.common.preference.PreferenceStore
@ -56,6 +57,11 @@ class SourcePreferences(
)
// KMK -->
fun globalSearchPinnedState() = preferenceStore.getEnum(
Preference.appStateKey("global_search_pinned_toggle_state"),
SourceFilter.PinnedOnly,
)
fun disabledRepos() = preferenceStore.getStringSet("disabled_repos", emptySet())
// KMK <--

View file

@ -70,6 +70,13 @@ abstract class SearchScreenModel(
mutableState.update { it.copy(onlyShowHasResults = state) }
}
}
// KMK -->
screenModelScope.launch {
preferences.globalSearchPinnedState().changes().collectLatest { state ->
mutableState.update { it.copy(sourceFilter = state) }
}
}
// KMK <--
}
@Composable
@ -117,7 +124,7 @@ abstract class SearchScreenModel(
}
fun setSourceFilter(filter: SourceFilter) {
mutableState.update { it.copy(sourceFilter = filter) }
preferences.globalSearchPinnedState().set(filter)
search()
}