diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/BaseActionsFactory.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/BaseActionsFactory.kt index c3850162db..c78daffbe3 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/BaseActionsFactory.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/BaseActionsFactory.kt @@ -6,6 +6,7 @@ import com.tangem.domain.models.currency.CryptoCurrencyStatus import com.tangem.domain.models.network.NetworkAddress import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.models.wallet.UserWalletId +import com.tangem.domain.models.wallet.isMultiCurrency import com.tangem.domain.staking.model.StakingAvailability import com.tangem.domain.tokens.model.ScenarioUnavailabilityReason import com.tangem.domain.tokens.model.TokenActionsState.ActionState @@ -115,6 +116,14 @@ internal open class BaseActionsFactory( ) } + protected fun getTokenHideUnavailabilityReason(userWallet: UserWallet): ScenarioUnavailabilityReason { + return if (userWallet.isMultiCurrency) { + ScenarioUnavailabilityReason.None + } else { + ScenarioUnavailabilityReason.SingleWallet + } + } + /** Adds a "Copy Address" action to the builder if the address is available [isAddressAvailable] */ protected fun ActionAvailabilityBuilder.addCopyAction(isAddressAvailable: Boolean) { if (isAddressAvailable) { @@ -155,11 +164,6 @@ internal open class BaseActionsFactory( } } - /** Adds a "Hide Token" action to the builder */ - protected fun ActionAvailabilityBuilder.addHideTokenAction() { - ActionState.HideToken(unavailabilityReason = ScenarioUnavailabilityReason.None).active() - } - /** * Creates a staking action based on the staking availability * diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/CommonActionsFactory.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/CommonActionsFactory.kt index 3fb574d9e2..e90b41cbd4 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/CommonActionsFactory.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/CommonActionsFactory.kt @@ -79,6 +79,8 @@ internal class CommonActionsFactory( null } + val hideTokenUnavailabilityReason = getTokenHideUnavailabilityReason(userWallet) + actionAvailabilityBuilder { // region Analytics if (cryptoCurrencyStatus.currency.id.rawCurrencyId != null) { @@ -129,7 +131,7 @@ internal class CommonActionsFactory( // endregion // region HideToken - addHideTokenAction() + ActionState.HideToken(unavailabilityReason = hideTokenUnavailabilityReason).addByReason() // endregion // region YieldMode diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/OutdatedDataActionsFactory.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/OutdatedDataActionsFactory.kt index 308a2812bd..91ae07242d 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/OutdatedDataActionsFactory.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/OutdatedDataActionsFactory.kt @@ -71,6 +71,8 @@ internal class OutdatedDataActionsFactory( null } + val hideTokenUnavailabilityReason = getTokenHideUnavailabilityReason(userWallet) + actionAvailabilityBuilder { // region Copy addCopyAction(isAddressAvailable = isAddressAvailable) @@ -130,7 +132,7 @@ internal class OutdatedDataActionsFactory( // endregion // region HideToken - addHideTokenAction() + ActionState.HideToken(hideTokenUnavailabilityReason).addByReason() // endregion // region Yield Mode diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/UnreachableActionsFactory.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/UnreachableActionsFactory.kt index 4850068923..411ee415a2 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/UnreachableActionsFactory.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/actions/UnreachableActionsFactory.kt @@ -42,6 +42,8 @@ internal class UnreachableActionsFactory( requirementsDeferred = requirementsDeferred, ) } + + val hideTokenUnavailabilityReason = getTokenHideUnavailabilityReason(userWallet) // endregion actionAvailabilityBuilder { @@ -70,7 +72,7 @@ internal class UnreachableActionsFactory( // endregion // region HideToken - addHideTokenAction() + ActionState.HideToken(hideTokenUnavailabilityReason).addByReason() // endregion } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPagerIndicator.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPagerIndicator.kt index de6770b7e9..8c359c0506 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPagerIndicator.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPagerIndicator.kt @@ -22,7 +22,7 @@ import com.tangem.core.ui.ds.topbar.collapsing.TangemCollapsingAppBarBehavior private const val MIN_SCALE = 0.75f private const val MAX_SCALE = 1f -private const val WALLET_INDICATOR_OFFSET = 0.63f +private const val WALLET_INDICATOR_OFFSET = 0.6f @Composable internal fun WalletPagerIndicator(