diff --git a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt index 953defc69..0c1fdb802 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/GlobalSearchScreen.kt @@ -52,6 +52,20 @@ fun GlobalSearchScreen( selectedCount = bulkFavoriteState.selection.size, onClickClearSelection = bulkFavoriteScreenModel::toggleSelectionMode, onChangeCategoryClicked = bulkFavoriteScreenModel::addFavorite, + onSelectAll = { + state.filteredItems.forEach { (_, result) -> + when (result) { + is SearchItemResult.Success -> { + result.result.map{manga -> + + if (!bulkFavoriteState.selection.contains(manga)) + bulkFavoriteScreenModel.toggleSelection(manga) + } + } + else -> {} + } + } + }, ) } else { // KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/components/SelectionToolbar.kt b/app/src/main/java/eu/kanade/presentation/components/SelectionToolbar.kt index ae25a406a..76a585291 100644 --- a/app/src/main/java/eu/kanade/presentation/components/SelectionToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/components/SelectionToolbar.kt @@ -2,6 +2,7 @@ package eu.kanade.presentation.components import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.BookmarkAdd +import androidx.compose.material.icons.filled.SelectAll import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview @@ -14,6 +15,7 @@ fun SelectionToolbar( selectedCount: Int, onClickClearSelection: () -> Unit, onChangeCategoryClicked: () -> Unit, + onSelectAll: () -> Unit = {}, ) { AppBar( titleContent = { Text(text = "$selectedCount") }, @@ -29,6 +31,13 @@ fun SelectionToolbar( } }, ), + AppBar.Action( + title = stringResource(MR.strings.action_select_all), + icon = Icons.Filled.SelectAll, + onClick = { + onSelectAll.invoke() + }, + ), ), ) },