Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-20 07:13:13 -07:00
parent fa7926ebf9
commit 5fb1090653
4 changed files with 12 additions and 12 deletions

View file

@ -60,9 +60,7 @@ internal class TangemPayCardPageScreenComponent(
TangemPayCardPageScreen(
state = state,
cardDetailsBlockComponent = cardDetailsBlockComponent,
cardDetailsState = cardDetailsState.copy(
isActive = !state.isReissueInProgress,
),
cardDetailsState = cardDetailsState,
modifier = modifier,
)
bottomSheet.child?.instance?.BottomSheet()

View file

@ -31,7 +31,7 @@ internal data class TangemPayCardDetailsUM(
val isLoading: Boolean = false,
val cardFrozenState: TangemPayCardFrozenState,
val displayNameState: DisplayNameState?,
val isActive: Boolean = true,
val isActionsAvailable: Boolean = false,
)
internal sealed interface DisplayNameState {

View file

@ -74,7 +74,7 @@ internal class TangemPayCardDetailsBlockModel @Inject constructor(
private val showCardDetailsTimerJobHolder = JobHolder()
init {
subscribeToCardNameChanges(cardId = params.params.config.cardId, userWalletId = params.params.userWalletId)
subscribeToCardChanges(cardId = params.params.config.cardId, userWalletId = params.params.userWalletId)
subscribeToCardFrozenState()
modelScope.launch {
cardDetailsEventListener.event.collectLatest { event ->
@ -86,7 +86,7 @@ internal class TangemPayCardDetailsBlockModel @Inject constructor(
}
}
private fun subscribeToCardNameChanges(cardId: String, userWalletId: UserWalletId) {
private fun subscribeToCardChanges(cardId: String, userWalletId: UserWalletId) {
paymentAccountStatusSupplier.invoke(userWalletId)
.onEach { state ->
val status = state.value
@ -97,7 +97,11 @@ internal class TangemPayCardDetailsBlockModel @Inject constructor(
val card = status.requireCardWithId(cardId)
val displayName = card.displayName ?: return@onEach
if (card.isReissuing) {
hideCardDetails()
}
uiState.update(TangemPayCardDetailsUpdateNameTransformer(displayName))
uiState.update { it.copy(isActionsAvailable = !card.isReissuing) }
}
}
.launchIn(modelScope)
@ -141,10 +145,8 @@ internal class TangemPayCardDetailsBlockModel @Inject constructor(
}
fun hideCardDetails() {
modelScope.launch {
revealCardDetailsJobHolder.cancel()
uiState.transformerUpdate(transformer = DetailsHiddenStateTransformer(stateFactory))
}
revealCardDetailsJobHolder.cancel()
uiState.transformerUpdate(transformer = DetailsHiddenStateTransformer(stateFactory))
}
private fun showError() {

View file

@ -97,7 +97,7 @@ internal fun TangemPayCard(state: TangemPayCardDetailsUM, modifier: Modifier = M
shape = RoundedCornerShape(16.dp),
),
) {
if (shouldShowDetails && state.isActive) {
if (shouldShowDetails) {
TangemPayCardDetailsShownBlock(
cardNumber = state.number,
expiry = state.expiry,
@ -147,7 +147,7 @@ private fun TangemPayCardDetailsHiddenBlock(state: TangemPayCardDetailsUM, modif
)
}
if (state.isActive) {
if (state.isActionsAvailable) {
ConstraintLayout(
modifier = Modifier
.align(Alignment.BottomCenter)