From d381771fe71f088c54e8828bfb437f5c0b1911c8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 31 Oct 2024 16:18:39 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../state/transformers/SetButtonsStateTransformer.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt index c2fcce7f80..5d7d0260e8 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt @@ -155,14 +155,15 @@ internal class SetButtonsStateTransformer( } private fun StakingUiState.onConfirmationClick() { - if (confirmationState is StakingStates.ConfirmationState.Data) { + val confirmationState = confirmationState as? StakingStates.ConfirmationState.Data + val amountState = amountState as? AmountState.Data + if (confirmationState != null && amountState != null) { if (confirmationState.innerState == InnerConfirmationStakingState.COMPLETED) { clickIntents.onNextClick() } else { + val amount = amountState.amountTextField.cryptoAmount.value.orZero() val isEnterAction = actionType == StakingActionCommonType.Enter - val isApproveNeeded = confirmationState.isApprovalNeeded - - if (isEnterAction && isApproveNeeded) { + if (isEnterAction && confirmationState.isApprovalNeeded && confirmationState.allowance < amount) { clickIntents.showApprovalBottomSheet() } else { clickIntents.onActionClick()