From 5fb1090653b0eddf8ef89758198207fd0b071db9 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 20 May 2026 07:13:13 -0700 Subject: [PATCH] Updated on 2026-08-14 --- .../components/TangemPayCardPageScreenComponent.kt | 4 +--- .../tangempay/entity/TangemPayDetailsUM.kt | 2 +- .../model/TangemPayCardDetailsBlockModel.kt | 14 ++++++++------ .../tangempay/ui/TangemPayCardDetailsBlock.kt | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/components/TangemPayCardPageScreenComponent.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/components/TangemPayCardPageScreenComponent.kt index 87a347f661..938132dbc9 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/components/TangemPayCardPageScreenComponent.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/components/TangemPayCardPageScreenComponent.kt @@ -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() diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/entity/TangemPayDetailsUM.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/entity/TangemPayDetailsUM.kt index a86c20d4d4..52a72107d6 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/entity/TangemPayDetailsUM.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/entity/TangemPayDetailsUM.kt @@ -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 { diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayCardDetailsBlockModel.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayCardDetailsBlockModel.kt index 4e97b58c7d..eac06a5a95 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayCardDetailsBlockModel.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayCardDetailsBlockModel.kt @@ -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() { diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardDetailsBlock.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardDetailsBlock.kt index 18bf622b32..5a21bce025 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardDetailsBlock.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardDetailsBlock.kt @@ -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)