From c49c4c9c6d0aeb65530799b1e6db3046955b153c Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Mon, 1 Jul 2024 23:20:42 +0700 Subject: [PATCH] refactor(navigation): Add navigateUp functionality to SourceFeedScreen and SourceFeedToolbar directly navigate back instead of just close search bar --- .../eu/kanade/presentation/browse/SourceFeedScreen.kt | 8 +++++++- .../ui/browse/source/feed/SourceFeedScreen.kt | 11 ++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt index 1e41b1044..a68113302 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/SourceFeedScreen.kt @@ -110,6 +110,7 @@ fun SourceFeedScreen( onSearchQueryChange: (String?) -> Unit, getMangaState: @Composable (Manga) -> State, // KMK --> + navigateUp: () -> Unit, onWebViewClick: () -> Unit, sourceId: Long, onLongClickManga: (Manga) -> Unit, @@ -147,6 +148,7 @@ fun SourceFeedScreen( scrollBehavior = scrollBehavior, onClickSearch = onClickSearch, // KMK --> + navigateUp = navigateUp, onWebViewClick = onWebViewClick, sourceId = sourceId, toggleSelectionMode = bulkFavoriteScreenModel::toggleSelectionMode, @@ -280,6 +282,7 @@ fun SourceFeedToolbar( scrollBehavior: TopAppBarScrollBehavior, onClickSearch: (String) -> Unit, // KMK --> + navigateUp: () -> Unit, onWebViewClick: () -> Unit, sourceId: Long, toggleSelectionMode: () -> Unit, @@ -290,7 +293,10 @@ fun SourceFeedToolbar( searchQuery = searchQuery, onChangeSearchQuery = onSearchQueryChange, onSearch = onClickSearch, - onClickCloseSearch = { onSearchQueryChange(null) }, + // KMK --> + navigateUp = navigateUp, + onClickCloseSearch = navigateUp, + // KMK <-- scrollBehavior = scrollBehavior, placeholderText = stringResource(MR.strings.action_search_hint), // KMK --> diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt index 020b388aa..2d52241ae 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt @@ -92,6 +92,7 @@ class SourceFeedScreen(val sourceId: Long) : Screen() { onSearchQueryChange = screenModel::search, getMangaState = { screenModel.getManga(initialManga = it) }, // KMK --> + navigateUp = { navigator.pop() }, onWebViewClick = { val source = screenModel.source as? HttpSource ?: return@SourceFeedScreen navigator.push( @@ -223,14 +224,10 @@ class SourceFeedScreen(val sourceId: Long) : Screen() { } // KMK <-- - BackHandler(state.searchQuery != null || bulkFavoriteState.selectionMode) { + BackHandler(bulkFavoriteState.selectionMode) { // KMK --> - if (bulkFavoriteState.selectionMode) { - bulkFavoriteScreenModel.backHandler() - } else { - // KMK <-- - screenModel.search(null) - } + bulkFavoriteScreenModel.backHandler() + // KMK <-- } }