Updated on 2026-08-14

This commit is contained in:
Tangem 2023-12-25 17:09:56 +02:00
parent 6fe140bb45
commit c170dd95d5
2 changed files with 13 additions and 14 deletions

View file

@ -98,12 +98,8 @@ internal class StateBuilder(
if (uiStateHolder.sendCardData !is SwapCardState.SwapCardData) return uiStateHolder
return uiStateHolder.copy(
sendCardData = SwapCardState.SwapCardData(
type = TransactionCardType.ReadOnly(
headerResId = R.string.exchange_send_view_header,
),
amountTextFieldValue = TextFieldValue(
text = "0",
),
type = requireNotNull(uiStateHolder.sendCardData.type as? TransactionCardType.Inputtable),
amountTextFieldValue = null,
amountEquivalent = "0 ${appCurrencyProvider.invoke().symbol}",
token = fromToken,
tokenIconUrl = uiStateHolder.sendCardData.tokenIconUrl,

View file

@ -692,19 +692,22 @@ internal class SwapViewModel @Inject constructor(
private fun onAmountChanged(value: String) {
val fromToken = dataState.fromCryptoCurrency
val toToken = dataState.toCryptoCurrency
if (fromToken != null && toToken != null) {
if (fromToken != null) {
val decimals = fromToken.currency.decimals
val cutValue = cutAmountWithDecimals(decimals, value)
lastAmount.value = cutValue
uiState =
stateBuilder.updateSwapAmount(uiState, inputNumberFormatter.formatWithThousands(cutValue, decimals))
amountDebouncer.debounce(viewModelScope, DEBOUNCE_AMOUNT_DELAY) {
startLoadingQuotes(
fromToken = fromToken,
toToken = toToken,
amount = lastAmount.value,
toProvidersList = findSwapProviders(fromToken, toToken),
)
if (toToken != null) {
amountDebouncer.debounce(viewModelScope, DEBOUNCE_AMOUNT_DELAY) {
startLoadingQuotes(
fromToken = fromToken,
toToken = toToken,
amount = lastAmount.value,
toProvidersList = findSwapProviders(fromToken, toToken),
)
}
}
}
}