From 3b8d57864ccf985abe4694d089382425680b8f4a Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 26 Jun 2026 11:04:11 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../img_tangem_pay_visa_reissuing.webp | Bin 0 -> 2470 bytes .../img_tangem_pay_visa_reissuing.webp | Bin 0 -> 3412 bytes .../img_tangem_pay_visa_reissuing.webp | Bin 0 -> 5554 bytes .../img_tangem_pay_visa_reissuing.webp | Bin 0 -> 8222 bytes .../TangemPayCardDetailsBlockStateFactory.kt | 3 + .../tangempay/entity/TangemPayDetailsUM.kt | 1 + .../TangemPayCardDetailsController.kt | 2 + .../tangempay/ui/TangemPayCardDetailsBlock.kt | 17 ++- .../tangempay/ui/TangemPayCardPageScreen.kt | 110 ++++++++++++++---- .../tangempay/ui/TangemPayReissueBlock.kt | 52 +++++++++ .../ui/TangemPayReplacingCardBlock.kt | 34 +----- 11 files changed, 162 insertions(+), 57 deletions(-) create mode 100644 core/ui/src/main/res/drawable-hdpi/img_tangem_pay_visa_reissuing.webp create mode 100644 core/ui/src/main/res/drawable-xhdpi/img_tangem_pay_visa_reissuing.webp create mode 100644 core/ui/src/main/res/drawable-xxhdpi/img_tangem_pay_visa_reissuing.webp create mode 100644 core/ui/src/main/res/drawable-xxxhdpi/img_tangem_pay_visa_reissuing.webp create mode 100644 features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReissueBlock.kt diff --git a/core/ui/src/main/res/drawable-hdpi/img_tangem_pay_visa_reissuing.webp b/core/ui/src/main/res/drawable-hdpi/img_tangem_pay_visa_reissuing.webp new file mode 100644 index 0000000000000000000000000000000000000000..1fbd34056cf669144950541f1067755d93046b23 GIT binary patch literal 2470 zcmbVO`8yN}7oM>;)#lVm8ehmn10vdvsQ_1!<RTmPsKs4?u2Z*uETIzmuB!tng5Mj{Q= z=1as)h+e^n4PWa$VkaAx7(*DC%I@f*BUNE@VNt;Vk5;WF@s6i5y~d`kr(4VQM* zgMTwVmjqEklyU|+OwLxquJJ(;+nz)CKOqOZ<|CjYz~N65OMz1{kefOd9%aX^)DA)lKAJ(UN5=PsBUlOeCy%Pu9~(D~UQ)4}9{?cQ0}6m@>Rd>m(S0ktO<5_v zq_|#BkthyA1x;NSli8$yu@6Z2uzTzkYS}52-e8o@kqIaFQCA4yANLtIYzdqDo`&IAU zM_kp2+IW$}R7YMkY3u7o{tVh>)g}HiBZ4{j!fK2FV3O#SFAU@P_HY?F;F%YBs=w~P zT*%xM2u)?48voM^<2Qn*DQ^dT(gd29e$XadX}_ZC@aMGdoa{6tEiBt+)Zzgodc$!% z<_Szpm?1TVgmQ_D-fNEmJp>azbnGczbN< z=UfAcT8Q`WBP#PJ5f4fx947Mp&4Af9sRGB(xVB6Xpy({c4pqr$HEOr!Z7BSSa{7~1 zFKMG2HwV6N#7yt{N^c%sUi)&6#{!Ge;+8|GYN;~{_|E%ZP4qhk`lM5lI>tWSoO1i@ z;^rkk*ys++c7XI=FJy{>6_Im_uQ%r;Kybq5)o;!e=tnH_x8GxJVBk($yI2ufz0kj? zg{bhB8s;Fu?vQ1^&m$w9X^Y>fANu}im1zIb#h*~t09^-Oc`sT2qx!o@cO$u`IyTouT7S|7`UWk%d?inr+dl^i z6+R6(>5lr(&uBgJ%HV&~e|Y+zmqU~jEB;NrE+SJ0ZtB4sx$=PT!mAJf`#?nD>_#AG z32g2AA&Y+%yu7{_Wx4mt>AY`)=GPQl4~%A4YBM_UiNYb_bxUYy-Jn0gu<$I2x#y zr8iWl*>7_n+{YVK1DazOk>yI$+WTj!%;U<27A$&vYLDrziU>97&w{Hgc67Lj2PtP` z<>ffex>enh+1R7eL|ghbm6!iiY6(wCFr8Dsba8G8IAJJnYRd5Etz2+Z?l%`!d96O) zLyy6#w3P>~b;sDbvVWzcH8{*JPJ#yX*TwrCG9HSur-k7vAXh&aVVfG>k1}pp$!Wqa zmP6{hfgsMoM1fLZ?doMoTWz?4)n!hIblAxr*i*q!R^BPdQ=Hj6D0~0igWN{1)WlRY zFj_=Z=rKZ~H48Yt#JadxZUFFVY_76R=1(rkp6ff|I_nzQZ--^v9?8DZ)bhytR<2>- zEWu7zid|711a*(;Y-?B{`}yvx3ScvjoR7$`WU)A;boLX z=PC)?!zz9&!|v}x_Dt-JgC_0Mhct1itAe! zIeW2N#ct$IhTIB*fKDL%-uHGg5ThZ96{xU1i^UnrYYzKm(KA#SMun`}KK$D+IF|&5 zCF=!1Ev+}nJEN+`Tg)Rn9OORDt(X%Ko~P{A1Ks^x=X1yF(H|>SzHsBjfWgLH1?y{hJ`}6PZ{KfM2PvnraM39 zMwbql780~SX~$fm6uqB0ikwG&X)4=)#t4W$9TBs=ojckYqkw_b9QBbB>o*7$uAO-p zhi{PHA?`7wCw;$2nopVD`E&%;Z_IwcoaB{n8T2-O*<6h96`o zi!&%bnCL)8e$IOi8*_DkgcnxjWs;RfFVdR(CTYbTF3vVB^d;PihF;1Zf<2+K7W=U& zs73Qm<%o^d#c;(8x9tRsWspd|cjs$1qW3_laX~N^+?3G}DD!!9c595hA#549x&M}q zX0hMOQ9UR~BsrFTcWvrw!)4`|q2QBy<`=F8$K8kw+3NIHkA%8)x%SqPQjE>xlB_hn z98x&y<<(z@$W|A5i|`o2A1*{No{Nm&vE#hi!mEnTjEv6akNQ3T@L1|@$@RR+9%D7r zT*c`R))Y)~;jYkO{V1hS$^*JGHj-Oz z9`ngUrt9M%O>=CzY-~!LThBjsz+z8EoXQQDM$(xMqK5a{f{f;IYpVFG5boARa=Vi! j*L6?9Nq)iGfNP0|-xlt@8meo~c{6TieyRrA0Ra39=y2pS literal 0 HcmV?d00001 diff --git a/core/ui/src/main/res/drawable-xhdpi/img_tangem_pay_visa_reissuing.webp b/core/ui/src/main/res/drawable-xhdpi/img_tangem_pay_visa_reissuing.webp new file mode 100644 index 0000000000000000000000000000000000000000..10ab621d279c52355dc9aa74367442e1f8ea1e63 GIT binary patch literal 3412 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 Zpe!UaZ|)fyyrrZaYO_}jNf`qG{sSiVv)upy literal 0 HcmV?d00001 diff --git a/core/ui/src/main/res/drawable-xxhdpi/img_tangem_pay_visa_reissuing.webp b/core/ui/src/main/res/drawable-xxhdpi/img_tangem_pay_visa_reissuing.webp new file mode 100644 index 0000000000000000000000000000000000000000..15b0b2b7257c71cf68d6adf6b6a393e219a48065 GIT binary patch literal 5554 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 Unit, private val onReveal: () -> Unit, private val onCopy: (String, CardDataType) -> Unit, @@ -38,6 +40,7 @@ internal class TangemPayCardDetailsBlockStateFactory( null }, shouldShowCardDetailsButtonOnCard = shouldShowCardDetailsButtonOnCard, + cardState = cardState, ) } } \ No newline at end of file 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 93713fe0a9..3bce71d410 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 @@ -38,6 +38,7 @@ internal data class TangemPayCardDetailsUM( val displayNameState: DisplayNameState?, val isActionsAvailable: Boolean = false, val shouldShowCardDetailsButtonOnCard: Boolean = false, + val cardState: TangemPayCardState = TangemPayCardState.Active, ) @Immutable diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/controller/TangemPayCardDetailsController.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/controller/TangemPayCardDetailsController.kt index 9f742a1ab7..7f089402ee 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/controller/TangemPayCardDetailsController.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/controller/TangemPayCardDetailsController.kt @@ -77,6 +77,7 @@ internal class TangemPayCardDetailsController @AssistedInject constructor( onReveal = ::requestReveal, onCopy = ::copyData, shouldShowCardDetailsButtonOnCard = config.shouldShowCardDetailsButtonOnCard, + cardState = card.state, ) val uiState: StateFlow @@ -117,6 +118,7 @@ internal class TangemPayCardDetailsController @AssistedInject constructor( numberShort = "${StringsSigns.ASTERISK}${card.lastDigits}", cardFrozenState = card.frozenState, isActionsAvailable = card.state == TangemPayCardState.Active, + cardState = card.state, ) } subscribeToCardFrozenState(card.id) 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 7cea9f32f3..c6a024f59e 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 @@ -60,6 +60,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.* import com.tangem.core.ui.test.TangemPayTestTags import com.tangem.domain.models.pay.TangemPayCardFrozenState +import com.tangem.domain.models.pay.TangemPayCardState import com.tangem.features.tangempay.details.impl.R import com.tangem.features.tangempay.entity.CardDataType import com.tangem.features.tangempay.entity.DisplayNameState @@ -120,6 +121,7 @@ private fun TangemPayCardDetailsHiddenBlock(state: TangemPayCardDetailsUM, modif .matchParentSize() .zIndex(0f), cardFrozenState = state.cardFrozenState, + cardState = state.cardState, ) Box( @@ -209,7 +211,11 @@ private fun TangemPayCardDetailsHiddenBlock(state: TangemPayCardDetailsUM, modif } @Composable -private fun TangemPayCardBackground(cardFrozenState: TangemPayCardFrozenState, modifier: Modifier = Modifier) { +private fun TangemPayCardBackground( + cardState: TangemPayCardState, + cardFrozenState: TangemPayCardFrozenState, + modifier: Modifier = Modifier, +) { val isFrozen = cardFrozenState == TangemPayCardFrozenState.Frozen val freezeProgress by animateFloatAsState( targetValue = if (isFrozen) 1f else 0f, @@ -223,7 +229,14 @@ private fun TangemPayCardBackground(cardFrozenState: TangemPayCardFrozenState, m Box(modifier = modifier.fillMaxSize()) { Image( modifier = Modifier.fillMaxSize(), - painter = painterResource(R.drawable.img_tangem_pay_visa), + painter = when (cardState) { + TangemPayCardState.Active, + -> painterResource(R.drawable.img_tangem_pay_visa) + TangemPayCardState.Reissuing, + TangemPayCardState.Closing, + TangemPayCardState.Issuing, + -> painterResource(R.drawable.img_tangem_pay_visa_reissuing) + }, contentDescription = null, contentScale = ContentScale.FillBounds, ) diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardPageScreen.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardPageScreen.kt index 3be9ae9f4d..230a6ac5cb 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardPageScreen.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayCardPageScreen.kt @@ -32,9 +32,7 @@ import com.tangem.core.ui.ds.TangemPagerIndicator import com.tangem.core.ui.ds.image.TangemIconUM import com.tangem.core.ui.ds.topbar.TangemTopBar import com.tangem.core.ui.ds2.button.TangemButton -import com.tangem.core.ui.extensions.resolveReference -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.extensions.stringResourceSafe +import com.tangem.core.ui.extensions.* import com.tangem.core.ui.res.* import com.tangem.domain.models.pay.TangemPayCardFrozenState import com.tangem.domain.models.pay.TangemPayCardState @@ -92,29 +90,93 @@ private fun TangemPayCardPageScreen( }, ) { scaffoldPaddings -> val bottomBarHeight = with(LocalDensity.current) { WindowInsets.systemBars.getBottom(this).toDp() } - LazyColumn( + val contentBottomPadding = TangemTheme.dimens.spacing16 + bottomBarHeight + val reissueTitle = reissueTitleOrNull(isRedesignEnabled = isRedesignEnabled, cardState = state.cardState) + + if (reissueTitle != null) { + ReissueCardLayout( + title = reissueTitle, + cardSection = cardSection, + modifier = Modifier + .fillMaxSize() + .padding(scaffoldPaddings) + .padding(bottom = contentBottomPadding), + ) + } else { + LazyColumn( + modifier = Modifier + .fillMaxSize() + .padding(scaffoldPaddings), + contentPadding = PaddingValues(bottom = contentBottomPadding), + verticalArrangement = Arrangement.spacedBy( + if (isRedesignEnabled) 0.dp else TangemTheme.dimens.spacing16, + ), + ) { + item(key = "Card") { + Box(modifier = Modifier.padding(top = TangemTheme.dimens.spacing8)) { + cardSection() + } + } + if ( + isRedesignEnabled && + state.settingsV2.isNotEmpty() && + state.cardState == TangemPayCardState.Active + ) { + cardPageItem("Settings buttons") { + TangemPayCardPageSettingsButtonsBlock( + modifier = Modifier.fillMaxWidth(), + settings = state.settingsV2, + ) + } + } + cardState(state = state) + } + } + } +} + +private fun reissueTitleOrNull(isRedesignEnabled: Boolean, cardState: TangemPayCardState): TextReference? { + if (!isRedesignEnabled) return null + return when (cardState) { + TangemPayCardState.Reissuing -> combinedReference( + resourceReference(R.string.tangempay_reissue_card_in_progress), + stringReference(". "), + resourceReference(R.string.tangempay_reissue_card_in_progress_description), + ) + TangemPayCardState.Issuing -> combinedReference( + resourceReference(R.string.tangempay_issuing_new_digital_card_title), + stringReference(". "), + resourceReference(R.string.tangempay_reissue_card_in_progress_description), + ) + TangemPayCardState.Closing -> combinedReference( + resourceReference(R.string.tangempay_card_page_closing_banner_title), + stringReference(". "), + resourceReference(R.string.tangempay_card_page_closing_banner_description), + ) + TangemPayCardState.Active -> null + } +} + +@Composable +private fun ReissueCardLayout( + title: TextReference, + modifier: Modifier = Modifier, + cardSection: @Composable () -> Unit, +) { + Column( + modifier = modifier, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Box(modifier = Modifier.padding(top = TangemTheme.dimens.spacing8)) { + cardSection() + } + Box( modifier = Modifier - .fillMaxSize() - .padding(scaffoldPaddings), - contentPadding = PaddingValues( - bottom = TangemTheme.dimens.spacing16 + bottomBarHeight, - ), - verticalArrangement = Arrangement.spacedBy(if (isRedesignEnabled) 0.dp else TangemTheme.dimens.spacing16), + .fillMaxWidth() + .weight(1f), + contentAlignment = Alignment.Center, ) { - item(key = "Card") { - Box(modifier = Modifier.padding(top = TangemTheme.dimens.spacing8)) { - cardSection() - } - } - if (isRedesignEnabled && state.settingsV2.isNotEmpty() && state.cardState == TangemPayCardState.Active) { - cardPageItem("Settings buttons") { - TangemPayCardPageSettingsButtonsBlock( - modifier = Modifier.fillMaxWidth(), - settings = state.settingsV2, - ) - } - } - cardState(state) + TangemPayReissueBlock(title = title) } } } diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReissueBlock.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReissueBlock.kt new file mode 100644 index 0000000000..f764bfc445 --- /dev/null +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReissueBlock.kt @@ -0,0 +1,52 @@ +package com.tangem.features.tangempay.ui + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.resolveReference +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.generated.icons.Icons +import com.tangem.core.ui.res.generated.icons.ic_clock_20 + +@Composable +internal fun TangemPayReissueBlock(title: TextReference, modifier: Modifier = Modifier) { + Column( + modifier = modifier + .fillMaxWidth() + .padding(horizontal = 48.dp), + verticalArrangement = Arrangement.spacedBy(12.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Box( + modifier = Modifier + .size(40.dp) + .background( + color = TangemTheme.colors3.bg.opaque.primary, + shape = CircleShape, + ), + contentAlignment = Alignment.Center, + ) { + Icon( + modifier = Modifier.size(20.dp), + imageVector = Icons.ic_clock_20, + tint = TangemTheme.colors3.icon.secondary, + contentDescription = null, + ) + } + Text( + modifier = Modifier.fillMaxWidth(), + text = title.resolveReference(), + color = TangemTheme.colors3.text.secondary, + style = TangemTheme.typography3.caption.medium, + textAlign = TextAlign.Center, + ) + } +} \ No newline at end of file diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReplacingCardBlock.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReplacingCardBlock.kt index 8ea8355a62..7b1c3675d9 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReplacingCardBlock.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/ui/TangemPayReplacingCardBlock.kt @@ -2,20 +2,13 @@ package com.tangem.features.tangempay.ui import android.content.res.Configuration import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.res.vectorResource import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp import com.tangem.core.ui.components.SpacerH24 import com.tangem.core.ui.components.notifications.Notification import com.tangem.core.ui.components.notifications.NotificationConfig -import com.tangem.core.ui.ds.message.TangemMessage import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.res.LocalVisaRedesignEnabled @@ -31,14 +24,14 @@ internal fun TangemPayReplacingCardBlock( subtitle: TextReference = resourceReference(R.string.tangempay_reissue_card_in_progress_description), ) { if (LocalVisaRedesignEnabled.current) { - BlockV2(title = title, subtitle = subtitle, modifier = modifier) + return } else { - BlockV1(title = title, subtitle = subtitle, modifier = modifier) + Block(title = title, subtitle = subtitle, modifier = modifier) } } @Composable -private fun BlockV1( +private fun Block( modifier: Modifier = Modifier, title: TextReference? = resourceReference(R.string.tangempay_reissue_card_in_progress), subtitle: TextReference = resourceReference(R.string.tangempay_reissue_card_in_progress_description), @@ -55,27 +48,6 @@ private fun BlockV1( ) } -@Composable -private fun BlockV2( - modifier: Modifier = Modifier, - title: TextReference? = resourceReference(R.string.tangempay_reissue_card_in_progress), - subtitle: TextReference = resourceReference(R.string.tangempay_reissue_card_in_progress_description), -) { - TangemMessage( - modifier = modifier.padding(top = TangemTheme.dimens2.x2), - title = title, - subtitle = subtitle, - leadingContent = { - Icon( - modifier = Modifier.size(20.dp), - imageVector = ImageVector.vectorResource(R.drawable.ic_clock_24), - contentDescription = null, - tint = TangemTheme.colors3.icon.primary, - ) - }, - ) -} - @Preview(showBackground = true) @Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable