From aa6c1c95f2c71ef94145eea2fe5d43e7048d8039 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 24 Nov 2025 16:39:31 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../addexistingwallet/entry/AddExistingWalletModel.kt | 8 ++++---- .../entry/routing/AddExistingWalletChildFactory.kt | 4 ++-- .../createwalletbackup/CreateWalletBackupModel.kt | 7 ++++++- .../routing/CreateWalletBackupChildFactory.kt | 1 + .../createwalletbackup/routing/CreateWalletBackupRoute.kt | 1 + .../completed/ManualBackupCompletedComponent.kt | 1 + .../manualbackup/completed/ManualBackupCompletedModel.kt | 5 +++++ .../completed/entity/ManualBackupCompletedUM.kt | 1 + .../completed/ui/ManualBackupCompletedContent.kt | 4 +++- 9 files changed, 24 insertions(+), 8 deletions(-) diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/AddExistingWalletModel.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/AddExistingWalletModel.kt index 99114079d4..5b08056d7d 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/AddExistingWalletModel.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/AddExistingWalletModel.kt @@ -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() 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) diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/routing/AddExistingWalletChildFactory.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/routing/AddExistingWalletChildFactory.kt index 78f81490ce..90669cb227 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/routing/AddExistingWalletChildFactory.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/addexistingwallet/entry/routing/AddExistingWalletChildFactory.kt @@ -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, ), ) } diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupModel.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupModel.kt index 6d7bc20a66..c81edf60cd 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupModel.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupModel.kt @@ -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() { diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupChildFactory.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupChildFactory.kt index 4bbcc396c6..7c76ba20f0 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupChildFactory.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupChildFactory.kt @@ -42,6 +42,7 @@ internal class CreateWalletBackupChildFactory @Inject constructor() { userWalletId = model.params.userWalletId, callbacks = model.manualBackupCompletedModelCallbacks, isUpgradeFlow = route.isUpgradeFlow, + isLastScreen = route.isLastScreen, ), ) } diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupRoute.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupRoute.kt index f210f5b8e7..74f503a15d 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupRoute.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/routing/CreateWalletBackupRoute.kt @@ -17,5 +17,6 @@ internal sealed interface CreateWalletBackupRoute { @Serializable data class BackupCompleted( val isUpgradeFlow: Boolean, + val isLastScreen: Boolean, ) : CreateWalletBackupRoute } \ No newline at end of file diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedComponent.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedComponent.kt index 566fb7cbbd..7e44b3d501 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedComponent.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedComponent.kt @@ -37,5 +37,6 @@ internal class ManualBackupCompletedComponent @AssistedInject constructor( val callbacks: ModelCallbacks, val isImportFlow: Boolean = false, val isUpgradeFlow: Boolean = false, + val isLastScreen: Boolean = false, ) } \ No newline at end of file diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedModel.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedModel.kt index 626e492bfa..cc143ececd 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedModel.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ManualBackupCompletedModel.kt @@ -23,6 +23,11 @@ internal class ManualBackupCompletedModel @Inject constructor( internal val uiState: StateFlow 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) diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/entity/ManualBackupCompletedUM.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/entity/ManualBackupCompletedUM.kt index 8ba7b22a4e..093c0a036f 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/entity/ManualBackupCompletedUM.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/entity/ManualBackupCompletedUM.kt @@ -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, ) \ No newline at end of file diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ui/ManualBackupCompletedContent.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ui/ManualBackupCompletedContent.kt index 4809adea2e..37cb7f0e8d 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ui/ManualBackupCompletedContent.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/manualbackup/completed/ui/ManualBackupCompletedContent.kt @@ -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 = { }, ),