summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
diff options
context:
space:
mode:
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt29
1 files changed, 9 insertions, 20 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
index d4c12aa..4e4bbe0 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/ActionButtonComposable.kt
@@ -28,9 +28,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import net.taler.wallet.R
-import net.taler.wallet.backend.TalerErrorCode
-import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer
-import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi
+import net.taler.wallet.transactions.TransactionMajorState.Pending
+import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer
+import net.taler.wallet.transactions.TransactionMinorState.ExchangeWaitReserve
+import net.taler.wallet.transactions.TransactionMinorState.KycRequired
interface ActionListener {
enum class Type {
@@ -48,25 +49,13 @@ fun ActionButton(
tx: TransactionWithdrawal,
listener: ActionListener,
) {
- if (tx.error != null) {
- // There is an error!
- when (tx.error.code) {
- TalerErrorCode.WALLET_WITHDRAWAL_KYC_REQUIRED -> {
- KycButton(modifier, tx, listener)
- }
+ if (tx.txState.major == Pending) {
+ when (tx.txState.minor) {
+ KycRequired -> KycButton(modifier, tx, listener)
+ BankConfirmTransfer -> ConfirmBankButton(modifier, tx, listener)
+ ExchangeWaitReserve -> ConfirmManualButton(modifier, tx, listener)
else -> {}
}
- } else if (!tx.confirmed) {
- // There is a transaction!
- if (tx.withdrawalDetails is TalerBankIntegrationApi &&
- tx.withdrawalDetails.bankConfirmationUrl != null
- ) {
- // The transaction can be completed with a link!
- ConfirmBankButton(modifier, tx, listener)
- } else if (tx.withdrawalDetails is ManualTransfer) {
- // The transaction must be completed manually!
- ConfirmManualButton(modifier, tx, listener)
- }
}
}