Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-08 18:11:18 +02:00
parent 75d52da275
commit 427715888d
9 changed files with 10 additions and 17 deletions

View file

@ -25,7 +25,6 @@ internal data class TangemPayCardPageUM(
addToWalletBlockState: AddToWalletBlockState? = AddToWalletBlockState( addToWalletBlockState: AddToWalletBlockState? = AddToWalletBlockState(
onClick = {}, onClick = {},
onClickClose = {}, onClickClose = {},
shouldUseMagicEffect = false,
), ),
settings: ImmutableList<TangemPayCardPageSetting> = persistentListOf( settings: ImmutableList<TangemPayCardPageSetting> = persistentListOf(
TangemPayCardPageSetting(TextReference.Str("Pin Code")) {}, TangemPayCardPageSetting(TextReference.Str("Pin Code")) {},

View file

@ -97,5 +97,4 @@ internal sealed class TangemPayDetailsBalanceBlockState {
internal data class AddToWalletBlockState( internal data class AddToWalletBlockState(
val onClick: () -> Unit, val onClick: () -> Unit,
val onClickClose: () -> Unit, val onClickClose: () -> Unit,
val shouldUseMagicEffect: Boolean,
) )

View file

@ -37,8 +37,8 @@ import com.tangem.domain.pay.repository.TangemPayCardDetailsRepository
import com.tangem.domain.pay.usecase.ChangeCardFrozenStateUseCase import com.tangem.domain.pay.usecase.ChangeCardFrozenStateUseCase
import com.tangem.domain.tangempay.TangemPayAnalyticsEvents import com.tangem.domain.tangempay.TangemPayAnalyticsEvents
import com.tangem.features.tangempay.TangemPayFeatureToggles import com.tangem.features.tangempay.TangemPayFeatureToggles
import com.tangem.features.tangempay.components.AddFundsListener
import com.tangem.features.tangempay.closure.CloseCardListener import com.tangem.features.tangempay.closure.CloseCardListener
import com.tangem.features.tangempay.components.AddFundsListener
import com.tangem.features.tangempay.components.ReissueCardListener import com.tangem.features.tangempay.components.ReissueCardListener
import com.tangem.features.tangempay.components.TangemPayCardPageComponent import com.tangem.features.tangempay.components.TangemPayCardPageComponent
import com.tangem.features.tangempay.components.ViewPinListener import com.tangem.features.tangempay.components.ViewPinListener
@ -421,7 +421,6 @@ internal class TangemPayCardPageModel @Inject constructor(
addToWalletBlockState = AddToWalletBlockState( addToWalletBlockState = AddToWalletBlockState(
onClick = ::onClickAddToWallet, onClick = ::onClickAddToWallet,
onClickClose = ::onClickCloseBanner, onClickClose = ::onClickCloseBanner,
shouldUseMagicEffect = false,
), ),
) )
} }

View file

@ -18,7 +18,6 @@ internal class DetailsAddToWalletBannerTransformer(
AddToWalletBlockState( AddToWalletBlockState(
onClick = onClickBanner, onClick = onClickBanner,
onClickClose = onClickCloseBanner, onClickClose = onClickCloseBanner,
shouldUseMagicEffect = true,
) )
}, },
) )

View file

