diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt index e643ee9b2..5981ae015 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/BrowseSourceToolbar.kt @@ -4,7 +4,6 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ViewList import androidx.compose.material.icons.automirrored.outlined.Help import androidx.compose.material.icons.filled.ViewModule -import androidx.compose.material.icons.outlined.BookmarkAdd import androidx.compose.material.icons.outlined.Checklist import androidx.compose.material.icons.outlined.Public import androidx.compose.material3.Text @@ -178,32 +177,3 @@ fun BrowseSourceToolbar( scrollBehavior = scrollBehavior, ) } - -// KMK --> -@Composable -fun SelectionToolbar( - selectedCount: Int, - onClickClearSelection: () -> Unit = {}, - onChangeCategoryClicked: () -> Unit = {}, -) { - AppBar( - titleContent = { Text(text = "$selectedCount") }, - actions = { - AppBarActions( - persistentListOf( - AppBar.Action( - title = stringResource(MR.strings.action_bookmark), - icon = Icons.Outlined.BookmarkAdd, - onClick = { - if (selectedCount > 0) - onChangeCategoryClicked() - }, - ), - ), - ) - }, - isActionMode = true, - onCancelActionMode = onClickClearSelection, - ) -} -// KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt index 2f4240ecb..e23f50604 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/components/GlobalSearchCardRow.kt @@ -31,7 +31,7 @@ fun GlobalSearchCardRow( onClick: (Manga) -> Unit, onLongClick: (Manga) -> Unit, // KMK --> - selection: List? = null, + selection: List, // KMK <-- ) { if (titles.isEmpty()) { @@ -52,7 +52,7 @@ fun GlobalSearchCardRow( onClick = { onClick(title) }, onLongClick = { onLongClick(title) }, // KMK --> - isSelected = selection?.fastAny { selected -> selected.id == title.id } ?: false, + isSelected = selection.fastAny { selected -> selected.id == title.id }, // 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 new file mode 100644 index 000000000..271c5aea7 --- /dev/null +++ b/app/src/main/java/eu/kanade/presentation/components/SelectionToolbar.kt @@ -0,0 +1,47 @@ +package eu.kanade.presentation.components + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.BookmarkAdd +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview +import kotlinx.collections.immutable.persistentListOf +import tachiyomi.i18n.MR +import tachiyomi.presentation.core.i18n.stringResource + +@Composable +fun SelectionToolbar( + selectedCount: Int, + onClickClearSelection: () -> Unit, + onChangeCategoryClicked: () -> Unit, +) { + AppBar( + titleContent = { Text(text = "$selectedCount") }, + actions = { + AppBarActions( + persistentListOf( + AppBar.Action( + title = stringResource(MR.strings.action_bookmark), + icon = Icons.Filled.BookmarkAdd, + onClick = { + if (selectedCount > 0) + onChangeCategoryClicked() + }, + ), + ), + ) + }, + isActionMode = true, + onCancelActionMode = onClickClearSelection, + ) +} + +@Preview +@Composable +fun SelectionToolbarPreview() { + SelectionToolbar( + selectedCount = 9, + {}, + {}, + ) +} diff --git a/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt b/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt index 9405fc647..bda9e86c2 100644 --- a/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt @@ -8,14 +8,11 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.BookmarkAdd import androidx.compose.material3.MaterialTheme import androidx.compose.material3.PrimaryTabRow import androidx.compose.material3.SnackbarHost import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.Tab -import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState @@ -31,7 +28,6 @@ import eu.kanade.tachiyomi.ui.browse.feed.FeedScreenModel import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.launch -import tachiyomi.i18n.MR import tachiyomi.presentation.core.components.material.Scaffold import tachiyomi.presentation.core.components.material.TabText import tachiyomi.presentation.core.i18n.stringResource @@ -126,29 +122,3 @@ data class TabContent( val actions: ImmutableList = persistentListOf(), val content: @Composable (contentPadding: PaddingValues, snackbarHostState: SnackbarHostState) -> Unit, ) - -// KMK --> -@Composable -private fun SelectionToolbar( - selectedCount: Int, - onClickClearSelection: () -> Unit = {}, - onChangeCategoryClicked: () -> Unit = {}, -) { - AppBar( - titleContent = { Text(text = "$selectedCount") }, - actions = { - AppBarActions( - persistentListOf( - AppBar.Action( - title = stringResource(MR.strings.action_bookmark), - icon = Icons.Outlined.BookmarkAdd, - onClick = onChangeCategoryClicked, - ), - ), - ) - }, - isActionMode = true, - onCancelActionMode = onClickClearSelection, - ) -} -// KMK <-- diff --git a/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt b/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt index e571c5bb9..7da55ef69 100644 --- a/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt +++ b/app/src/main/java/eu/kanade/presentation/manga/DuplicateMangaDialog.kt @@ -67,10 +67,10 @@ fun AllowDuplicateDialog( onDismissRequest: () -> Unit, onAllowAllDuplicate: () -> Unit, onSkipAllDuplicate: () -> Unit, - onOpenManga: () -> Unit = {}, - onAllowDuplicate: () -> Unit = {}, - onSkipDuplicate: () -> Unit = {}, - duplicatedName: String = "", + onOpenManga: () -> Unit, + onAllowDuplicate: () -> Unit, + onSkipDuplicate: () -> Unit, + duplicatedName: String, ) { AlertDialog( onDismissRequest = onDismissRequest, 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 468d8de31..99e86b210 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 @@ -43,8 +43,8 @@ import eu.kanade.presentation.browse.components.BrowseSourceToolbar import eu.kanade.presentation.browse.components.RemoveMangaDialog import eu.kanade.presentation.browse.components.SavedSearchCreateDialog import eu.kanade.presentation.browse.components.SavedSearchDeleteDialog -import eu.kanade.presentation.browse.components.SelectionToolbar import eu.kanade.presentation.category.components.ChangeCategoryDialog +import eu.kanade.presentation.components.SelectionToolbar import eu.kanade.presentation.manga.AllowDuplicateDialog import eu.kanade.presentation.manga.DuplicateMangaDialog import eu.kanade.presentation.util.AssistContentScreen