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

This commit is contained in:
HapeLee
2026-04-03 12:56:28 +08:00
parent 2e7516245e
commit 8b7780374d
11 changed files with 46 additions and 29 deletions
@@ -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
)
}
}
@@ -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
)
}
}
@@ -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)
@@ -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) {
@@ -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))
},
@@ -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),
@@ -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
)
}
@@ -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(
@@ -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(
@@ -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),
@@ -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)) {