Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-13 15:28:32 +05:00
parent fc329a75d9
commit 07092e4eb3
5 changed files with 19 additions and 9 deletions

View file

@ -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
*

View file

@ -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

View file

@ -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

View file

@ -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
}
}

View file

@ -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(