横排封面时可直接打开书籍
This commit is contained in:
@@ -5,6 +5,7 @@ import androidx.compose.animation.ExperimentalSharedTransitionApi
|
||||
import androidx.compose.animation.SharedTransitionScope
|
||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.combinedClickable
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.Box
|
||||
@@ -421,7 +422,8 @@ fun BookGroupItemList(
|
||||
titleCenter: Boolean = true,
|
||||
titleMaxLines: Int = 2,
|
||||
coverShadow: Boolean = false,
|
||||
onLongClick: (() -> Unit)? = null
|
||||
onLongClick: (() -> Unit)? = null,
|
||||
onBookClick: ((BookShelfItem) -> Unit)? = null
|
||||
) {
|
||||
if (BookshelfConfig.bookshelfGroupListStyle == 2) {
|
||||
BookGroupItemHorizontalCovers(
|
||||
@@ -430,7 +432,8 @@ fun BookGroupItemList(
|
||||
onClick = onClick,
|
||||
modifier = modifier,
|
||||
countText = countText,
|
||||
onLongClick = onLongClick
|
||||
onLongClick = onLongClick,
|
||||
onBookClick = onBookClick
|
||||
)
|
||||
return
|
||||
}
|
||||
@@ -472,7 +475,8 @@ fun BookGroupItemHorizontalCovers(
|
||||
onClick: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
countText: String? = null,
|
||||
onLongClick: (() -> Unit)? = null
|
||||
onLongClick: (() -> Unit)? = null,
|
||||
onBookClick: ((BookShelfItem) -> Unit)? = null
|
||||
) {
|
||||
Column {
|
||||
NormalCard(
|
||||
@@ -534,6 +538,7 @@ fun BookGroupItemHorizontalCovers(
|
||||
.weight(1f)
|
||||
.aspectRatio(5f / 7f)
|
||||
.clip(RoundedCornerShape(4.dp))
|
||||
.clickable { onBookClick?.invoke(book) }
|
||||
) {
|
||||
CoilBookCover(
|
||||
name = book.name,
|
||||
|
||||
@@ -91,6 +91,7 @@ import io.legado.app.R
|
||||
import io.legado.app.base.BaseRuleEvent
|
||||
import io.legado.app.ui.about.AppLogSheet
|
||||
import io.legado.app.data.entities.BookGroup
|
||||
import io.legado.app.ui.book.group.GroupEditSheet
|
||||
import io.legado.app.ui.book.info.GroupSelectSheet
|
||||
import io.legado.app.ui.config.bookshelfConfig.BookshelfConfig
|
||||
import io.legado.app.ui.main.bookCoverSharedElementKey
|
||||
@@ -743,8 +744,9 @@ fun BookshelfScreen(
|
||||
viewModel.setInFolderRoot(false)
|
||||
},
|
||||
onLongClick = {
|
||||
viewModel.showOverlay(BookshelfOverlay.GroupManageSheet)
|
||||
}
|
||||
viewModel.showOverlay(BookshelfOverlay.GroupEditSheet(group.groupId))
|
||||
},
|
||||
onBookClick = onBookClick
|
||||
)
|
||||
} else {
|
||||
BookGroupItemGrid(
|
||||
@@ -762,7 +764,7 @@ fun BookshelfScreen(
|
||||
viewModel.setInFolderRoot(false)
|
||||
},
|
||||
onLongClick = {
|
||||
viewModel.showOverlay(BookshelfOverlay.GroupManageSheet)
|
||||
viewModel.showOverlay(BookshelfOverlay.GroupEditSheet(group.groupId))
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -1039,6 +1041,17 @@ private fun BookshelfOverlays(
|
||||
|
||||
val groups by viewModel.allGroupsFlow.collectAsStateWithLifecycle()
|
||||
|
||||
if (activeOverlay is BookshelfOverlay.GroupEditSheet) {
|
||||
val editGroup = groups.firstOrNull { it.groupId == activeOverlay.groupId }
|
||||
if (editGroup != null) {
|
||||
GroupEditSheet(
|
||||
show = true,
|
||||
group = editGroup,
|
||||
onDismissRequest = { viewModel.dismissOverlay() }
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
GroupSelectSheet(
|
||||
show = activeOverlay == BookshelfOverlay.GroupSelectSheet,
|
||||
groups = groups.filter { it.groupId > 0 },
|
||||
|
||||
Reference in New Issue
Block a user