From 459bbcc9bdb75b6bd1ee71d9d7dd29b1d79c023a Mon Sep 17 00:00:00 2001 From: "Cuong M. Tran" Date: Fri, 1 Mar 2024 16:09:00 +0700 Subject: [PATCH] shade for selected items --- .../kanade/presentation/browse/FeedScreen.kt | 3 +++ .../browse/components/GlobalSearchCardRow.kt | 18 +++++++++++++++++- .../presentation/components/TabbedScreen.kt | 4 ++-- .../library/components/CommonMangaItem.kt | 3 +++ 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt index 47275d45d..913559408 100644 --- a/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/browse/FeedScreen.kt @@ -126,6 +126,7 @@ fun FeedScreen( onClickManga = onClickManga, // KMK --> onLongClickManga = onLongClickManga, + selection = state.selection, // KMK <-- ) } @@ -143,6 +144,7 @@ fun FeedItem( onClickManga: (Manga) -> Unit, // KMK --> onLongClickManga: (Manga) -> Unit, + selection: List, // KMK <-- ) { when { @@ -161,6 +163,7 @@ fun FeedItem( onLongClick = onClickManga, */ onLongClick = onLongClickManga, + selection = selection, // 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 456269b7c..2f4240ecb 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 @@ -14,6 +14,7 @@ import androidx.compose.runtime.State import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp +import androidx.compose.ui.util.fastAny import eu.kanade.presentation.library.components.CommonMangaItemDefaults import eu.kanade.presentation.library.components.MangaComfortableGridItem import tachiyomi.domain.manga.model.Manga @@ -29,6 +30,9 @@ fun GlobalSearchCardRow( getManga: @Composable (Manga) -> State, onClick: (Manga) -> Unit, onLongClick: (Manga) -> Unit, + // KMK --> + selection: List? = null, + // KMK <-- ) { if (titles.isEmpty()) { EmptyResultItem() @@ -47,6 +51,9 @@ fun GlobalSearchCardRow( isFavorite = title.favorite, onClick = { onClick(title) }, onLongClick = { onLongClick(title) }, + // KMK --> + isSelected = selection?.fastAny { selected -> selected.id == title.id } ?: false, + // KMK <-- ) } } @@ -59,6 +66,9 @@ private fun MangaItem( isFavorite: Boolean, onClick: () -> Unit, onLongClick: () -> Unit, + // KMK --> + isSelected: Boolean = false, + // KMK <-- ) { Box(modifier = Modifier.width(96.dp)) { MangaComfortableGridItem( @@ -68,7 +78,13 @@ private fun MangaItem( coverBadgeStart = { InLibraryBadge(enabled = isFavorite) }, - coverAlpha = if (isFavorite) CommonMangaItemDefaults.BrowseFavoriteCoverAlpha else 1f, + coverAlpha = when { + // KMK --> + isSelected -> CommonMangaItemDefaults.BrowseSelectedCoverAlpha + // KMK <-- + isFavorite -> CommonMangaItemDefaults.BrowseFavoriteCoverAlpha + else -> 1f + }, onClick = onClick, onLongClick = onLongClick, ) 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 0bd32c924..db742cfd0 100644 --- a/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/components/TabbedScreen.kt @@ -10,7 +10,7 @@ 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.Bookmark +import androidx.compose.material.icons.outlined.BookmarkAdd import androidx.compose.material3.MaterialTheme import androidx.compose.material3.PrimaryTabRow import androidx.compose.material3.SnackbarHost @@ -139,7 +139,7 @@ private fun FeedSelectionToolbar( persistentListOf( AppBar.Action( title = stringResource(MR.strings.action_bookmark), - icon = Icons.Outlined.Bookmark, + icon = Icons.Outlined.BookmarkAdd, // TODO: method to add bookmark goes here onClick = { }, ), diff --git a/app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt b/app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt index 92957384a..07d01e0d0 100644 --- a/app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt +++ b/app/src/main/java/eu/kanade/presentation/library/components/CommonMangaItem.kt @@ -48,6 +48,9 @@ object CommonMangaItemDefaults { val GridVerticalSpacer = 4.dp const val BrowseFavoriteCoverAlpha = 0.34f + // KMK --> + const val BrowseSelectedCoverAlpha = 0.17f + // KMK <-- } private val ContinueReadingButtonSize = 28.dp