|
|
|
@@ -4,6 +4,7 @@ package me.zobrist.tichucounter.ui.history
|
|
|
|
import androidx.compose.animation.animateColorAsState
|
|
|
|
import androidx.compose.animation.animateColorAsState
|
|
|
|
import androidx.compose.animation.core.animateFloatAsState
|
|
|
|
import androidx.compose.animation.core.animateFloatAsState
|
|
|
|
import androidx.compose.foundation.background
|
|
|
|
import androidx.compose.foundation.background
|
|
|
|
|
|
|
|
import androidx.compose.foundation.layout.Arrangement
|
|
|
|
import androidx.compose.foundation.layout.Box
|
|
|
|
import androidx.compose.foundation.layout.Box
|
|
|
|
import androidx.compose.foundation.layout.Column
|
|
|
|
import androidx.compose.foundation.layout.Column
|
|
|
|
import androidx.compose.foundation.layout.Row
|
|
|
|
import androidx.compose.foundation.layout.Row
|
|
|
|
@@ -40,6 +41,7 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically
|
|
|
|
import androidx.compose.ui.Modifier
|
|
|
|
import androidx.compose.ui.Modifier
|
|
|
|
import androidx.compose.ui.draw.scale
|
|
|
|
import androidx.compose.ui.draw.scale
|
|
|
|
import androidx.compose.ui.graphics.Color
|
|
|
|
import androidx.compose.ui.graphics.Color
|
|
|
|
|
|
|
|
import androidx.compose.ui.platform.LocalDensity
|
|
|
|
import androidx.compose.ui.res.stringResource
|
|
|
|
import androidx.compose.ui.res.stringResource
|
|
|
|
import androidx.compose.ui.text.style.TextOverflow
|
|
|
|
import androidx.compose.ui.text.style.TextOverflow
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
import androidx.compose.ui.tooling.preview.Preview
|
|
|
|
@@ -161,7 +163,11 @@ fun DismissibleHistoryListItem(
|
|
|
|
onOpenClicked: (gameId: Long) -> Unit,
|
|
|
|
onOpenClicked: (gameId: Long) -> Unit,
|
|
|
|
onDeleteClicked: (gameId: Long) -> Unit
|
|
|
|
onDeleteClicked: (gameId: Long) -> Unit
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
val dismissState = rememberDismissState(confirmValueChange = {
|
|
|
|
|
|
|
|
|
|
|
|
val density = LocalDensity.current
|
|
|
|
|
|
|
|
val dismissState = rememberDismissState(
|
|
|
|
|
|
|
|
positionalThreshold = { with(density) { 100.dp.toPx() } },
|
|
|
|
|
|
|
|
confirmValueChange = {
|
|
|
|
if (it == DismissValue.DismissedToStart) {
|
|
|
|
if (it == DismissValue.DismissedToStart) {
|
|
|
|
onDeleteClicked(game.game.uid)
|
|
|
|
onDeleteClicked(game.game.uid)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -189,7 +195,7 @@ fun DismissibleHistoryListItem(
|
|
|
|
DismissDirection.EndToStart -> Icons.Outlined.Delete
|
|
|
|
DismissDirection.EndToStart -> Icons.Outlined.Delete
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val text = when (direction) {
|
|
|
|
val text = when (direction) {
|
|
|
|
DismissDirection.StartToEnd -> stringResource(id = R.string.activate)
|
|
|
|
DismissDirection.StartToEnd -> stringResource(id = R.string.continue_play)
|
|
|
|
DismissDirection.EndToStart -> stringResource(id = R.string.delete)
|
|
|
|
DismissDirection.EndToStart -> stringResource(id = R.string.delete)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
val scale by animateFloatAsState(
|
|
|
|
val scale by animateFloatAsState(
|
|
|
|
@@ -203,7 +209,8 @@ fun DismissibleHistoryListItem(
|
|
|
|
.padding(horizontal = 20.dp),
|
|
|
|
.padding(horizontal = 20.dp),
|
|
|
|
contentAlignment = alignment
|
|
|
|
contentAlignment = alignment
|
|
|
|
) {
|
|
|
|
) {
|
|
|
|
Row {
|
|
|
|
Column(verticalArrangement = Arrangement.Center,
|
|
|
|
|
|
|
|
horizontalAlignment = Alignment.CenterHorizontally) {
|
|
|
|
Icon(
|
|
|
|
Icon(
|
|
|
|
icon, contentDescription = null, modifier = Modifier.scale(scale)
|
|
|
|
icon, contentDescription = null, modifier = Modifier.scale(scale)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|