Updated on 2026-08-14
This commit is contained in:
parent
a2d9c5118b
commit
b1757c17d2
3 changed files with 30 additions and 1 deletions
|
|
@ -1,10 +1,12 @@
|
|||
package com.tangem.features.swap.v2.impl.chooseprovider.model
|
||||
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.analytics.models.event.SwapAnalyticsEvent
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
import com.tangem.domain.express.models.ProviderFilterType
|
||||
import com.tangem.domain.express.models.ExpressError
|
||||
import com.tangem.domain.express.models.ProviderFilterType
|
||||
import com.tangem.domain.express.models.ExpressProviderType
|
||||
import com.tangem.domain.settings.usercountry.models.needApplyFCARestrictions
|
||||
import com.tangem.features.swap.v2.api.SwapFeatureToggles
|
||||
|
|
@ -26,6 +28,7 @@ internal class SwapChooseProviderModel @Inject constructor(
|
|||
paramsContainer: ParamsContainer,
|
||||
override val dispatchers: CoroutineDispatcherProvider,
|
||||
private val swapFeatureToggles: SwapFeatureToggles,
|
||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||
) : Model() {
|
||||
|
||||
private val params: SwapChooseProviderComponent.Params = paramsContainer.require()
|
||||
|
|
@ -52,6 +55,15 @@ internal class SwapChooseProviderModel @Inject constructor(
|
|||
}
|
||||
|
||||
fun onFilterSelect(filterType: ProviderFilterType) {
|
||||
analyticsEventHandler.send(
|
||||
SwapAnalyticsEvent.FilterProvider(
|
||||
filterType = when (filterType) {
|
||||
ProviderFilterType.ALL -> "All"
|
||||
ProviderFilterType.CEX -> "CEX"
|
||||
ProviderFilterType.DEX -> "DEX"
|
||||
},
|
||||
),
|
||||
)
|
||||
val filteredProviders = getDisplayableProviders(params.providers)
|
||||
.filter { matchesTypeFilter(it, filterType) }
|
||||
uiState.value = uiState.value.copy(
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import com.tangem.core.analytics.api.AnalyticsEventHandler
|
|||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.analytics.models.AnalyticsParam.ScreensSources
|
||||
import com.tangem.core.analytics.models.Basic
|
||||
import com.tangem.core.analytics.models.event.SwapAnalyticsEvent
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
|
|
@ -43,6 +44,7 @@ import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
|||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.balancehiding.GetBalanceHidingSettingsUseCase
|
||||
import com.tangem.domain.express.models.ExpressOperationType
|
||||
import com.tangem.domain.express.models.ProviderFilterType
|
||||
import com.tangem.domain.feedback.GetWalletMetaInfoUseCase
|
||||
import com.tangem.domain.feedback.SaveBlockchainErrorUseCase
|
||||
import com.tangem.domain.feedback.SendFeedbackEmailUseCase
|
||||
|
|
@ -1723,6 +1725,15 @@ internal class SwapModel @Inject constructor(
|
|||
}
|
||||
},
|
||||
onProviderFilterSelect = { filterType ->
|
||||
analyticsEventHandler.send(
|
||||
SwapAnalyticsEvent.FilterProvider(
|
||||
filterType = when (filterType) {
|
||||
ProviderFilterType.ALL -> "All"
|
||||
ProviderFilterType.CEX -> "CEX"
|
||||
ProviderFilterType.DEX -> "DEX"
|
||||
},
|
||||
),
|
||||
)
|
||||
uiState = stateBuilder.updateProviderFilterType(uiState, filterType)
|
||||
},
|
||||
openTokenDetailsScreen = { cryptoCurrency ->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue