Updated on 2026-08-14
This commit is contained in:
parent
047a48eaf0
commit
e7f607001b
6 changed files with 49 additions and 29 deletions
|
|
@ -190,7 +190,10 @@ internal class HomeModel @Inject constructor(
|
|||
return
|
||||
}
|
||||
|
||||
saveWalletUseCase(userWallet).fold(
|
||||
saveWalletUseCase(
|
||||
userWallet = userWallet,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Intro,
|
||||
).fold(
|
||||
ifLeft = {
|
||||
delay(HIDE_PROGRESS_DELAY)
|
||||
setLoading(false)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.chooseoption.mo
|
|||
|
||||
import androidx.compose.runtime.Stable
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
|
|
@ -50,17 +51,20 @@ internal class Wallet1ChooseOptionModel @Inject constructor(
|
|||
val scanResponse = params.multiWalletState.value.currentScanResponse
|
||||
|
||||
val userWallet = createUserWallet(scanResponse)
|
||||
saveWalletUseCase(userWallet, canOverride = true)
|
||||
.onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
saveWalletUseCase(
|
||||
userWallet = userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
returnToParentFlow.emit(Unit)
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
returnToParentFlow.emit(Unit)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -135,17 +135,20 @@ internal class MultiWalletCreateWalletModel @Inject constructor(
|
|||
val scanResponse = params.multiWalletState.value.currentScanResponse
|
||||
|
||||
val userWallet = createUserWallet(scanResponse)
|
||||
saveWalletUseCase(userWallet, canOverride = true)
|
||||
.onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
saveWalletUseCase(
|
||||
userWallet = userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
onDone.emit(Step.Done)
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
onDone.emit(Step.Done)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import androidx.compose.runtime.Stable
|
|||
import arrow.core.getOrElse
|
||||
import com.tangem.common.CompletionResult
|
||||
import com.tangem.common.core.TangemSdkError
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.decompose.di.ModelScoped
|
||||
import com.tangem.core.decompose.model.Model
|
||||
import com.tangem.core.decompose.model.ParamsContainer
|
||||
|
|
@ -134,17 +135,20 @@ internal class MultiWalletUpgradeWalletModel @Inject constructor(
|
|||
val scanResponse = params.multiWalletState.value.currentScanResponse
|
||||
|
||||
val userWallet = createUserWallet(scanResponse)
|
||||
saveWalletUseCase(userWallet, canOverride = true)
|
||||
.onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
saveWalletUseCase(
|
||||
userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onRight {
|
||||
cardRepository.finishCardActivation(scanResponse.card.cardId)
|
||||
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
onDone.emit(Step.Done)
|
||||
// save user wallet for manage tokens screen
|
||||
params.multiWalletState.update {
|
||||
it.copy(resultUserWallet = userWallet)
|
||||
}
|
||||
|
||||
onDone.emit(Step.Done)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,11 @@ internal class OnboardingNoteCreateWalletModel @Inject constructor(
|
|||
private fun createWalletAndNavigateBackWithDone(scanResponse: ScanResponse) {
|
||||
modelScope.launch {
|
||||
val userWallet = createUserWallet(scanResponse)
|
||||
saveWalletUseCase(userWallet, canOverride = true).onRight {
|
||||
saveWalletUseCase(
|
||||
userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onRight {
|
||||
params.onWalletCreated(userWallet)
|
||||
}
|
||||
_uiState.update {
|
||||
|
|
|
|||
|
|
@ -300,6 +300,7 @@ internal class OnboardingTwinModel @Inject constructor(
|
|||
saveWalletUseCase(
|
||||
userWallet = userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onLeft {
|
||||
Timber.e("Unable to save user wallet: $it")
|
||||
setLoading(false)
|
||||
|
|
@ -329,6 +330,7 @@ internal class OnboardingTwinModel @Inject constructor(
|
|||
saveWalletUseCase(
|
||||
userWallet = userWallet,
|
||||
canOverride = true,
|
||||
analyticsSource = AnalyticsParam.ScreensSources.Onboarding,
|
||||
).onLeft {
|
||||
Timber.e("Unable to save user wallet: $it")
|
||||
setLoading(false)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue