Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-21 15:25:43 +01:00
parent 44cae7ffd8
commit 68a1fede86
2 changed files with 11 additions and 4 deletions

View file

@ -153,10 +153,15 @@ internal class DefaultSwapComponent @AssistedInject constructor(
val feePaidCryptoCurrency by remember { derivedStateOf { dataState.feePaidCryptoCurrency } }
val shouldHideBlock by remember {
derivedStateOf {
dataState.amount?.parseBigDecimalOrNull().isNullOrZero() ||
model.uiState.isInsufficientFunds ||
dataState.selectedProvider == null ||
dataState.getCurrentLoadedSwapState()?.permissionState !is PermissionDataState.Empty
val isAmountEmptyOrZero = dataState.amount?.parseBigDecimalOrNull().isNullOrZero()
val isInsufficientFunds = model.uiState.isInsufficientFunds
val isProviderMissing = dataState.selectedProvider == null
val loadedState = dataState.getCurrentLoadedSwapState()
val isPermissionNotReady = loadedState?.permissionState !is PermissionDataState.Empty
val isInTransferMode = dataState.currentTransferState != null
val isSwapNotReady = !isInTransferMode && (isProviderMissing || isPermissionNotReady)
isAmountEmptyOrZero || isInsufficientFunds || isSwapNotReady
}
}

View file

@ -597,6 +597,7 @@ internal class SwapModel @Inject constructor(
fromTokenAmount = lastAmount.value,
)
if (isUpdatedToTransferMode) return
dataState = dataState.copy(currentTransferState = null)
modelScope.launch {
uiState = stateBuilder.createInitialLoadingState(
uiStateHolder = uiState,
@ -1078,6 +1079,7 @@ internal class SwapModel @Inject constructor(
emptyAmountState = state,
fromSwapCurrencyStatus = fromSwapCurrencyStatus,
)
dataState = dataState.copy(amount = "0")
}
private fun setupErrorUiState(provider: SwapProvider, state: SwapState.SwapError) {