@ -45,7 +45,7 @@ internal fun TangemPayAddToWalletBlock(state: AddToWalletBlockState, modifier: M
} }
@Composable @Composable
internal fun TangemPayAddToWalletBlockV1(state: AddToWalletBlockState, modifier: Modifier = Modifier) { private fun TangemPayAddToWalletBlockV1(state: AddToWalletBlockState, modifier: Modifier = Modifier) {
Box( Box(
modifier = modifier modifier = modifier
.fillMaxWidth() .fillMaxWidth()
@ -114,17 +114,13 @@ internal fun TangemPayAddToWalletBlockV1(state: AddToWalletBlockState, modifier:
} }
@Composable @Composable
internal fun TangemPayAddToWalletBlockV2(state: AddToWalletBlockState, modifier: Modifier = Modifier) { private fun TangemPayAddToWalletBlockV2(state: AddToWalletBlockState, modifier: Modifier = Modifier) {
TangemMessage( TangemMessage(
modifier = modifier.clickableSingle(onClick = state.onClick), modifier = modifier.clickableSingle(onClick = state.onClick),
onCloseClick = state.onClickClose, onCloseClick = state.onClickClose,
title = resourceReference(R.string.tangempay_card_details_open_wallet_notification_title), title = resourceReference(R.string.tangempay_card_details_open_wallet_notification_title),
subtitle = resourceReference(R.string.tangempay_card_details_open_wallet_notification_subtitle), subtitle = resourceReference(R.string.tangempay_card_details_open_wallet_notification_subtitle),
messageEffect = if (state.shouldUseMagicEffect) { messageEffect = TangemMessageEffect.Magic,
TangemMessageEffect.Magic
} else {
TangemMessageEffect.None
},
) )
} }
@ -133,6 +129,6 @@ internal fun TangemPayAddToWalletBlockV2(state: AddToWalletBlockState, modifier:
@Composable @Composable
private fun PreviewTangemPayAddToWalletBlock() { private fun PreviewTangemPayAddToWalletBlock() {
TangemThemePreview { TangemThemePreview {
TangemPayAddToWalletBlock(AddToWalletBlockState(onClick = {}, onClickClose = {}, shouldUseMagicEffect = false)) TangemPayAddToWalletBlock(AddToWalletBlockState(onClick = {}, onClickClose = {}))
} }
} }

View file

@ -22,6 +22,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.testTag import androidx.compose.ui.platform.testTag
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.util.fastForEach import androidx.compose.ui.util.fastForEach
import com.tangem.core.ui.components.appbar.AppBarWithBackButton import com.tangem.core.ui.components.appbar.AppBarWithBackButton
import com.tangem.core.ui.ds.image.TangemIconUM import com.tangem.core.ui.ds.image.TangemIconUM
@ -76,7 +77,7 @@ internal fun TangemPayCardPageScreen(
end = TangemTheme.dimens.spacing16, end = TangemTheme.dimens.spacing16,
bottom = TangemTheme.dimens.spacing16 + bottomBarHeight, bottom = TangemTheme.dimens.spacing16 + bottomBarHeight,
), ),
verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing16), verticalArrangement = Arrangement.spacedBy(if (isRedesignEnabled) 0.dp else TangemTheme.dimens.spacing16),
) { ) {
item(key = "Card") { item(key = "Card") {
cardDetailsBlockComponent.CardDetailsBlockContent( cardDetailsBlockComponent.CardDetailsBlockContent(

View file

@ -38,7 +38,7 @@ import com.tangem.features.tangempay.entity.TangemPayDailyLimitBlockState
@Composable @Composable
internal fun TangemPayDailyLimitBlock(state: TangemPayDailyLimitBlockState, modifier: Modifier = Modifier) { internal fun TangemPayDailyLimitBlock(state: TangemPayDailyLimitBlockState, modifier: Modifier = Modifier) {
if (LocalVisaRedesignEnabled.current) { if (LocalVisaRedesignEnabled.current) {
CurrentLimitBlockV2(state, modifier) CurrentLimitBlockV2(state, modifier.padding(top = TangemTheme.dimens2.x2))
} else { } else {
TangemPayDailyLimitBlockV1(state, modifier) TangemPayDailyLimitBlockV1(state, modifier)
} }

View file

@ -471,7 +471,6 @@ internal class TangemPayDetailsUMProvider : CollectionPreviewParameterProvider<T
addToWalletBlockState = AddToWalletBlockState( addToWalletBlockState = AddToWalletBlockState(
onClick = {}, onClick = {},
onClickClose = {}, onClickClose = {},
shouldUseMagicEffect = false,
), ),
accountDeactivatedNotificationConfig = null, accountDeactivatedNotificationConfig = null,
), ),

View file

@ -2,6 +2,7 @@ package com.tangem.features.tangempay.ui
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@ -61,7 +62,7 @@ private fun BlockV2(
subtitle: TextReference = resourceReference(R.string.tangempay_reissue_card_in_progress_description), subtitle: TextReference = resourceReference(R.string.tangempay_reissue_card_in_progress_description),
) { ) {
TangemMessage( TangemMessage(
modifier = modifier, modifier = modifier.padding(top = TangemTheme.dimens2.x2),
title = title, title = title,
subtitle = subtitle, subtitle = subtitle,
leadingContent = { leadingContent = {