HistoryScreen item SwipeToDismiss

This commit is contained in:
tarsin committed 2023-01-23 18:34:10 +08:00
1 parent 19fa8d15a6
commit 07450a7a51
2 files changed
+27 -9

No files matched your search

@@ -20,16 +20,19 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Card
import androidx.compose.material3.DismissDirection
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.OutlinedCard
import androidx.compose.material3.Scaffold
import androidx.compose.material3.SwipeToDismiss
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.rememberDismissState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -113,15 +116,30 @@ fun HistoryScreen(hostFragment: HistoryComposeScreenFragmentBridge) {
items(
items = historyData,
key = { item -> item.gid }
) {
it?.let {
InfoCard(
{ hostFragment.navToDetail(it) },
{
selectedGalleryInfo = it
dialogStatus = HistoryScreenDialogStatus.SELECT_ITEM
) { info ->
info?.let {
val dismissState = rememberDismissState(
confirmValueChange = {
coroutineScope.launchIO {
EhDB.deleteHistoryInfo(info)
}
true
}
)
SwipeToDismiss(
state = dismissState,
background = {},
dismissContent = {
InfoCard(
{ hostFragment.navToDetail(it) },
{
selectedGalleryInfo = it
dialogStatus = HistoryScreenDialogStatus.SELECT_ITEM
},
info = it,
)
},
info = it,
directions = setOf(DismissDirection.EndToStart)
)
}
}