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 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 onHelpClick = { uriHandler.openUri(LocalSource.HELP_URL) }
|
||||||
|
|
||||||
val onWebViewClick = f@{
|
val onWebViewClick = f@{
|
||||||
@ -124,7 +131,7 @@ data class BrowseSourceScreen(
|
|||||||
source = screenModel.source,
|
source = screenModel.source,
|
||||||
displayMode = screenModel.displayMode,
|
displayMode = screenModel.displayMode,
|
||||||
onDisplayModeChange = { screenModel.displayMode = it },
|
onDisplayModeChange = { screenModel.displayMode = it },
|
||||||
navigateUp = navigator::pop,
|
navigateUp = navigateUp,
|
||||||
onWebViewClick = onWebViewClick,
|
onWebViewClick = onWebViewClick,
|
||||||
onHelpClick = onHelpClick,
|
onHelpClick = onHelpClick,
|
||||||
onSearch = { screenModel.search(it) },
|
onSearch = { screenModel.search(it) },
|
||||||
|
@ -473,7 +473,7 @@ open class BrowseSourceScreenModel(
|
|||||||
onFilterClicked = { search(filters = state.filters) },
|
onFilterClicked = { search(filters = state.filters) },
|
||||||
onResetClicked = {
|
onResetClicked = {
|
||||||
reset()
|
reset()
|
||||||
filterSheet?.setFilters(state.filterItems)
|
filterSheet?.setFilters(state.value.filterItems)
|
||||||
},
|
},
|
||||||
// EXH -->
|
// EXH -->
|
||||||
onSaveClicked = {
|
onSaveClicked = {
|
||||||
@ -511,7 +511,7 @@ open class BrowseSourceScreenModel(
|
|||||||
// EXH <--
|
// EXH <--
|
||||||
)
|
)
|
||||||
|
|
||||||
filterSheet?.setFilters(state.filterItems)
|
filterSheet?.setFilters(state.value.filterItems)
|
||||||
}
|
}
|
||||||
|
|
||||||
sealed class Filter(open val query: String?, open val filters: FilterList) {
|
sealed class Filter(open val query: String?, open val filters: FilterList) {
|
||||||
@ -556,12 +556,8 @@ open class BrowseSourceScreenModel(
|
|||||||
val savedSearches: List<EXHSavedSearch> = emptyList(),
|
val savedSearches: List<EXHSavedSearch> = emptyList(),
|
||||||
// SY <--
|
// SY <--
|
||||||
) {
|
) {
|
||||||
val filterItems = filters.toItems()
|
val filterItems get() = filters.toItems()
|
||||||
val isUserQuery = currentFilter is Filter.UserInput && !currentFilter.query.isNullOrEmpty()
|
val isUserQuery get() = currentFilter is Filter.UserInput && !currentFilter.query.isNullOrEmpty()
|
||||||
val searchQuery = when (currentFilter) {
|
|
||||||
is Filter.UserInput -> currentFilter.query
|
|
||||||
Filter.Latest, Filter.Popular -> null
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// EXH -->
|
// EXH -->
|
||||||
|
Loading…
x
Reference in New Issue
Block a user