summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt15
1 files changed, 11 insertions, 4 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt
index ca3f39b..79aca76 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionRefreshFragment.kt
@@ -44,6 +44,10 @@ import net.taler.wallet.R
import net.taler.wallet.backend.TalerErrorCode
import net.taler.wallet.backend.TalerErrorInfo
import net.taler.wallet.compose.TalerSurface
+import net.taler.wallet.transactions.TransactionAction.Abort
+import net.taler.wallet.transactions.TransactionAction.Retry
+import net.taler.wallet.transactions.TransactionAction.Suspend
+import net.taler.wallet.transactions.TransactionMajorState.Pending
class TransactionRefreshFragment : TransactionDetailFragment() {
@@ -57,7 +61,7 @@ class TransactionRefreshFragment : TransactionDetailFragment() {
val t = transactionManager.selectedTransaction.observeAsState().value
val devMode = devMode.observeAsState().value ?: false
if (t is TransactionRefresh) TransactionRefreshComposable(t, devMode) {
- onDeleteButtonClicked(t)
+ onTransitionButton(t, it)
}
}
}
@@ -68,7 +72,7 @@ class TransactionRefreshFragment : TransactionDetailFragment() {
private fun TransactionRefreshComposable(
t: TransactionRefresh,
devMode: Boolean,
- onDelete: () -> Unit,
+ onTransition: (t: TransactionAction) -> Unit,
) {
val scrollState = rememberScrollState()
Column(
@@ -88,7 +92,9 @@ private fun TransactionRefreshComposable(
amount = t.amountEffective,
amountType = AmountType.Negative,
)
- DeleteTransactionComposable(onDelete)
+ t.txActions.forEach {
+ TransitionComposable(it, onTransition)
+ }
if (devMode && t.error != null) {
ErrorTransactionButton(error = t.error)
}
@@ -101,7 +107,8 @@ private fun TransactionRefreshComposablePreview() {
val t = TransactionRefresh(
transactionId = "transactionId",
timestamp = Timestamp.fromMillis(System.currentTimeMillis() - 360 * 60 * 1000),
- extendedStatus = ExtendedStatus.Pending,
+ txState = TransactionState(Pending),
+ txActions = listOf(Retry, Suspend, Abort),
amountRaw = Amount.fromString("TESTKUDOS", "42.23"),
amountEffective = Amount.fromString("TESTKUDOS", "42.1337"),
error = TalerErrorInfo(code = TalerErrorCode.WALLET_WITHDRAWAL_KYC_REQUIRED),