diff options
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.kt | 29 |
1 files changed, 10 insertions, 19 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..778b985 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.TransactionMajorState.Pending +import net.taler.wallet.transactions.TransactionMinorState.BankConfirmTransfer +import net.taler.wallet.transactions.TransactionMinorState.KycRequired import net.taler.wallet.transactions.WithdrawalDetails.ManualTransfer -import net.taler.wallet.transactions.WithdrawalDetails.TalerBankIntegrationApi interface ActionListener { enum class Type { @@ -48,25 +49,15 @@ 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) - } + // TODO: translate manual transfer to DD37 equivalent + if (tx.error == null && !tx.confirmed && tx.withdrawalDetails is ManualTransfer) { + ConfirmManualButton(modifier, tx, listener) + } else if (tx.txState.major == Pending) { + when (tx.txState.minor) { + KycRequired -> KycButton(modifier, tx, listener) + BankConfirmTransfer -> ConfirmBankButton(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) - } } } |