Răsfoiți Sursa

[优化] 修复一些稳定性和界面问题

HapeLee 7 luni în urmă
părinte
comite
8b7780374d

+ 2 - 2
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
         )
     }
 }

+ 11 - 13
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
                         )
                     }
                 }

+ 4 - 1
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)

+ 8 - 6
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) {

+ 2 - 2
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))
                             },

+ 4 - 0
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),

+ 8 - 2
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
                     )
                 }
 

+ 3 - 0
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(

+ 1 - 2
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(

+ 2 - 0
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),

+ 1 - 1
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)) {