diff --git a/app/src/main/java/com/tangem/tap/MainActivity.kt b/app/src/main/java/com/tangem/tap/MainActivity.kt index b5cd3eab19..e4a9b5ecf8 100644 --- a/app/src/main/java/com/tangem/tap/MainActivity.kt +++ b/app/src/main/java/com/tangem/tap/MainActivity.kt @@ -40,7 +40,6 @@ import com.tangem.core.decompose.di.RootAppComponentContext import com.tangem.core.deeplink.DeepLinksRegistry import com.tangem.core.navigation.email.EmailSender import com.tangem.core.ui.UiDependencies -import com.tangem.core.ui.event.StateEvent import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.message.EventMessageEffect @@ -88,7 +87,6 @@ import com.tangem.tap.features.intentHandler.handlers.BackgroundScanIntentHandle import com.tangem.tap.features.intentHandler.handlers.OnPushClickedIntentHandler import com.tangem.tap.features.intentHandler.handlers.WalletConnectLinkIntentHandler import com.tangem.tap.features.main.MainViewModel -import com.tangem.tap.features.main.model.Toast import com.tangem.tap.features.onboarding.products.wallet.redux.BackupAction import com.tangem.tap.proxy.AppStateHolder import com.tangem.tap.proxy.redux.DaggerGraphAction @@ -279,7 +277,6 @@ class MainActivity : AppCompatActivity(), SnackbarHandler, ActivityResultCallbac initContent() - observeStateUpdates() observePolkadotAccountHealthCheck() sendStakingUnsubmittedHashes() checkGoogleServicesAvailability() @@ -359,26 +356,6 @@ class MainActivity : AppCompatActivity(), SnackbarHandler, ActivityResultCallbac } } - private fun observeStateUpdates() { - viewModel.state - .flowWithLifecycle(lifecycle) - .onEach { state -> - if (state.toast is StateEvent.Triggered) { - showToast(state.toast.data) - state.toast.onConsume() - } - } - .launchIn(lifecycleScope) - } - - private fun showToast(toast: Toast) { - dismissSnackbar() - showSnackbar(toast.message, Snackbar.LENGTH_LONG, toast.action.text) { - toast.action.onClick() - dismissSnackbar() - } - } - private fun installActivityDependencies() { cardSdkOwner.register(activity = this) tangemSdkManager = injectedTangemSdkManager diff --git a/app/src/main/java/com/tangem/tap/features/main/MainIntents.kt b/app/src/main/java/com/tangem/tap/features/main/MainIntents.kt deleted file mode 100644 index bfbfb42379..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/MainIntents.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.tangem.tap.features.main - -internal interface MainIntents { - - fun onHiddenBalanceToastAction() - - fun onShownBalanceToastAction() - - fun onHiddenBalanceNotificationAction(isPermanent: Boolean) - - fun onDismissBottomSheet() -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/MainScreenStateHolder.kt b/app/src/main/java/com/tangem/tap/features/main/MainScreenStateHolder.kt deleted file mode 100644 index c2c010454e..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/MainScreenStateHolder.kt +++ /dev/null @@ -1,62 +0,0 @@ -package com.tangem.tap.features.main - -import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig -import com.tangem.core.ui.event.consumedEvent -import com.tangem.core.ui.event.triggeredEvent -import com.tangem.tap.features.main.model.MainScreenState -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.update - -internal class MainScreenStateHolder(private val intents: MainIntents) { - - private val notificationsFactory = NotificationsFactory(intents) - - private val stateFlowInternal: MutableStateFlow = MutableStateFlow(getInitialState()) - - val stateFlow: StateFlow = stateFlowInternal - - fun updateWithHiddenBalancesToast(isBalanceHidden: Boolean) { - stateFlowInternal.update { state -> - state.copy( - toast = triggeredEvent( - data = if (isBalanceHidden) { - notificationsFactory.createBalancesAreHiddenToast() - } else { - notificationsFactory.createBalancesAreShownToast() - }, - onConsume = ::consumeToastEvent, - ), - ) - } - } - - fun updateWithHiddenBalancesNotification() { - stateFlowInternal.update { state -> - state.copy( - modalNotification = TangemBottomSheetConfig( - isShown = true, - onDismissRequest = intents::onDismissBottomSheet, - content = notificationsFactory.createBalancesAreHiddenModalNotification(), - ), - ) - } - } - - fun updateWithoutModalNotification() { - stateFlowInternal.update { state -> - state.copy(modalNotification = state.modalNotification?.copy(isShown = false)) - } - } - - private fun consumeToastEvent() { - stateFlowInternal.update { state -> - state.copy(toast = consumedEvent()) - } - } - - private fun getInitialState() = MainScreenState( - toast = consumedEvent(), - modalNotification = null, - ) -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/MainViewModel.kt b/app/src/main/java/com/tangem/tap/features/main/MainViewModel.kt index 375b285fb1..29dc39ea0b 100644 --- a/app/src/main/java/com/tangem/tap/features/main/MainViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/main/MainViewModel.kt @@ -3,9 +3,14 @@ package com.tangem.tap.features.main import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.tangem.blockchainsdk.BlockchainSDKFactory -import com.tangem.common.routing.AppRoute -import com.tangem.common.routing.AppRouter import com.tangem.core.analytics.Analytics +import com.tangem.core.decompose.di.GlobalUiMessageSender +import com.tangem.core.decompose.ui.UiMessageSender +import com.tangem.core.ui.R +import com.tangem.core.ui.extensions.resourceReference +import com.tangem.core.ui.message.BottomSheetMessage +import com.tangem.core.ui.message.EventMessageAction +import com.tangem.core.ui.message.SnackbarMessage import com.tangem.datasource.api.common.config.managers.ApiConfigsManager import com.tangem.domain.appcurrency.FetchAppCurrenciesUseCase import com.tangem.domain.balancehiding.BalanceHidingSettings @@ -18,7 +23,6 @@ import com.tangem.domain.settings.usercountry.FetchUserCountryUseCase import com.tangem.domain.staking.FetchStakingTokensUseCase import com.tangem.domain.wallets.legacy.UserWalletsListManager import com.tangem.tap.common.extensions.setContext -import com.tangem.tap.features.main.model.MainScreenState import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.* @@ -31,7 +35,6 @@ import javax.inject.Inject internal class MainViewModel @Inject constructor( private val updateBalanceHidingSettingsUseCase: UpdateBalanceHidingSettingsUseCase, private val listenToFlipsUseCase: ListenToFlipsUseCase, - private val router: AppRouter, private val fetchAppCurrenciesUseCase: FetchAppCurrenciesUseCase, deleteDeprecatedLogsUseCase: DeleteDeprecatedLogsUseCase, private val incrementAppLaunchCounterUseCase: IncrementAppLaunchCounterUseCase, @@ -41,18 +44,14 @@ internal class MainViewModel @Inject constructor( private val fetchStakingTokensUseCase: FetchStakingTokensUseCase, private val apiConfigsManager: ApiConfigsManager, private val fetchUserCountryUseCase: FetchUserCountryUseCase, + @GlobalUiMessageSender + private val messageSender: UiMessageSender, getBalanceHidingSettingsUseCase: GetBalanceHidingSettingsUseCase, -) : ViewModel(), MainIntents { - - private val stateHolder = MainScreenStateHolder( - intents = this, - ) +) : ViewModel() { private val balanceHidingSettingsFlow: SharedFlow = getBalanceHidingSettingsUseCase() .shareIn(viewModelScope, SharingStarted.WhileSubscribed()) - val state: StateFlow = stateHolder.stateFlow - var isSplashScreenShown: Boolean = true private set @@ -125,10 +124,34 @@ internal class MainViewModel @Inject constructor( it.isBalanceHidingNotificationEnabled && it.isBalanceHidden } .onEach { - if (state.value.modalNotification?.isShown != true && !it.isUpdateFromToast) { + if (!it.isUpdateFromToast) { listenToFlipsUseCase.changeUpdateEnabled(false) - stateHolder.updateWithHiddenBalancesNotification() - router.push(AppRoute.ModalNotification) + + val message = BottomSheetMessage.invoke( + iconResId = R.drawable.ic_eye_off_outline_24, + title = resourceReference(R.string.balance_hidden_title), + message = resourceReference(R.string.balance_hidden_description), + onDismissRequest = ::onBottomSheetDismissed, + firstActionBuilder = { + EventMessageAction( + title = resourceReference(R.string.balance_hidden_got_it_button), + onClick = { + onHiddenBalanceNotificationAction(isPermanent = false) + onDismissRequest() + }, + ) + }, + secondActionBuilder = { + EventMessageAction( + title = resourceReference(R.string.balance_hidden_do_not_show_button), + onClick = { + onHiddenBalanceNotificationAction(isPermanent = true) + onDismissRequest() + }, + ) + }, + ) + messageSender.send(message) } } .launchIn(viewModelScope) @@ -167,11 +190,27 @@ internal class MainViewModel @Inject constructor( private fun displayBalancesHiddenStatusToast(settings: BalanceHidingSettings) { // If modal notification is enabled and balances are hidden, the toast will not show if (!settings.isBalanceHidingNotificationEnabled || !settings.isBalanceHidden) { - stateHolder.updateWithHiddenBalancesToast(settings.isBalanceHidden) + val message = SnackbarMessage( + message = if (settings.isBalanceHidden) { + resourceReference(R.string.toast_balances_hidden) + } else { + resourceReference(R.string.toast_balances_shown) + }, + actionLabel = resourceReference(R.string.toast_undo), + action = { + if (settings.isBalanceHidden) { + onHiddenBalanceToastAction() + } else { + onShownBalanceToastAction() + } + }, + ) + + messageSender.send(message) } } - override fun onHiddenBalanceToastAction() { + private fun onHiddenBalanceToastAction() { viewModelScope.launch { updateBalanceHidingSettingsUseCase.invoke { copy( @@ -182,7 +221,7 @@ internal class MainViewModel @Inject constructor( } } - override fun onShownBalanceToastAction() { + private fun onShownBalanceToastAction() { viewModelScope.launch { updateBalanceHidingSettingsUseCase.invoke { copy( @@ -193,10 +232,14 @@ internal class MainViewModel @Inject constructor( } } - override fun onHiddenBalanceNotificationAction(isPermanent: Boolean) { - onDismissBottomSheet() + private fun onHiddenBalanceNotificationAction(isPermanent: Boolean) { + val message = SnackbarMessage( + message = resourceReference(R.string.toast_balances_hidden), + actionLabel = resourceReference(R.string.toast_undo), + action = ::onHiddenBalanceToastAction, + ) + messageSender.send(message) - stateHolder.updateWithHiddenBalancesToast(true) if (isPermanent) { viewModelScope.launch { updateBalanceHidingSettingsUseCase.invoke { @@ -206,10 +249,7 @@ internal class MainViewModel @Inject constructor( } } - override fun onDismissBottomSheet() { - listenToFlipsUseCase.changeUpdateEnabled(true) - router.pop() - stateHolder.updateWithoutModalNotification() - stateHolder.updateWithHiddenBalancesToast(true) + private fun onBottomSheetDismissed() { + listenToFlipsUseCase.changeUpdateEnabled(isUpdateEnabled = true) } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/NotificationsFactory.kt b/app/src/main/java/com/tangem/tap/features/main/NotificationsFactory.kt deleted file mode 100644 index cc2dcc6c40..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/NotificationsFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.tangem.tap.features.main - -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.tap.features.main.model.ActionConfig -import com.tangem.tap.features.main.model.ModalNotification -import com.tangem.tap.features.main.model.Toast -import com.tangem.wallet.R - -internal class NotificationsFactory( - private val intents: MainIntents, -) { - - fun createBalancesAreHiddenToast(): Toast { - return Toast( - message = resourceReference(R.string.toast_balances_hidden), - action = ActionConfig( - text = resourceReference(R.string.toast_undo), - onClick = intents::onHiddenBalanceToastAction, - ), - ) - } - - fun createBalancesAreShownToast(): Toast { - return Toast( - message = resourceReference(R.string.toast_balances_shown), - action = ActionConfig( - text = resourceReference(R.string.toast_undo), - onClick = intents::onShownBalanceToastAction, - ), - ) - } - - fun createBalancesAreHiddenModalNotification(): ModalNotification { - return ModalNotification( - iconResId = R.drawable.ic_eye_off_outline_24, - title = resourceReference(R.string.balance_hidden_title), - message = resourceReference(R.string.balance_hidden_description), - primaryAction = ActionConfig( - text = resourceReference(R.string.balance_hidden_got_it_button), - onClick = { intents.onHiddenBalanceNotificationAction(isPermanent = false) }, - ), - secondaryAction = ActionConfig( - text = resourceReference(R.string.balance_hidden_do_not_show_button), - onClick = { intents.onHiddenBalanceNotificationAction(isPermanent = true) }, - ), - ) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/model/ActionConfig.kt b/app/src/main/java/com/tangem/tap/features/main/model/ActionConfig.kt deleted file mode 100644 index 6549c35d88..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/model/ActionConfig.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.tangem.tap.features.main.model - -import com.tangem.core.ui.extensions.TextReference - -internal data class ActionConfig( - val text: TextReference, - val onClick: () -> Unit, -) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/model/MainScreenState.kt b/app/src/main/java/com/tangem/tap/features/main/model/MainScreenState.kt deleted file mode 100644 index 7a787bbc7b..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/model/MainScreenState.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.tangem.tap.features.main.model - -import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig -import com.tangem.core.ui.event.StateEvent - -internal data class MainScreenState( - val toast: StateEvent, - val modalNotification: TangemBottomSheetConfig?, -) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/model/ModalNotification.kt b/app/src/main/java/com/tangem/tap/features/main/model/ModalNotification.kt deleted file mode 100644 index eaf3d37833..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/model/ModalNotification.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.tangem.tap.features.main.model - -import androidx.annotation.DrawableRes -import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent -import com.tangem.core.ui.extensions.TextReference - -internal data class ModalNotification( - @DrawableRes val iconResId: Int, - val title: TextReference, - val message: TextReference, - val primaryAction: ActionConfig, - val secondaryAction: ActionConfig?, -) : TangemBottomSheetConfigContent \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/model/Toast.kt b/app/src/main/java/com/tangem/tap/features/main/model/Toast.kt deleted file mode 100644 index 9e959eb892..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/model/Toast.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.tangem.tap.features.main.model - -import com.tangem.core.ui.extensions.TextReference - -internal data class Toast( - val message: TextReference, - val action: ActionConfig, -) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt b/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt deleted file mode 100644 index 6e4e1517e4..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/ui/ModalNotificationBottomSheetFragment.kt +++ /dev/null @@ -1,63 +0,0 @@ -package com.tangem.tap.features.main.ui - -import android.content.DialogInterface -import androidx.activity.compose.BackHandler -import androidx.compose.foundation.background -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.ui.Modifier -import androidx.fragment.app.activityViewModels -import androidx.lifecycle.compose.collectAsStateWithLifecycle -import com.tangem.core.ui.UiDependencies -import com.tangem.core.ui.res.TangemTheme -import com.tangem.core.ui.screen.ComposeBottomSheetFragment -import com.tangem.tap.features.main.MainViewModel -import com.tangem.tap.features.main.model.ModalNotification -import com.tangem.tap.features.main.ui.components.ModalNotificationContent -import dagger.hilt.android.AndroidEntryPoint -import javax.inject.Inject - -@AndroidEntryPoint -internal class ModalNotificationBottomSheetFragment : ComposeBottomSheetFragment() { - - @Inject - override lateinit var uiDependencies: UiDependencies - - private val viewModel: MainViewModel by activityViewModels() - - @Composable - override fun ScreenContent(modifier: Modifier) { - val state by viewModel.state.collectAsStateWithLifecycle() - val notification = state.modalNotification - if (notification == null) { - dismiss() - return - } - - BackHandler(onBack = notification.onDismissRequest) - - when (val content = notification.content) { - is ModalNotification -> ModalNotificationContent( - modifier = modifier - .background( - color = TangemTheme.colors.background.primary, - shape = TangemTheme.shapes.bottomSheet, - ), - notification = content, - ) - else -> Unit - } - - LaunchedEffect(notification) { - if (!notification.isShown) { - dismiss() - } - } - } - - override fun onDismiss(dialog: DialogInterface) { - viewModel.state.value.modalNotification?.onDismissRequest?.invoke() - super.onDismiss(dialog) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/features/main/ui/components/ModalNotificationScreen.kt b/app/src/main/java/com/tangem/tap/features/main/ui/components/ModalNotificationScreen.kt deleted file mode 100644 index 72c36caf54..0000000000 --- a/app/src/main/java/com/tangem/tap/features/main/ui/components/ModalNotificationScreen.kt +++ /dev/null @@ -1,120 +0,0 @@ -package com.tangem.tap.features.main.ui.components - -import android.content.res.Configuration -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.* -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider -import com.tangem.core.ui.components.PrimaryButton -import com.tangem.core.ui.components.SecondaryButton -import com.tangem.core.ui.components.atoms.Hand -import com.tangem.core.ui.extensions.resolveReference -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.res.TangemTheme -import com.tangem.tap.features.main.model.ActionConfig -import com.tangem.tap.features.main.model.ModalNotification -import com.tangem.wallet.R - -@Composable -internal fun ModalNotificationContent(notification: ModalNotification, modifier: Modifier = Modifier) { - Column( - modifier = modifier.padding(horizontal = TangemTheme.dimens.spacing16), - verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing40), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Hand() - Icon( - modifier = Modifier.size(TangemTheme.dimens.size48), - painter = painterResource(notification.iconResId), - tint = TangemTheme.colors.icon.primary1, - contentDescription = null, - ) - Column( - modifier = Modifier - .padding(horizontal = TangemTheme.dimens.spacing16) - .fillMaxWidth(), - verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing16), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Text( - text = notification.title.resolveReference(), - style = TangemTheme.typography.h2, - color = TangemTheme.colors.text.primary1, - textAlign = TextAlign.Center, - ) - Text( - text = notification.message.resolveReference(), - style = TangemTheme.typography.body2, - color = TangemTheme.colors.text.secondary, - textAlign = TextAlign.Center, - ) - } - Column( - modifier = Modifier - .padding(bottom = TangemTheme.dimens.spacing16) - .fillMaxWidth(), - verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing12), - horizontalAlignment = Alignment.CenterHorizontally, - ) { - PrimaryButton( - modifier = Modifier.fillMaxWidth(), - text = notification.primaryAction.text.resolveReference(), - onClick = notification.primaryAction.onClick, - ) - when (val secondaryAction = notification.secondaryAction) { - null -> Unit - else -> SecondaryButton( - modifier = Modifier.fillMaxWidth(), - text = secondaryAction.text.resolveReference(), - onClick = secondaryAction.onClick, - ) - } - } - } -} - -// region Preview -@Preview(widthDp = 360, heightDp = 404) -@Preview(widthDp = 360, heightDp = 404, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun ModalNotificationContentPreview( - @PreviewParameter(GlobalNotificationProvider::class) param: ModalNotification, -) { - TangemThemePreview { - ModalNotificationContent( - notification = param, - modifier = Modifier.background( - color = TangemTheme.colors.background.primary, - shape = TangemTheme.shapes.bottomSheet, - ), - ) - } -} - -private class GlobalNotificationProvider : CollectionPreviewParameterProvider( - collection = listOf( - ModalNotification( - iconResId = R.drawable.ic_eye_off_outline_24, - title = resourceReference(R.string.balance_hidden_title), - message = resourceReference(R.string.balance_hidden_description), - primaryAction = ActionConfig( - text = resourceReference(R.string.balance_hidden_got_it_button), - onClick = {}, - ), - secondaryAction = ActionConfig( - text = resourceReference(R.string.balance_hidden_do_not_show_button), - onClick = {}, - ), - ), - ), -) -// endregion Preview \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt index 960a2bd499..276794edab 100644 --- a/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt +++ b/app/src/main/java/com/tangem/tap/routing/utils/ChildFactory.kt @@ -27,7 +27,6 @@ import com.tangem.tap.features.details.ui.resetcard.ResetCardFragment import com.tangem.tap.features.details.ui.securitymode.SecurityModeFragment import com.tangem.tap.features.details.ui.walletconnect.WalletConnectFragment import com.tangem.tap.features.home.HomeFragment -import com.tangem.tap.features.main.ui.ModalNotificationBottomSheetFragment import com.tangem.tap.features.onboarding.products.note.OnboardingNoteFragment import com.tangem.tap.features.onboarding.products.otherCards.OnboardingOtherCardsFragment import com.tangem.tap.features.onboarding.products.twins.ui.OnboardingTwinsFragment @@ -202,7 +201,6 @@ internal class ChildFactory @Inject constructor( } is AppRoute.AccessCodeRecovery, is AppRoute.AppCurrencySelector, - is AppRoute.ModalNotification, is AppRoute.SaveWallet, is AppRoute.Send, is AppRoute.AppSettings, @@ -242,9 +240,6 @@ internal class ChildFactory @Inject constructor( is AppRoute.AppCurrencySelector -> { route.asFragmentChild(Provider { AppCurrencySelectorFragment() }) } - is AppRoute.ModalNotification -> { - route.asFragmentChild(Provider { ModalNotificationBottomSheetFragment() }) - } is AppRoute.SaveWallet -> { route.asFragmentChild(Provider { SaveWalletBottomSheetFragment() }) } diff --git a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt index bc9dae984e..d5993f39b7 100644 --- a/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt +++ b/common/routing/src/main/kotlin/com/tangem/common/routing/AppRoute.kt @@ -252,9 +252,6 @@ sealed class AppRoute(val path: String) : Route { @Serializable data object AppCurrencySelector : AppRoute(path = "/app_currency_selector") - @Serializable - data object ModalNotification : AppRoute(path = "/modal_notification") - @Serializable data class Staking( val userWalletId: UserWalletId,