Move onLongClick card to dummy hint holder

This commit is contained in:
tarsin committed 2023-05-12 18:33:28 +08:00
1 parent f81d9de2c6
commit 578aff7dea
3 files changed
+92 -24

No files matched your search

@@ -16,6 +16,20 @@ private fun crystalCardBorder(): BorderStroke {
return remember { originBorder.copy(brush = SolidColor(Color.Transparent)) }
}
@Composable
fun CrystalCard(
onClick: () -> Unit,
onLongClick: () -> Unit,
modifier: Modifier = Modifier,
content: @Composable ColumnScope.() -> Unit,
) = OutlinedCard(
onClick = onClick,
onLongClick = onLongClick,
modifier = modifier,
border = crystalCardBorder(),
content = content,
)
@Composable
fun CrystalCard(
onClick: () -> Unit,
@@ -27,13 +41,3 @@ fun CrystalCard(
border = crystalCardBorder(),
content = content,
)
@Composable
fun CrystalCard(
modifier: Modifier = Modifier,
content: @Composable ColumnScope.() -> Unit,
) = OutlinedCard(
modifier = modifier,
border = crystalCardBorder(),
content = content,
)
@@ -0,0 +1,66 @@
package com.hippo.ehviewer.ui.widget
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ColumnScope
import androidx.compose.material3.Card
import androidx.compose.material3.CardColors
import androidx.compose.material3.CardDefaults
import androidx.compose.material3.CardElevation
import androidx.compose.material3.ElevatedCard
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Shape
// This file holds widgets ** Compose Material 3 ** library SHOULD but NOT implemented yet.
@Composable
fun OutlinedCard(
onClick: () -> Unit,
onLongClick: () -> Unit,
modifier: Modifier = Modifier,
shape: Shape = CardDefaults.outlinedShape,
colors: CardColors = CardDefaults.outlinedCardColors(),
elevation: CardElevation = CardDefaults.outlinedCardElevation(),
border: BorderStroke = CardDefaults.outlinedCardBorder(),
content: @Composable ColumnScope.() -> Unit,
) = Card(
modifier = modifier,
shape = shape,
colors = colors,
elevation = elevation,
border = border,
) {
Column(
modifier = Modifier.combinedClickable(
onClick = onClick,
onLongClick = onLongClick,
),
content = content,
)
}
@Composable
fun ElevatedCard(
onClick: () -> Unit,
onLongClick: () -> Unit,
modifier: Modifier = Modifier,
shape: Shape = CardDefaults.elevatedShape,
colors: CardColors = CardDefaults.elevatedCardColors(),
elevation: CardElevation = CardDefaults.elevatedCardElevation(),
content: @Composable ColumnScope.() -> Unit,
) = ElevatedCard(
modifier = modifier,
shape = shape,
colors = colors,
elevation = elevation,
) {
Column(
modifier = Modifier.combinedClickable(
onClick = onClick,
onLongClick = onLongClick,
),
content = content,
)
}
@@ -1,7 +1,6 @@
package com.hippo.ehviewer.ui.widget
import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -19,7 +18,6 @@ import androidx.compose.material.icons.filled.Download
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.Badge
import androidx.compose.material3.Card
import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
@@ -46,13 +44,12 @@ fun GalleryInfoListItem(
isInFavScene: Boolean = false,
showPages: Boolean = false,
) {
CrystalCard(modifier = modifier) {
Row(
modifier = Modifier.combinedClickable(
onClick = onClick,
onLongClick = onLongClick,
),
) {
CrystalCard(
modifier = modifier,
onClick = onClick,
onLongClick = onLongClick,
) {
Row {
Card {
EhAsyncCropThumb(
model = info.thumb,
@@ -132,14 +129,15 @@ fun GalleryInfoGridItem(
val aspect = (info.thumbWidth.toFloat() / info.thumbHeight).coerceIn(0.33F, 1.5F)
val color = EhUtils.getCategoryColor(info.category)
val simpleLang = info.simpleLanguage
ElevatedCard(modifier = modifier) {
ElevatedCard(
modifier = modifier,
onClick = onClick,
onLongClick = onLongClick,
) {
Box {
EhAsyncThumb(
model = info.thumb,
modifier = Modifier.aspectRatio(aspect).fillMaxWidth().combinedClickable(
onClick = onClick,
onLongClick = onLongClick,
),
modifier = Modifier.aspectRatio(aspect).fillMaxWidth(),
contentScale = ContentScale.Crop,
)
val container = Color(color)