Updated on 2026-08-14
This commit is contained in:
commit
17df23f198
5 changed files with 19 additions and 9 deletions
|
|
@ -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
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue