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:
stevenyomi 2022-12-18 02:21:12 +08:00 committed by Jobobby04
parent c081efba4b
commit a6d0031462
2 changed files with 12 additions and 9 deletions

View File

@ -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) },

View File

@ -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 -->