From a6bafca10e6d7e258f462c129ac4944ac3e894f1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 14 Aug 2024 15:24:30 +0400 Subject: [PATCH] Updated on 2026-08-14 --- features/swap/presentation/build.gradle.kts | 1 + .../com/tangem/feature/swap/router/SwapRouter.kt | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/features/swap/presentation/build.gradle.kts b/features/swap/presentation/build.gradle.kts index c41603a025..bea28f028c 100644 --- a/features/swap/presentation/build.gradle.kts +++ b/features/swap/presentation/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { implementation(projects.core.ui) implementation(projects.common.routing) implementation(projects.common.ui) + implementation(projects.core.decompose) // For Route supertype /** Domain modules **/ implementation(projects.domain.appCurrency) diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/router/SwapRouter.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/router/SwapRouter.kt index bc5009da3c..19b2c2dca6 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/router/SwapRouter.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/router/SwapRouter.kt @@ -33,12 +33,18 @@ internal class SwapRouter( } fun openTokenDetails(userWalletId: UserWalletId, currency: CryptoCurrency) { - router.push( - AppRoute.CurrencyDetails( - userWalletId = userWalletId, - currency = currency, - ), + val route = AppRoute.CurrencyDetails( + userWalletId = userWalletId, + currency = currency, ) + + if (route in router.stack) { + router.popTo(route) + } else { + router.pop { + router.push(route) + } + } } }