Updated on 2026-08-14

This commit is contained in:
Tangem 2026-02-05 14:27:37 +05:00
parent 92e21cc79c
commit a40e6e7e28
11 changed files with 109 additions and 1 deletions

View file

@ -27,6 +27,7 @@ dependencies {
implementation(projects.common.routing)
/** Domain */
implementation(projects.domain.common)
implementation(projects.domain.models)
implementation(projects.domain.core)
implementation(projects.domain.card)
@ -37,6 +38,10 @@ dependencies {
implementation(projects.domain.legacy)
implementation(projects.domain.feedback)
implementation(projects.domain.feedback.models)
implementation(projects.domain.referral)
/** Referral */
implementation(projects.features.referral.domain)
/** AndroidX libraries */
implementation(deps.androidx.activity.compose)

View file

@ -42,8 +42,10 @@ import com.tangem.features.home.api.HomeComponent
import com.tangem.features.home.impl.ui.state.HomeUM
import com.tangem.features.home.impl.ui.state.Stories
import com.tangem.features.home.impl.ui.state.getRestrictedStories
import com.tangem.feature.referral.domain.ShouldShowMobileWalletPromoUseCase
import com.tangem.features.hotwallet.HotWalletFeatureToggles
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import com.tangem.utils.coroutines.Debouncer
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.*
@ -74,9 +76,12 @@ internal class HomeModel @Inject constructor(
private val hotWalletFeatureToggles: HotWalletFeatureToggles,
private val userWalletsListRepository: UserWalletsListRepository,
private val reduxStateHolder: ReduxStateHolder,
private val shouldShowMobileWalletPromoUseCase: ShouldShowMobileWalletPromoUseCase,
@GlobalUiMessageSender private val uiMessageSender: UiMessageSender,
) : Model() {
private val debouncer = Debouncer()
val params = paramsContainer.require<HomeComponent.Params>()
private val _uiState = MutableStateFlow(
@ -145,7 +150,16 @@ internal class HomeModel @Inject constructor(
}
private fun onGetStartedClick() {
router.push(AppRoute.CreateWalletStart(mode = AppRoute.CreateWalletStart.Mode.ColdWallet))
debouncer.debounce(modelScope) {
modelScope.launch {
val mode = if (shouldShowMobileWalletPromoUseCase()) {
AppRoute.CreateWalletStart.Mode.HotWallet
} else {
AppRoute.CreateWalletStart.Mode.ColdWallet
}
router.push(AppRoute.CreateWalletStart(mode = mode))
}
}
}
private fun scanCard() {