diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.kt index e5430af3d..4fbaef8dc 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryHolder.kt @@ -16,12 +16,19 @@ package com.hippo.ehviewer.ui.scene import androidx.compose.foundation.combinedClickable +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.material3.Badge import androidx.compose.material3.ElevatedCard +import androidx.compose.material3.Text +import androidx.compose.material3.contentColorFor +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.unit.dp @@ -71,14 +78,24 @@ class GridGalleryHolder(private val composeView: ComposeView) : GalleryHolder(co val simpleLang = galleryInfo.simpleLanguage composeView.setMD3Content { ElevatedCard(modifier = Modifier.padding(2.dp)) { - EhAsyncThumb( - model = galleryInfo.thumb, - modifier = Modifier.aspectRatio(aspect).fillMaxWidth().combinedClickable( - onClick = onClick, - onLongClick = onLongClick, - ), - contentScale = ContentScale.Crop, - ) + Box { + EhAsyncThumb( + model = galleryInfo.thumb, + modifier = Modifier.aspectRatio(aspect).fillMaxWidth().combinedClickable( + onClick = onClick, + onLongClick = onLongClick, + ), + contentScale = ContentScale.Crop, + ) + val container = Color(color) + Badge( + modifier = Modifier.align(Alignment.TopEnd).width(32.dp).height(24.dp), + containerColor = container, + contentColor = contentColorFor(container), + ) { + Text(text = simpleLang?.uppercase().orEmpty()) + } + } } } }