From 5436add4099cbf4fccfb21b99a6fe5898049e877 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 13 Feb 2025 10:05:32 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../selecttoken/model/OnrampOperationModel.kt | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/selecttoken/model/OnrampOperationModel.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/selecttoken/model/OnrampOperationModel.kt index 2f8902ef66..b0555c7c63 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/selecttoken/model/OnrampOperationModel.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/selecttoken/model/OnrampOperationModel.kt @@ -15,6 +15,7 @@ import com.tangem.core.ui.message.EventMessageAction import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.demo.IsDemoCardUseCase +import com.tangem.domain.exchange.RampStateManager import com.tangem.domain.onramp.model.OnrampSource import com.tangem.domain.redux.ReduxStateHolder import com.tangem.domain.tokens.legacy.TradeCryptoAction @@ -44,6 +45,7 @@ internal class OnrampOperationModel @Inject constructor( private val isDemoCardUseCase: IsDemoCardUseCase, private val messageSender: UiMessageSender, private val onrampFeatureToggles: OnrampFeatureToggles, + private val rampStateManager: RampStateManager, ) : Model() { val state: StateFlow get() = _state @@ -76,11 +78,21 @@ internal class OnrampOperationModel @Inject constructor( } fun onHotTokenClick(status: CryptoCurrencyStatus) { - analyticsEventHandler.send( - event = MainScreenAnalyticsEvent.HotTokenClicked(currencySymbol = status.currency.symbol), - ) + modelScope.launch { + val isAvailable = rampStateManager.availableForBuy( + scanResponse = selectedUserWallet.scanResponse, + userWalletId = params.userWalletId, + cryptoCurrency = status.currency, + ) - selectTokenIfDemoModeOff(status) + if (isAvailable) { + analyticsEventHandler.send( + event = MainScreenAnalyticsEvent.HotTokenClicked(currencySymbol = status.currency.symbol), + ) + + selectTokenIfDemoModeOff(status) + } + } } private fun selectTokenIfDemoModeOff(status: CryptoCurrencyStatus) {