diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index bc9c2aeaf..dcad0a8fa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -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) }, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt index 91b50faf9..a620969ca 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt @@ -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 = 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 -->