[修复] 修复分组添加和编辑、拖动的功能

[修复] 修复关闭分组时直接消失的问题
[修复] 修复发现错误的字符串
[修复] 修复部分设置无法及时触发的问题
[修复] 修复下拉刷新时刷新全部书籍的问题
[修复] 修复不显示未读数量的问题
This commit is contained in:
HapeLee
2026-03-19 00:57:07 +08:00
parent d28e9c8a0a
commit 34565bc8e0
2 changed files with 18 additions and 20 deletions
@@ -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
)
}
}
}
@@ -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
)