BrowseSourceScreen: fix navigate up and filter sheet (#8761)
(cherry picked from commit 817e144ff697b4c6760c0101a6995d7030eb48a0) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt
This commit is contained in:
parent
c081efba4b
commit
a6d0031462
@ -103,6 +103,13 @@ data class BrowseSourceScreen(
|
||||
|
||||
val snackbarHostState = remember { SnackbarHostState() }
|
||||
|
||||
val navigateUp: () -> Unit = {
|
||||
when {
|
||||
!state.isUserQuery && state.toolbarQuery != null -> screenModel.setToolbarQuery(null)
|
||||
else -> navigator.pop()
|
||||
}
|
||||
}
|
||||
|
||||
val onHelpClick = { uriHandler.openUri(LocalSource.HELP_URL) }
|
||||
|
||||
val onWebViewClick = f@{
|
||||
@ -124,7 +131,7 @@ data class BrowseSourceScreen(
|
||||
source = screenModel.source,
|
||||
displayMode = screenModel.displayMode,
|
||||
onDisplayModeChange = { screenModel.displayMode = it },
|
||||
navigateUp = navigator::pop,
|
||||
navigateUp = navigateUp,
|
||||
onWebViewClick = onWebViewClick,
|
||||
onHelpClick = onHelpClick,
|
||||
onSearch = { screenModel.search(it) },
|
||||
|
@ -473,7 +473,7 @@ open class BrowseSourceScreenModel(
|
||||
onFilterClicked = { search(filters = state.filters) },
|
||||
onResetClicked = {
|
||||
reset()
|
||||
filterSheet?.setFilters(state.filterItems)
|
||||
filterSheet?.setFilters(state.value.filterItems)
|
||||
},
|
||||
// EXH -->
|
||||
onSaveClicked = {
|
||||
@ -511,7 +511,7 @@ open class BrowseSourceScreenModel(
|
||||
// EXH <--
|
||||
)
|
||||
|
||||
filterSheet?.setFilters(state.filterItems)
|
||||
filterSheet?.setFilters(state.value.filterItems)
|
||||
}
|
||||
|
||||
sealed class Filter(open val query: String?, open val filters: FilterList) {
|
||||
@ -556,12 +556,8 @@ open class BrowseSourceScreenModel(
|
||||
val savedSearches: List<EXHSavedSearch> = emptyList(),
|
||||
// SY <--
|
||||
) {
|
||||
val filterItems = filters.toItems()
|
||||
val isUserQuery = currentFilter is Filter.UserInput && !currentFilter.query.isNullOrEmpty()
|
||||
val searchQuery = when (currentFilter) {
|
||||
is Filter.UserInput -> currentFilter.query
|
||||
Filter.Latest, Filter.Popular -> null
|
||||
}
|
||||
val filterItems get() = filters.toItems()
|
||||
val isUserQuery get() = currentFilter is Filter.UserInput && !currentFilter.query.isNullOrEmpty()
|
||||
}
|
||||
|
||||
// EXH -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user