Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-26 22:59:51 +07:00
commit 2859b520aa
6 changed files with 24 additions and 15 deletions

View file

@ -37,13 +37,13 @@ internal class TangemPayWalletSelectorModel @Inject constructor(
onWalletClick = { params.listener.onWalletSelected(it) },
)
val uiState: StateFlow<WalletSelectorBSContentUM>
field = MutableStateFlow(getInitialState())
init {
fetchUserWalletsUM()
}
val uiState: StateFlow<WalletSelectorBSContentUM>
field = MutableStateFlow(getInitialState())
private fun getInitialState(): WalletSelectorBSContentUM {
return WalletSelectorBSContentUM(
userWallets = persistentListOf(),

View file

@ -210,6 +210,7 @@ internal object WalletScreenPreviewData {
isHidingMode = false,
showMarketsOnboarding = false,
onDismissMarketsTooltip = {},
isRedesignEnabled = true,
)
val defaultAccountState = defaultState.copy(

View file

@ -245,6 +245,7 @@ internal object WalletScreenPreviewDataLegacy {
isHidingMode = false,
showMarketsOnboarding = false,
onDismissMarketsTooltip = {},
isRedesignEnabled = false,
)
internal val accountScreenState =

View file

@ -139,6 +139,7 @@ internal class WalletStateController @Inject constructor(
isHidingMode = false,
showMarketsOnboarding = false,
onDismissMarketsTooltip = {},
isRedesignEnabled = designFeatureToggles.isRedesignEnabled,
)
}
}

View file

@ -15,4 +15,5 @@ internal data class WalletScreenState(
val isHidingMode: Boolean,
val showMarketsOnboarding: Boolean,
val onDismissMarketsTooltip: () -> Unit,
val isRedesignEnabled: Boolean,
)

View file

@ -15,17 +15,22 @@ internal abstract class WalletStateTransformer(
abstract fun transform(walletUM: WalletUM): WalletUM
final override fun transform(prevState: WalletScreenState): WalletScreenState {
return prevState.copy(
wallets = prevState.wallets
.map { state ->
if (state.walletCardState.id == userWalletId) transform(state) else state
}
.toImmutableList(),
wallets2 = prevState.wallets2
.map { walletUM ->
if (walletUM.walletsBalanceUM.id == userWalletId) transform(walletUM) else walletUM
}
.toImmutableList(),
)
return if (prevState.isRedesignEnabled) {
prevState.copy(
wallets2 = prevState.wallets2
.map { walletUM ->
if (walletUM.walletsBalanceUM.id == userWalletId) transform(walletUM) else walletUM
}
.toImmutableList(),
)
} else {
prevState.copy(
wallets = prevState.wallets
.map { state ->
if (state.walletCardState.id == userWalletId) transform(state) else state
}
.toImmutableList(),
)
}
}
}