Updated on 2026-08-14

This commit is contained in:
Tangem 2025-11-24 16:39:31 +05:00
parent 96dd3088cc
commit aa6c1c95f2
9 changed files with 24 additions and 8 deletions

View file

@ -40,10 +40,10 @@ internal class AddExistingWalletModel @Inject constructor(
val hotWalletStepperComponentModelCallback = HotWalletStepperComponentModelCallback()
val addExistingWalletImportModelCallbacks = AddExistingWalletImportModelCallbacks()
val manualBackupCompletedComponentModelCallbacks = ManualBackupCompletedComponentModelCallbacks()
val manualBackupCompletedModelCallbacks = ManualBackupCompletedModelCallbacks()
val accessCodeModelCallbacks = AccessCodeModelCallbacks()
val pushNotificationsCallbacks = PushNotificationsCallbacks()
val mobileWalletSetupFinishedComponentModelCallbacks = MobileWalletSetupFinishedComponentModelCallbacks()
val mobileWalletSetupFinishedModelCallbacks = MobileWalletSetupFinishedModelCallbacks()
val stackNavigation = StackNavigation<AddExistingWalletRoute>()
val startRoute = AddExistingWalletRoute.Import
@ -131,7 +131,7 @@ internal class AddExistingWalletModel @Inject constructor(
}
}
inner class ManualBackupCompletedComponentModelCallbacks : ManualBackupCompletedComponent.ModelCallbacks {
inner class ManualBackupCompletedModelCallbacks : ManualBackupCompletedComponent.ModelCallbacks {
override fun onContinueClick(userWalletId: UserWalletId) {
stackNavigation.replaceAll(AddExistingWalletRoute.SetAccessCode(userWalletId))
}
@ -163,7 +163,7 @@ internal class AddExistingWalletModel @Inject constructor(
}
}
inner class MobileWalletSetupFinishedComponentModelCallbacks :
inner class MobileWalletSetupFinishedModelCallbacks :
MobileWalletSetupFinishedComponent.ModelCallbacks {
override fun onFinishClick() {
router.replaceAll(AppRoute.Wallet)

View file

@ -33,7 +33,7 @@ internal class AddExistingWalletChildFactory @Inject constructor(
context = childContext,
params = ManualBackupCompletedComponent.Params(
userWalletId = route.userWalletId,
callbacks = model.manualBackupCompletedComponentModelCallbacks,
callbacks = model.manualBackupCompletedModelCallbacks,
isImportFlow = true,
),
)
@ -62,7 +62,7 @@ internal class AddExistingWalletChildFactory @Inject constructor(
is AddExistingWalletRoute.SetupFinished -> MobileWalletSetupFinishedComponent(
context = childContext,
params = MobileWalletSetupFinishedComponent.Params(
callbacks = model.mobileWalletSetupFinishedComponentModelCallbacks,
callbacks = model.mobileWalletSetupFinishedModelCallbacks,
),
)
}

View file

@ -67,7 +67,12 @@ internal class CreateWalletBackupModel @Inject constructor(
}
fun onManualBackupChecked() {
stackNavigation.push(CreateWalletBackupRoute.BackupCompleted(isUpgradeFlow = params.isUpgradeFlow))
stackNavigation.push(
configuration = CreateWalletBackupRoute.BackupCompleted(
isUpgradeFlow = params.isUpgradeFlow,
isLastScreen = !params.setAccessCode,
),
)
}
fun onManualBackupCompleted() {

View file

@ -42,6 +42,7 @@ internal class CreateWalletBackupChildFactory @Inject constructor() {
userWalletId = model.params.userWalletId,
callbacks = model.manualBackupCompletedModelCallbacks,
isUpgradeFlow = route.isUpgradeFlow,
isLastScreen = route.isLastScreen,
),
)
}

View file

@ -17,5 +17,6 @@ internal sealed interface CreateWalletBackupRoute {
@Serializable
data class BackupCompleted(
val isUpgradeFlow: Boolean,
val isLastScreen: Boolean,
) : CreateWalletBackupRoute
}

View file

@ -37,5 +37,6 @@ internal class ManualBackupCompletedComponent @AssistedInject constructor(
val callbacks: ModelCallbacks,
val isImportFlow: Boolean = false,
val isUpgradeFlow: Boolean = false,
val isLastScreen: Boolean = false,
)
}

View file

@ -23,6 +23,11 @@ internal class ManualBackupCompletedModel @Inject constructor(
internal val uiState: StateFlow<ManualBackupCompletedUM>
field = MutableStateFlow(
ManualBackupCompletedUM(
continueButtonText = if (params.isLastScreen) {
resourceReference(R.string.common_finish)
} else {
resourceReference(R.string.common_continue)
},
onContinueClick = {
if (params.isUpgradeFlow) {
params.callbacks.onUpgradeClick(params.userWalletId)

View file

@ -5,6 +5,7 @@ import com.tangem.core.ui.extensions.TextReference
internal data class ManualBackupCompletedUM(
val title: TextReference,
val description: TextReference,
val continueButtonText: TextReference,
val onContinueClick: () -> Unit,
val isLoading: Boolean,
)

View file

@ -66,7 +66,7 @@ internal fun ManualBackupCompletedContent(state: ManualBackupCompletedUM, modifi
Spacer(modifier = Modifier.weight(2f))
PrimaryButton(
modifier = Modifier.fillMaxWidth(),
text = stringResourceSafe(R.string.common_continue),
text = state.continueButtonText.resolveReference(),
onClick = state.onContinueClick,
)
}
@ -81,6 +81,7 @@ private fun PreviewManualBackupCompletedContentBackup() {
state = ManualBackupCompletedUM(
isLoading = false,
title = resourceReference(R.string.backup_complete_title),
continueButtonText = resourceReference(R.string.common_finish),
description = resourceReference(R.string.backup_complete_description),
onContinueClick = { },
),
@ -97,6 +98,7 @@ private fun PreviewManualBackupCompletedContentImport() {
state = ManualBackupCompletedUM(
isLoading = false,
title = resourceReference(R.string.wallet_import_success_title),
continueButtonText = resourceReference(R.string.common_continue),
description = resourceReference(R.string.backup_complete_description),
onContinueClick = { },
),