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 8cc687e476..9b0a2821e7 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 @@ -14,7 +14,6 @@ import com.tangem.features.hotwallet.manualbackup.check.ManualBackupCheckCompone import com.tangem.features.hotwallet.manualbackup.completed.ManualBackupCompletedComponent import com.tangem.features.hotwallet.manualbackup.phrase.ManualBackupPhraseComponent import com.tangem.features.hotwallet.manualbackup.start.ManualBackupStartComponent -import com.tangem.features.hotwallet.stepper.api.HotWalletStepperComponent import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableStateFlow import javax.inject.Inject @@ -28,7 +27,6 @@ internal class CreateWalletBackupModel @Inject constructor( val params = paramsContainer.require() - val hotWalletStepperComponentModelCallback = HotWalletStepperComponentModelCallback() val manualBackupStartModelCallbacks = ManualBackupStartModelCallbacks() val manualBackupPhraseModelCallbacks = ManualBackupPhraseModelCallbacks() val manualBackupCheckModelCallbacks = ManualBackupCheckModelCallbacks() @@ -63,14 +61,6 @@ internal class CreateWalletBackupModel @Inject constructor( router.pop() } - inner class HotWalletStepperComponentModelCallback : HotWalletStepperComponent.ModelCallback { - override fun onBackClick() { - onBack() - } - - override fun onSkipClick() = Unit - } - inner class ManualBackupStartModelCallbacks : ManualBackupStartComponent.ModelCallbacks { override fun onContinueClick() { onManualBackupStarted() diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupStepperStateManager.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupStepperStateManager.kt deleted file mode 100644 index 5b8c3a2e68..0000000000 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/CreateWalletBackupStepperStateManager.kt +++ /dev/null @@ -1,56 +0,0 @@ -package com.tangem.features.hotwallet.createwalletbackup - -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.features.hotwallet.createwalletbackup.routing.CreateWalletBackupRoute -import com.tangem.features.hotwallet.impl.R -import com.tangem.features.hotwallet.stepper.api.HotWalletStepperComponent -import javax.inject.Inject - -internal class CreateWalletBackupStepperStateManager @Inject constructor() { - - fun getStepperState(route: CreateWalletBackupRoute): HotWalletStepperComponent.StepperUM? { - return when (route) { - is CreateWalletBackupRoute.RecoveryPhraseStart -> HotWalletStepperComponent.StepperUM( - currentStep = STEP_START, - steps = STEPS_COUNT, - title = resourceReference(R.string.common_backup), - showBackButton = true, - showSkipButton = false, - showFeedbackButton = true, - ) - is CreateWalletBackupRoute.RecoveryPhrase -> HotWalletStepperComponent.StepperUM( - currentStep = STEP_PHRASE, - steps = STEPS_COUNT, - title = resourceReference(R.string.common_backup), - showBackButton = true, - showSkipButton = false, - showFeedbackButton = true, - ) - is CreateWalletBackupRoute.ConfirmBackup -> HotWalletStepperComponent.StepperUM( - currentStep = STEP_CONFIRM, - steps = STEPS_COUNT, - title = resourceReference(R.string.common_backup), - showBackButton = true, - showSkipButton = false, - showFeedbackButton = true, - ) - is CreateWalletBackupRoute.BackupCompleted -> HotWalletStepperComponent.StepperUM( - currentStep = STEP_COMPLETED, - steps = STEPS_COUNT, - title = resourceReference(R.string.common_done), - showBackButton = false, - showSkipButton = false, - showFeedbackButton = false, - ) - } - } - - companion object { - private const val STEPS_COUNT = 4 - - private const val STEP_START = 1 - private const val STEP_PHRASE = 2 - private const val STEP_CONFIRM = 3 - private const val STEP_COMPLETED = 4 - } -} \ No newline at end of file diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/DefaultCreateWalletBackupComponent.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/DefaultCreateWalletBackupComponent.kt index b13c9193f9..7ac2d2ca7e 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/DefaultCreateWalletBackupComponent.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/DefaultCreateWalletBackupComponent.kt @@ -13,9 +13,8 @@ import com.tangem.core.decompose.context.childByContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.features.hotwallet.CreateWalletBackupComponent import com.tangem.features.hotwallet.createwalletbackup.routing.CreateWalletBackupChildFactory +import com.tangem.features.hotwallet.createwalletbackup.routing.CreateWalletBackupRoute import com.tangem.features.hotwallet.createwalletbackup.ui.CreateWalletBackupContent -import com.tangem.features.hotwallet.stepper.api.HotWalletStepperComponent -import com.tangem.features.hotwallet.stepper.impl.DefaultHotWalletStepperComponent import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -24,9 +23,7 @@ import kotlinx.coroutines.launch internal class DefaultCreateWalletBackupComponent @AssistedInject constructor( @Assisted appComponentContext: AppComponentContext, @Assisted private val params: CreateWalletBackupComponent.Params, - private val stepperStateManager: CreateWalletBackupStepperStateManager, createWalletBackupChildFactory: CreateWalletBackupChildFactory, - stepperComponentFactory: DefaultHotWalletStepperComponent.Factory, ) : CreateWalletBackupComponent, AppComponentContext by appComponentContext { private val model: CreateWalletBackupModel = getOrCreateModel(params) @@ -46,14 +43,6 @@ internal class DefaultCreateWalletBackupComponent @AssistedInject constructor( }, ) - private val stepperComponent = stepperComponentFactory.create( - context = this, - params = HotWalletStepperComponent.Params( - initState = HotWalletStepperComponent.StepperUM.initialState(), - callback = model.hotWalletStepperComponentModelCallback, - ), - ) - init { innerStack.subscribe( lifecycle = lifecycle, @@ -72,13 +61,11 @@ internal class DefaultCreateWalletBackupComponent @AssistedInject constructor( BackHandler(onBack = model::onBack) - val stepperState = stepperStateManager.getStepperState(currentRoute) - stepperState?.let { stepperComponent.updateState(it) } - CreateWalletBackupContent( stackState = stackState, - stepperComponent = stepperComponent.takeIf { stepperState != null }, modifier = modifier, + showTopBar = currentRoute !is CreateWalletBackupRoute.BackupCompleted, + onBackClick = model::onBack, ) } diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/di/CreateWalletBackupModule.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/di/CreateWalletBackupModule.kt index 5ea687703d..82f617e453 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/di/CreateWalletBackupModule.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/di/CreateWalletBackupModule.kt @@ -3,11 +3,9 @@ package com.tangem.features.hotwallet.createwalletbackup.di import com.tangem.core.decompose.model.Model import com.tangem.features.hotwallet.CreateWalletBackupComponent import com.tangem.features.hotwallet.createwalletbackup.CreateWalletBackupModel -import com.tangem.features.hotwallet.createwalletbackup.CreateWalletBackupStepperStateManager import com.tangem.features.hotwallet.createwalletbackup.DefaultCreateWalletBackupComponent import dagger.Binds import dagger.Module -import dagger.Provides import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent import dagger.multibindings.ClassKey @@ -16,7 +14,7 @@ import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) -internal interface CreateWalletBackupModuleBinds { +internal interface CreateWalletBackupModule { @Binds @Singleton @@ -28,15 +26,4 @@ internal interface CreateWalletBackupModuleBinds { @IntoMap @ClassKey(CreateWalletBackupModel::class) fun bindCreateWalletBackupModel(model: CreateWalletBackupModel): Model -} - -@Module -@InstallIn(SingletonComponent::class) -internal object CreateWalletBackupModule { - - @Provides - @Singleton - fun provideCreateWalletBackupStepperStateManager(): CreateWalletBackupStepperStateManager { - return CreateWalletBackupStepperStateManager() - } } \ No newline at end of file diff --git a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/ui/CreateWalletBackupContent.kt b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/ui/CreateWalletBackupContent.kt index e6f1e9e732..2ec840a129 100644 --- a/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/ui/CreateWalletBackupContent.kt +++ b/features/hot-wallet/impl/src/main/kotlin/com/tangem/features/hotwallet/createwalletbackup/ui/CreateWalletBackupContent.kt @@ -11,15 +11,19 @@ import com.arkivanov.decompose.extensions.compose.stack.Children import com.arkivanov.decompose.extensions.compose.stack.animation.slide import com.arkivanov.decompose.extensions.compose.stack.animation.stackAnimation import com.arkivanov.decompose.router.stack.ChildStack +import com.tangem.features.hotwallet.impl.R +import com.tangem.core.ui.components.appbar.TangemTopAppBar +import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.features.hotwallet.createwalletbackup.routing.CreateWalletBackupRoute -import com.tangem.features.hotwallet.stepper.api.HotWalletStepperComponent @Composable internal fun CreateWalletBackupContent( stackState: ChildStack, - stepperComponent: HotWalletStepperComponent?, + showTopBar: Boolean, + onBackClick: () -> Unit, modifier: Modifier = Modifier, ) { Column( @@ -29,7 +33,15 @@ internal fun CreateWalletBackupContent( .imePadding() .systemBarsPadding(), ) { - stepperComponent?.Content(Modifier) + if (showTopBar) { + TangemTopAppBar( + modifier = Modifier, + startButton = TopAppBarButtonUM.Back( + onBackClicked = onBackClick, + ), + title = stringResourceSafe(id = R.string.common_backup), + ) + } Children( stack = stackState,