From 1560c7579831239ad94021ad1a61f7eb3479abcc Mon Sep 17 00:00:00 2001 From: fansan Date: Mon, 22 Jun 2026 21:57:51 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=A0=B7=E5=BC=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=90=8E=EF=BC=8C=E8=8F=9C=E5=8D=95=E5=86=85=E5=88=97?= =?UTF-8?q?=E6=9C=AA=E6=9B=B4=E6=96=B0=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/book/read/sheet/BgTextConfigSheet.kt | 11 +++++++---- .../app/ui/book/read/sheet/GlobalThemePage.kt | 18 ++++++++++++------ 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/sheet/BgTextConfigSheet.kt b/app/src/main/java/io/legado/app/ui/book/read/sheet/BgTextConfigSheet.kt index a98ee4591..4132555af 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/sheet/BgTextConfigSheet.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/sheet/BgTextConfigSheet.kt @@ -111,6 +111,7 @@ fun BgTextConfigSheet( title = stringResource(R.string.delete), imageVector = Icons.Default.Delete, modifier = Modifier.weight(1f), + enabled = styleConfig.styleSelect >= 5, onClick = { onIntent(ReadBookIntent.DeleteCurrentReadStyleConfig) }, ) ActionCard( @@ -303,12 +304,14 @@ private fun ActionCard( title: String, imageVector: ImageVector, modifier: Modifier = Modifier, + enabled: Boolean = true, onClick: () -> Unit, ) { + val contentAlpha = if (enabled) 1f else 0.38f NormalCard( - onClick = onClick, + onClick = if (enabled) onClick else null, modifier = modifier, - containerColor = LegadoTheme.colorScheme.surfaceContainerLow, + containerColor = if (enabled) LegadoTheme.colorScheme.surfaceContainerLow else LegadoTheme.colorScheme.surfaceContainerLow.copy(alpha = 0.5f), ) { Column( horizontalAlignment = Alignment.CenterHorizontally, @@ -320,14 +323,14 @@ private fun ActionCard( Icon( imageVector = imageVector, contentDescription = null, - tint = LegadoTheme.colorScheme.onSurfaceVariant, + tint = LegadoTheme.colorScheme.onSurfaceVariant.copy(alpha = contentAlpha), modifier = Modifier.size(20.dp), ) Spacer(Modifier.height(4.dp)) Text( text = title, style = LegadoTheme.typography.labelSmall, - color = LegadoTheme.colorScheme.onSurfaceVariant, + color = LegadoTheme.colorScheme.onSurfaceVariant.copy(alpha = contentAlpha), ) } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt b/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt index 8f2e4c0a0..ac66f6798 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/sheet/GlobalThemePage.kt @@ -86,13 +86,19 @@ fun GlobalThemePage( val pageAnim = styleConfig.pageAnim val styleSelect = styleConfig.styleSelect val shareLayout = styleConfig.shareLayout - // configList needs to be read from ReadBookConfig since it's a list of Config objects - // We use styleConfig.configCount to detect when the list changes - var configList by remember { mutableStateOf(ReadBookConfig.configList.toList()) } - // Re-read configList when configCount changes (indicates list was modified) - LaunchedEffect(styleConfig.configCount) { - configList = ReadBookConfig.configList.toList() + val configList = remember( + styleConfig.configCount, + styleConfig.styleName, + styleConfig.bgAlpha, + styleConfig.bgType, + styleConfig.bgStr, + styleConfig.textColor, + styleConfig.bgTypeNight, + styleConfig.bgStrNight, + styleConfig.textColorNight, + ) { + ReadBookConfig.configList.map { it.copy() } } Column(