Updated on 2026-08-14
This commit is contained in:
parent
fa7926ebf9
commit
5fb1090653
4 changed files with 12 additions and 12 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue