Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-08 18:11:08 +02:00
parent fd7e830082
commit 75d52da275
2 changed files with 24 additions and 14 deletions

View file

@ -22,6 +22,7 @@ internal class TangemPayDetailsStateFactory(
private val onOpenMenu: () -> Unit,
private val intents: TangemPayDetailIntents,
private val cardFrozenState: TangemPayCardFrozenState,
private val isRedesignEnabled: Boolean,
) {
@Suppress("LongMethod")
fun getInitialState(
@ -41,20 +42,7 @@ internal class TangemPayDetailsStateFactory(
onRefresh = intents::onRefreshSwipe,
),
balanceBlockState = TangemPayDetailsBalanceBlockState.Loading(
actionButtons = persistentListOf(
ActionButtonConfig(
text = resourceReference(id = R.string.tangempay_card_details_add_funds),
iconResId = R.drawable.ic_plus_24,
onClick = intents::onClickAddFunds,
isEnabled = cardFrozenState == TangemPayCardFrozenState.Unfrozen,
),
ActionButtonConfig(
text = resourceReference(id = R.string.tangempay_card_details_withdraw),
iconResId = R.drawable.ic_arrow_up_24,
onClick = intents::onClickWithdraw,
isEnabled = cardFrozenState == TangemPayCardFrozenState.Unfrozen,
),
),
actionButtons = getActionButtonsConfig(),
cardsBlockState = TangemPayDetailsBalanceBlockState.CardsBlockState(
cards = persistentListOf(
TangemPayDetailsBalanceBlockState.Card(
@ -120,4 +108,25 @@ internal class TangemPayDetailsStateFactory(
),
)
}
private fun getActionButtonsConfig(): ImmutableList<ActionButtonConfig> {
return persistentListOf(
ActionButtonConfig(
text = resourceReference(id = R.string.tangempay_card_details_add_funds),
iconResId = if (isRedesignEnabled) {
R.drawable.ic_arrow_down_24
} else {
R.drawable.ic_plus_24
},
onClick = intents::onClickAddFunds,
isEnabled = cardFrozenState == TangemPayCardFrozenState.Unfrozen,
),
ActionButtonConfig(
text = resourceReference(id = R.string.tangempay_card_details_withdraw),
iconResId = R.drawable.ic_arrow_up_24,
onClick = intents::onClickWithdraw,
isEnabled = cardFrozenState == TangemPayCardFrozenState.Unfrozen,
),
)
}
}

View file

@ -97,6 +97,7 @@ internal class TangemPayDetailsModel @Inject constructor(
onOpenMenu = ::onOpenMenu,
intents = this,
cardFrozenState = initialCardFrozenState,
isRedesignEnabled = isRedesignEnabled(),
)
val uiState: StateFlow<TangemPayDetailsUM>