diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt index 29014f7db..81fc02ded 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.kt @@ -37,7 +37,6 @@ import android.widget.TextView import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.IntDef import androidx.annotation.StringRes -import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -70,18 +69,15 @@ import androidx.compose.material.icons.filled.SwapVerticalCircle import androidx.compose.material3.Button import androidx.compose.material3.ButtonDefaults import androidx.compose.material3.Card -import androidx.compose.material3.CardDefaults import androidx.compose.material3.CircularProgressIndicator import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem -import androidx.compose.material3.ElevatedCard import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.LargeTopAppBar import androidx.compose.material3.MaterialTheme import androidx.compose.material3.OutlinedButton -import androidx.compose.material3.OutlinedCard import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text @@ -93,7 +89,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.ComposeView @@ -150,6 +145,7 @@ import com.hippo.ehviewer.ui.CommonOperations import com.hippo.ehviewer.ui.GalleryInfoBottomSheet import com.hippo.ehviewer.ui.MainActivity import com.hippo.ehviewer.ui.scene.GalleryListScene.Companion.toStartArgs +import com.hippo.ehviewer.ui.widget.CrystalCard import com.hippo.ehviewer.ui.widget.EhAsyncPreview import com.hippo.ehviewer.ui.widget.GalleryDetailHeaderCard import com.hippo.ehviewer.ui.widget.GalleryDetailRating @@ -678,15 +674,11 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener { } if (galleryDetail.newerVersions.isNotEmpty()) { Box(contentAlignment = Alignment.Center) { - OutlinedCard( + CrystalCard( onClick = ::showNewerVersionDialog, modifier = Modifier .fillMaxWidth() .height(32.dp), - border = BorderStroke( - CardDefaults.outlinedCardBorder().width, - Color.Transparent - ) ) {} Text(text = stringResource(id = R.string.newer_version_avaliable)) } @@ -733,7 +725,9 @@ class GalleryDetailScene : BaseScene(), DownloadInfoListener { ) } Spacer(modifier = Modifier.size(dimensionResource(id = R.dimen.keyline_margin))) - ElevatedCard(onClick = ::showRateDialog) { + CrystalCard( + onClick = ::showRateDialog, + ) { Column( modifier = Modifier .padding(8.dp) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/widget/Card.kt b/app/src/main/java/com/hippo/ehviewer/ui/widget/Card.kt new file mode 100644 index 000000000..1ef2e0c00 --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/ui/widget/Card.kt @@ -0,0 +1,32 @@ +package com.hippo.ehviewer.ui.widget + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.OutlinedCard +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color + +@Composable +fun CrystalCard( + onClick: () -> Unit, + modifier: Modifier = Modifier, + content: @Composable ColumnScope.() -> Unit +) = OutlinedCard( + onClick = onClick, + modifier = modifier, + border = BorderStroke(CardDefaults.outlinedCardBorder().width, Color.Transparent), + content = content +) + +@Composable +fun CrystalCard( + modifier: Modifier = Modifier, + content: @Composable ColumnScope.() -> Unit +) = OutlinedCard( + modifier = modifier, + border = BorderStroke(CardDefaults.outlinedCardBorder().width, Color.Transparent), + content = content +) + diff --git a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt index cf8eb093c..253455d21 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt @@ -1,6 +1,5 @@ package com.hippo.ehviewer.ui.widget -import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.layout.Column @@ -16,7 +15,6 @@ import androidx.compose.material.icons.filled.Favorite import androidx.compose.material3.Card import androidx.compose.material3.Icon import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedCard import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -38,9 +36,8 @@ fun ListInfoCard( info: GalleryInfo, modifier: Modifier = Modifier ) { - OutlinedCard( - modifier = Modifier.padding(6.dp), - border = BorderStroke(1.dp, Color.Transparent) + CrystalCard( + modifier = Modifier.padding(6.dp) ) { Row( modifier = modifier