Tweak swipeToDismiss logic
This commit is contained in:
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 }
|
||||
|
||||
Reference in new issue
Block a user