diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/history/HistoryScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/history/HistoryScreen.kt index a68dfda87..04e7c8b37 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/history/HistoryScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/history/HistoryScreen.kt @@ -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) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt index 85fcc5efb..ad65d2640 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/widget/GalleryInfoCard.kt @@ -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 }