Tweak swipeToDismiss logic

This commit is contained in:
tarsin committed 2023-01-24 08:58:48 +08:00
1 parent b1cda242df
commit 1e3556cc8e
2 files changed
+14 -6

No files matched your search

@@ -1,6 +1,7 @@
package com.hippo.ehviewer.ui.scene.history
import androidx.compose.animation.animateColorAsState
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
@@ -58,7 +59,7 @@ import eu.kanade.tachiyomi.util.lang.launchIO
val downloadManager = EhApplication.downloadManager
@OptIn(ExperimentalMaterial3Api::class)
@OptIn(ExperimentalMaterial3Api::class, ExperimentalFoundationApi::class)
@Composable
fun HistoryScreen(hostFragment: HistoryComposeScreenFragmentBridge) {
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior()
@@ -106,11 +107,16 @@ fun HistoryScreen(hostFragment: HistoryComposeScreenFragmentBridge) {
key = { item -> item.gid }
) { info ->
info?.let {
val dismissState = rememberDismissState()
if (dismissState.isDismissed(DismissDirection.EndToStart))
coroutineScope.launchIO {
EhDB.deleteHistoryInfo(info)
val dismissState = rememberDismissState(
confirmValueChange = {
if (it == DismissValue.DismissedToStart)
coroutineScope.launchIO {
EhDB.deleteHistoryInfo(info)
}
true
}
)
SwipeToDismiss(
state = dismissState,
background = {
@@ -135,6 +141,7 @@ fun HistoryScreen(hostFragment: HistoryComposeScreenFragmentBridge) {
dialogStatus = HistoryScreenDialogStatus.SELECT_ITEM
},
info = it,
modifier = Modifier.animateItemPlacement()
)
},
directions = setOf(DismissDirection.EndToStart)
@@ -43,9 +43,10 @@ fun ListInfoCard(
onClick: () -> Unit,
onLongClick: () -> Unit,
info: GalleryInfo,
modifier: Modifier = Modifier
) {
OutlinedCard(
modifier = Modifier.padding(6.dp),
modifier = modifier.padding(6.dp),
border = remember { BorderStroke(1.dp, Color.Transparent) }
) {
val listCardSize = remember { Settings.getListThumbSize().pxToDp }