From 8b7780374d0664914ba06737b80eb33a01eb3206 Mon Sep 17 00:00:00 2001 From: HapeLee <63206378+HapeLee@users.noreply.github.com> Date: Fri, 3 Apr 2026 12:56:28 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BC=98=E5=8C=96]=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E7=A8=B3=E5=AE=9A=E6=80=A7=E5=92=8C=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/book/explore/ExploreShowScreen.kt | 4 ++-- .../ui/book/import/remote/RemoteBookScreen.kt | 24 +++++++++---------- .../io/legado/app/ui/book/toc/TocScreen.kt | 5 +++- .../config/coverConfig/CoverConfigScreen.kt | 14 ++++++----- .../app/ui/main/bookshelf/GroupManageSheet.kt | 4 ++-- .../app/ui/main/explore/ExploreScreen.kt | 4 ++++ .../java/io/legado/app/ui/theme/AppTheme.kt | 10 ++++++-- .../io/legado/app/ui/theme/LegadoTheme.kt | 3 +++ .../ui/widget/components/card/GlassCard.kt | 3 +-- .../widget/components/cover/BookshelfCover.kt | 2 ++ .../modalBottomSheet/AppModalBottomSheet.kt | 2 +- 11 files changed, 46 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt b/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt index 8700c3211..3fa199624 100644 --- a/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt +++ b/app/src/main/java/io/legado/app/ui/book/explore/ExploreShowScreen.kt @@ -690,14 +690,14 @@ fun ExploreBookGridItem( @Composable fun TagChip(text: String) { Surface( - color = MaterialTheme.colorScheme.primaryContainer.copy(alpha = 0.5f), + color = LegadoTheme.colorScheme.cardContainer, shape = RoundedCornerShape(4.dp) ) { AppText( text = text, modifier = Modifier.padding(horizontal = 4.dp, vertical = 2.dp), style = LegadoTheme.typography.labelSmall, - color = MaterialTheme.colorScheme.primary + color = LegadoTheme.colorScheme.onCardContainer ) } } diff --git a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt index 6a34fa1a3..85bc59871 100644 --- a/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt +++ b/app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookScreen.kt @@ -85,6 +85,7 @@ import io.legado.app.ui.widget.components.EmptyMessageView import io.legado.app.ui.widget.components.SelectionActions import io.legado.app.ui.widget.components.button.SmallIconButton import io.legado.app.ui.widget.components.button.SmallTonalIconButton +import io.legado.app.ui.widget.components.card.GlassCard import io.legado.app.ui.widget.components.card.TextCard import io.legado.app.ui.widget.components.list.ListScaffold import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenuItem @@ -608,12 +609,9 @@ private fun PathNavigationBar( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp) ) { - - Card( + GlassCard( modifier = Modifier.weight(1f), - colors = CardDefaults.cardColors( - containerColor = MaterialTheme.colorScheme.surfaceContainer - ), + containerColor = LegadoTheme.colorScheme.surfaceContainer, shape = MaterialTheme.shapes.medium ) { LazyRow( @@ -676,17 +674,17 @@ private fun RemoteBookItem( onUpdateClick: (RemoteBook) -> Unit ) { val containerColor = if (isSelected) { - MaterialTheme.colorScheme.secondaryContainer + LegadoTheme.colorScheme.secondaryContainer } else { - MaterialTheme.colorScheme.surfaceContainerLow + LegadoTheme.colorScheme.surfaceContainerLow } - Card( + GlassCard( modifier = modifier .fillMaxWidth() .padding(horizontal = 16.dp, vertical = 4.dp), onClick = onClick, - colors = CardDefaults.cardColors(containerColor = containerColor) + containerColor = containerColor ) { Row( modifier = Modifier @@ -704,9 +702,9 @@ private fun RemoteBookItem( contentDescription = null, modifier = Modifier.size(20.dp), tint = if (book.isDir) { - MaterialTheme.colorScheme.primary + LegadoTheme.colorScheme.primary } else { - MaterialTheme.colorScheme.onSurfaceVariant + LegadoTheme.colorScheme.onSurfaceVariant } ) @@ -737,7 +735,7 @@ private fun RemoteBookItem( verticalPadding = 2.dp, cornerRadius = 4.dp, icon = null, - backgroundColor = MaterialTheme.colorScheme.surfaceContainerHighest + backgroundColor = LegadoTheme.colorScheme.surfaceContainerHighest ) Spacer(modifier = Modifier.width(6.dp)) @@ -748,7 +746,7 @@ private fun RemoteBookItem( AppConst.dateFormat.format(book.lastModify) }", style = LegadoTheme.typography.labelMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant + color = LegadoTheme.colorScheme.onSurfaceVariant ) } } diff --git a/app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt b/app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt index a737a4e70..c6b8897d6 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/TocScreen.kt @@ -594,9 +594,12 @@ fun TocScreen( } } + val bookmarkForSheet = editingBookmark ?: remember(editingBookmark == null) { + Bookmark() + } BookmarkEditSheet( show = editingBookmark != null, - bookmark = editingBookmark!!, + bookmark = bookmarkForSheet, onDismiss = { editingBookmark = null }, onSave = { updatedBookmark -> viewModel.updateBookmark(updatedBookmark) diff --git a/app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt b/app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt index e34790879..61b0c88b7 100644 --- a/app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt +++ b/app/src/main/java/io/legado/app/ui/config/coverConfig/CoverConfigScreen.kt @@ -251,12 +251,14 @@ fun CoverConfigScreen( onDismissRequest = { showCoverRuleSheet = false } ) - CoverManageSheet( - show = manageKey != null, - preferenceKey = manageKey!!, - onDismissRequest = { manageKey = null }, - viewModel = viewModel - ) + manageKey?.let { key -> + CoverManageSheet( + show = true, + preferenceKey = key, + onDismissRequest = { manageKey = null }, + viewModel = viewModel + ) + } showColorPickerByField?.let { field -> val initialColor = when (field) { diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt index 0049f1095..dadd56466 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/GroupManageSheet.kt @@ -13,7 +13,6 @@ import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState @@ -29,6 +28,7 @@ import io.legado.app.R import io.legado.app.data.entities.BookGroup import io.legado.app.ui.book.group.GroupEditContent import io.legado.app.ui.book.group.GroupViewModel +import io.legado.app.ui.theme.LegadoTheme import io.legado.app.ui.widget.components.button.SmallIconButton import io.legado.app.ui.widget.components.card.ReorderableSelectionItem import io.legado.app.ui.widget.components.modalBottomSheet.AppModalBottomSheet @@ -115,7 +115,7 @@ fun GroupManageSheet( title = group.groupName.ifBlank { manageNameInfo.suffix.orEmpty() }, subtitle = if (group.groupName.isNotBlank()) manageNameInfo.suffix else null, isEnabled = group.show, - containerColor = MaterialTheme.colorScheme.surface, + containerColor = LegadoTheme.colorScheme.surface, onEnabledChange = { isChecked -> viewModel.upGroup(group.copy(show = isChecked)) }, diff --git a/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt b/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt index 568183b80..2b444443f 100644 --- a/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt +++ b/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt @@ -538,6 +538,10 @@ private fun KindText( ) { AppText( text = kind.title, + color = if (kind.url.isNullOrBlank()) + LegadoTheme.colorScheme.primary + else + LegadoTheme.colorScheme.onSurface, modifier = Modifier .fillMaxWidth() .padding(vertical = 8.dp), diff --git a/app/src/main/java/io/legado/app/ui/theme/AppTheme.kt b/app/src/main/java/io/legado/app/ui/theme/AppTheme.kt index 88039c0ca..e8de1fbdf 100644 --- a/app/src/main/java/io/legado/app/ui/theme/AppTheme.kt +++ b/app/src/main/java/io/legado/app/ui/theme/AppTheme.kt @@ -180,7 +180,10 @@ fun AppTheme( tertiaryFixed = miuixColorScheme.tertiaryContainer, tertiaryFixedDim = miuixColorScheme.tertiaryContainerVariant, onTertiaryFixed = miuixColorScheme.onTertiaryContainer, - onTertiaryFixedVariant = miuixColorScheme.onTertiaryContainer + onTertiaryFixedVariant = miuixColorScheme.onTertiaryContainer, + + cardContainer = miuixColorScheme.tertiaryContainer, + onCardContainer = miuixColorScheme.primary ) } @@ -282,7 +285,10 @@ fun AppTheme( tertiaryFixed = colorScheme.tertiaryFixed, tertiaryFixedDim = colorScheme.tertiaryFixedDim, onTertiaryFixed = colorScheme.onTertiaryFixed, - onTertiaryFixedVariant = colorScheme.onTertiaryFixedVariant + onTertiaryFixedVariant = colorScheme.onTertiaryFixedVariant, + + cardContainer = colorScheme.primaryContainer.copy(alpha = 0.5f), + onCardContainer = colorScheme.primary ) } diff --git a/app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt b/app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt index b8d91d055..d44361a86 100644 --- a/app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt +++ b/app/src/main/java/io/legado/app/ui/theme/LegadoTheme.kt @@ -71,6 +71,9 @@ data class LegadoColorScheme( val tertiaryFixedDim: Color, val onTertiaryFixed: Color, val onTertiaryFixedVariant: Color, + + val cardContainer: Color, + val onCardContainer: Color ) data class LegadoTypography( diff --git a/app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt b/app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt index e8b781948..59e4e58d4 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/card/GlassCard.kt @@ -35,8 +35,7 @@ private fun BaseCard( ) { if (ThemeResolver.isMiuixEngine(LegadoTheme.composeEngine)) { val colors = MiuixCardDefaults.defaultColors( - color = (containerColor - ?: MiuixTheme.colorScheme.secondaryContainer).copy(alpha = alpha), + color = (containerColor ?: MiuixTheme.colorScheme.secondaryContainer.copy(alpha)), contentColor = contentColor ?: MiuixTheme.colorScheme.onSurface ) MiuixCard( diff --git a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt index dc452a334..299dc7146 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/cover/BookshelfCover.kt @@ -41,6 +41,8 @@ fun BookshelfCover( TextCard( text = badgeText, icon = if (showBadgeDot) Icons.Default.Update else null, + backgroundColor = LegadoTheme.colorScheme.cardContainer, + contentColor = LegadoTheme.colorScheme.onCardContainer, modifier = Modifier .align(Alignment.TopEnd) .padding(2.dp), diff --git a/app/src/main/java/io/legado/app/ui/widget/components/modalBottomSheet/AppModalBottomSheet.kt b/app/src/main/java/io/legado/app/ui/widget/components/modalBottomSheet/AppModalBottomSheet.kt index b1b678f7e..ab9989922 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/modalBottomSheet/AppModalBottomSheet.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/modalBottomSheet/AppModalBottomSheet.kt @@ -41,7 +41,7 @@ fun AppModalBottomSheet( title: String? = null, startAction: @Composable (() -> Unit)? = null, endAction: @Composable (() -> Unit)? = null, - containerColor: Color = LegadoTheme.colorScheme.surfaceContainerLow, + containerColor: Color = LegadoTheme.colorScheme.surfaceContainer, content: @Composable ColumnScope.() -> Unit ) { if (ThemeResolver.isMiuixEngine(LegadoTheme.composeEngine)) {