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

[修复] 修复关闭分组时直接消失的问题
[修复] 修复发现错误的字符串
[修复] 修复部分设置无法及时触发的问题
[修复] 修复下拉刷新时刷新全部书籍的问题
[修复] 修复不显示未读数量的问题
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.background
import androidx.compose.foundation.border import androidx.compose.foundation.border
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box 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.aspectRatio
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape 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.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@@ -43,6 +41,7 @@ import coil.request.ImageRequest
import io.legado.app.help.config.AppConfig import io.legado.app.help.config.AppConfig
import io.legado.app.model.BookCover import io.legado.app.model.BookCover
import io.legado.app.ui.config.coverConfig.CoverConfig import io.legado.app.ui.config.coverConfig.CoverConfig
import io.legado.app.ui.widget.components.card.TextCard
import org.koin.compose.koinInject import org.koin.compose.koinInject
@Composable @Composable
@@ -51,7 +50,8 @@ fun BookCover(
author: String?, author: String?,
path: String?, path: String?,
modifier: Modifier = Modifier.width(64.dp), modifier: Modifier = Modifier.width(64.dp),
badgeContent: (@Composable RowScope.() -> Unit)? = null, badgeText: String? = null,
showBadgeDot: Boolean = false,
sourceOrigin: String? = null, sourceOrigin: String? = null,
onLoadFinish: (() -> Unit)? = null onLoadFinish: (() -> Unit)? = null
) { ) {
@@ -125,22 +125,19 @@ fun BookCover(
} }
// 3. 角标 (Badge) // 3. 角标 (Badge)
if (badgeContent != null) { if (!badgeText.isNullOrEmpty()) {
Surface( TextCard(
text = badgeText,
icon = if (showBadgeDot) Icons.Default.Update else null,
modifier = Modifier modifier = Modifier
.align(Alignment.TopEnd) .align(Alignment.TopEnd)
.padding(2.dp), .padding(2.dp),
shape = RoundedCornerShape(2.dp), backgroundColor = MaterialTheme.colorScheme.secondaryContainer,
color = MaterialTheme.colorScheme.secondaryContainer.copy(alpha = 0.9f),
contentColor = MaterialTheme.colorScheme.onSecondaryContainer, contentColor = MaterialTheme.colorScheme.onSecondaryContainer,
) { cornerRadius = 4.dp,
Row( horizontalPadding = 4.dp,
modifier = Modifier.padding(horizontal = 4.dp, vertical = 1.dp), verticalPadding = 0.dp
verticalAlignment = Alignment.CenterVertically, )
horizontalArrangement = Arrangement.Center,
content = badgeContent
)
}
} }
} }
} }
@@ -1,7 +1,6 @@
package io.legado.app.ui.widget.components.cover package io.legado.app.ui.widget.components.cover
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
@@ -20,7 +19,8 @@ fun BookCoverWithProgress(
path: String?, path: String?,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
isUpdating: Boolean = false, isUpdating: Boolean = false,
badgeContent: (@Composable RowScope.() -> Unit)? = null, badgeText: String? = null,
showBadgeDot: Boolean = false,
sourceOrigin: String? = null, sourceOrigin: String? = null,
onLoadFinish: (() -> Unit)? = null onLoadFinish: (() -> Unit)? = null
) { ) {
@@ -30,7 +30,8 @@ fun BookCoverWithProgress(
author = author, author = author,
path = path, path = path,
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
badgeContent = badgeContent, badgeText = badgeText,
showBadgeDot = showBadgeDot,
sourceOrigin = sourceOrigin, sourceOrigin = sourceOrigin,
onLoadFinish = onLoadFinish onLoadFinish = onLoadFinish
) )