From 34565bc8e0f76382f45141ccc2bc45eabab63f3f Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Thu, 19 Mar 2026 00:56:30 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=88=86=E7=BB=84=E6=B7=BB=E5=8A=A0=E5=92=8C=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E3=80=81=E6=8B=96=E5=8A=A8=E7=9A=84=E5=8A=9F=E8=83=BD=20[?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=88=86=E7=BB=84=E6=97=B6=E7=9B=B4=E6=8E=A5=E6=B6=88=E5=A4=B1?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=20[=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=8F=91=E7=8E=B0=E9=94=99=E8=AF=AF=E7=9A=84=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=20[=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=83=A8=E5=88=86=E8=AE=BE=E7=BD=AE=E6=97=A0=E6=B3=95=E5=8F=8A?= =?UTF-8?q?=E6=97=B6=E8=A7=A6=E5=8F=91=E7=9A=84=E9=97=AE=E9=A2=98=20[?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=97=B6=E5=88=B7=E6=96=B0=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E4=B9=A6=E7=B1=8D=E7=9A=84=E9=97=AE=E9=A2=98=20[=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D]=20=E4=BF=AE=E5=A4=8D=E4=B8=8D=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E6=9C=AA=E8=AF=BB=E6=95=B0=E9=87=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/widget/components/cover/BookCover.kt | 31 +++++++++---------- .../components/cover/BookCoverWithProgress.kt | 7 +++-- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt index 433dea4bc..9cf84a269 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCover.kt @@ -10,17 +10,15 @@ import androidx.compose.foundation.Canvas import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Update import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -43,6 +41,7 @@ import coil.request.ImageRequest import io.legado.app.help.config.AppConfig import io.legado.app.model.BookCover import io.legado.app.ui.config.coverConfig.CoverConfig +import io.legado.app.ui.widget.components.card.TextCard import org.koin.compose.koinInject @Composable @@ -51,7 +50,8 @@ fun BookCover( author: String?, path: String?, modifier: Modifier = Modifier.width(64.dp), - badgeContent: (@Composable RowScope.() -> Unit)? = null, + badgeText: String? = null, + showBadgeDot: Boolean = false, sourceOrigin: String? = null, onLoadFinish: (() -> Unit)? = null ) { @@ -125,22 +125,19 @@ fun BookCover( } // 3. 角标 (Badge) - if (badgeContent != null) { - Surface( + if (!badgeText.isNullOrEmpty()) { + TextCard( + text = badgeText, + icon = if (showBadgeDot) Icons.Default.Update else null, modifier = Modifier .align(Alignment.TopEnd) .padding(2.dp), - shape = RoundedCornerShape(2.dp), - color = MaterialTheme.colorScheme.secondaryContainer.copy(alpha = 0.9f), + backgroundColor = MaterialTheme.colorScheme.secondaryContainer, contentColor = MaterialTheme.colorScheme.onSecondaryContainer, - ) { - Row( - modifier = Modifier.padding(horizontal = 4.dp, vertical = 1.dp), - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.Center, - content = badgeContent - ) - } + cornerRadius = 4.dp, + horizontalPadding = 4.dp, + verticalPadding = 0.dp + ) } } } diff --git a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCoverWithProgress.kt b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCoverWithProgress.kt index 2a4c65a4b..50ce7adcb 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCoverWithProgress.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookCoverWithProgress.kt @@ -1,7 +1,6 @@ package io.legado.app.ui.widget.components.cover import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding @@ -20,7 +19,8 @@ fun BookCoverWithProgress( path: String?, modifier: Modifier = Modifier, isUpdating: Boolean = false, - badgeContent: (@Composable RowScope.() -> Unit)? = null, + badgeText: String? = null, + showBadgeDot: Boolean = false, sourceOrigin: String? = null, onLoadFinish: (() -> Unit)? = null ) { @@ -30,7 +30,8 @@ fun BookCoverWithProgress( author = author, path = path, modifier = Modifier.fillMaxWidth(), - badgeContent = badgeContent, + badgeText = badgeText, + showBadgeDot = showBadgeDot, sourceOrigin = sourceOrigin, onLoadFinish = onLoadFinish )