[修复] 修复分组添加和编辑、拖动的功能
[修复] 修复关闭分组时直接消失的问题 [修复] 修复发现错误的字符串 [修复] 修复部分设置无法及时触发的问题 [修复] 修复下拉刷新时刷新全部书籍的问题 [修复] 修复不显示未读数量的问题
This commit is contained in:
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user