123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package eu.kanade.presentation.browse.components
- import androidx.compose.foundation.layout.Arrangement
- import androidx.compose.foundation.layout.Box
- import androidx.compose.foundation.layout.PaddingValues
- import androidx.compose.foundation.layout.width
- import androidx.compose.foundation.lazy.LazyRow
- import androidx.compose.foundation.lazy.items
- import androidx.compose.material3.MaterialTheme
- import androidx.compose.runtime.Composable
- import androidx.compose.runtime.State
- import androidx.compose.runtime.getValue
- import androidx.compose.ui.Modifier
- import androidx.compose.ui.unit.dp
- import eu.kanade.presentation.library.components.CommonMangaItemDefaults
- import eu.kanade.presentation.library.components.MangaComfortableGridItem
- import tachiyomi.domain.manga.model.Manga
- import tachiyomi.domain.manga.model.MangaCover
- import tachiyomi.domain.manga.model.asMangaCover
- import tachiyomi.presentation.core.components.material.padding
- @Composable
- fun GlobalSearchCardRow(
- titles: List<Manga>,
- getManga: @Composable (Manga) -> State<Manga>,
- onClick: (Manga) -> Unit,
- onLongClick: (Manga) -> Unit,
- ) {
- LazyRow(
- contentPadding = PaddingValues(MaterialTheme.padding.small),
- horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.tiny),
- ) {
- items(titles) {
- val title by getManga(it)
- GlobalSearchCard(
- title = title.title,
- cover = title.asMangaCover(),
- isFavorite = title.favorite,
- onClick = { onClick(title) },
- onLongClick = { onLongClick(title) },
- )
- }
- }
- }
- @Composable
- private fun GlobalSearchCard(
- title: String,
- cover: MangaCover,
- isFavorite: Boolean,
- onClick: () -> Unit,
- onLongClick: () -> Unit,
- ) {
- Box(modifier = Modifier.width(96.dp)) {
- MangaComfortableGridItem(
- title = title,
- coverData = cover,
- coverBadgeStart = {
- InLibraryBadge(enabled = isFavorite)
- },
- coverAlpha = if (isFavorite) CommonMangaItemDefaults.BrowseFavoriteCoverAlpha else 1f,
- onClick = onClick,
- onLongClick = onLongClick,
- )
- }
- }
|