Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-31 16:31:37 +05:00
parent a52c9cb106
commit 4cac26e628
4 changed files with 10 additions and 6 deletions

View file

@ -51,6 +51,7 @@ import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import com.tangem.utils.coroutines.Debouncer
import com.tangem.utils.coroutines.PeriodicTask
import com.tangem.utils.coroutines.SingleTaskScheduler
import com.tangem.utils.extensions.isZero
import com.tangem.utils.extensions.orZero
import com.tangem.utils.transformer.update
import kotlinx.coroutines.async
@ -481,6 +482,8 @@ internal class SwapAmountModel @Inject constructor(
val fromAmountValue = fromAmount?.amountTextField?.cryptoAmount?.value ?: return
if (fromAmountValue.isZero()) return
val swapGroups = state.swapCurrencies.getGroupWithDirection(state.swapDirection)
uiState.transformerUpdate(SwapQuoteLoadingStateTransformer)

View file

@ -26,7 +26,7 @@ internal class SwapAmountSetQuotesTransformer(
val sortedQuotes = quotes.sortedWith(SwapQuotesComparator)
val bestQuote = findBestQuote(quotes) ?: SwapQuoteUM.Empty
val selectedQuote = if (isSilentReload) {
val selectedQuote = if (isSilentReload && prevState.selectedQuote !is SwapQuoteUM.Loading) {
prevState.selectedQuote
} else {
(bestQuote as? SwapQuoteUM.Content)?.copy(diffPercent = DifferencePercent.Best) ?: bestQuote

View file

@ -16,6 +16,7 @@ internal object SwapQuoteLoadingStateTransformer : Transformer<SwapAmountUM> {
}
return prevState.copy(
selectedQuote = SwapQuoteUM.Loading,
isPrimaryButtonEnabled = false,
)
}
}

View file

@ -240,12 +240,12 @@ private fun SwapAmountInfo(
SwapAmountInfoMain(amountFieldUM = amountFieldUM)
SpacerWMax()
AnimatedContent(
amountUM,
) { wrappedAmountUM ->
if (wrappedAmountUM is SwapAmountUM.Content) {
amountFieldUM,
) { wrappedFieldAmountUM ->
if (amountUM is SwapAmountUM.Content) {
SwapAmountInfoExtra(
amountUM = wrappedAmountUM,
amountFieldUM = amountFieldUM,
amountUM = amountUM,
amountFieldUM = wrappedFieldAmountUM,
onMaxAmountClick = onMaxAmountClick,
onSelectTokenClick = onSelectTokenClick,
)