diff --git a/data/visa/src/test/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusFetcherTest.kt b/data/visa/src/test/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusFetcherTest.kt index e916df8fbc..a5e65e1f9c 100644 --- a/data/visa/src/test/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusFetcherTest.kt +++ b/data/visa/src/test/kotlin/com/tangem/data/pay/flow/DefaultPaymentAccountStatusFetcherTest.kt @@ -127,7 +127,6 @@ internal class DefaultPaymentAccountStatusFetcherTest { availableForWithdrawal = BigDecimal.TEN, cards = listOf(cardInfo), productInstances = productInstances, - tariffPlan = null, ) @BeforeEach diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayDetailsModel.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayDetailsModel.kt index 00a93a43f5..1da0574cd4 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayDetailsModel.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/TangemPayDetailsModel.kt @@ -62,7 +62,7 @@ import kotlinx.coroutines.launch import java.math.BigDecimal import javax.inject.Inject -@Suppress("LongParameterList", "LargeClass") +@Suppress("LongParameterList", "LargeClass", "TooManyFunctions") @Stable @ModelScoped internal class TangemPayDetailsModel @Inject constructor( diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/utils/VirtualAccountRequisites.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/utils/VirtualAccountRequisites.kt index d933edbc10..e7d6f208b7 100644 --- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/utils/VirtualAccountRequisites.kt +++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/utils/VirtualAccountRequisites.kt @@ -1,6 +1,8 @@ package com.tangem.features.tangempay.utils +import com.tangem.core.ui.extensions.resourceReference import com.tangem.domain.models.account.BankCredentials +import com.tangem.features.tangempay.details.impl.R import com.tangem.features.virtualaccount.details.component.VirtualAccountAddFundsBottomSheetComponent.RequisitesRow /** @@ -16,22 +18,32 @@ internal const val VA_DAILY_DEPOSIT_LIMIT_PLACEHOLDER = "$10,000" */ internal fun BankCredentials.toRequisitesRows(): List = listOf( RequisitesRow( - title = "Beneficiary name and address", - titleForShare = "Beneficiary name and address", - value = "$beneficiaryName\n$beneficiaryAddress", + title = resourceReference(R.string.virtual_account_requisites_beneficiary_name), + titleForShare = "Beneficiary name", + value = beneficiaryName, ), RequisitesRow( - title = "Bank name and address", - titleForShare = "Bank name and address", - value = "$beneficiaryBankName\n$beneficiaryBankAddress", + title = resourceReference(R.string.virtual_account_requisites_beneficiary_address), + titleForShare = "Beneficiary address", + value = beneficiaryBankAddress, ), RequisitesRow( - title = "Account number", + title = resourceReference(R.string.virtual_account_requisites_bank_name), + titleForShare = "Bank name", + value = beneficiaryBankName, + ), + RequisitesRow( + title = resourceReference(R.string.virtual_account_requisites_bank_address), + titleForShare = "Bank address", + value = beneficiaryBankAddress, + ), + RequisitesRow( + title = resourceReference(R.string.virtual_account_requisites_account_number), titleForShare = "Account number", value = accountNumber, ), RequisitesRow( - title = "Routing number", + title = resourceReference(R.string.virtual_account_requisites_routing_number), titleForShare = "Routing number", value = routingNumber, ), diff --git a/features/virtual-accounts/details/api/src/main/kotlin/com/tangem/features/virtualaccount/details/component/VirtualAccountAddFundsBottomSheetComponent.kt b/features/virtual-accounts/details/api/src/main/kotlin/com/tangem/features/virtualaccount/details/component/VirtualAccountAddFundsBottomSheetComponent.kt index 91c9c5e583..05c12b9572 100644 --- a/features/virtual-accounts/details/api/src/main/kotlin/com/tangem/features/virtualaccount/details/component/VirtualAccountAddFundsBottomSheetComponent.kt +++ b/features/virtual-accounts/details/api/src/main/kotlin/com/tangem/features/virtualaccount/details/component/VirtualAccountAddFundsBottomSheetComponent.kt @@ -2,6 +2,7 @@ package com.tangem.features.virtualaccount.details.component import com.tangem.core.decompose.factory.ComponentFactory import com.tangem.core.ui.decompose.ComposableBottomSheetComponent +import com.tangem.core.ui.extensions.TextReference import com.tangem.domain.models.wallet.UserWalletId /** @@ -25,7 +26,7 @@ interface VirtualAccountAddFundsBottomSheetComponent : ComposableBottomSheetComp ) data class RequisitesRow( - val title: String, + val title: TextReference, val titleForShare: String, val value: String, ) diff --git a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/common/ui/TangemBalanceHeader.kt b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/common/ui/TangemBalanceHeader.kt index 6ec531b3d2..85990403bd 100644 --- a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/common/ui/TangemBalanceHeader.kt +++ b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/common/ui/TangemBalanceHeader.kt @@ -16,8 +16,7 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.tangem.core.ui.components.text.applyBladeBrush -import com.tangem.core.ui.ds2.shimmers.TextShimmer -import com.tangem.core.ui.ds2.shimmers.TextShimmerStyle +import com.tangem.core.ui.ds2.shimmers.TangemShimmer import com.tangem.core.ui.extensions.* import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreviewRedesign @@ -44,11 +43,9 @@ fun TangemBalanceHeader( }, ) { animatedState -> when (animatedState) { - is TangemBalanceHeaderState.Loading -> TextShimmer( + is TangemBalanceHeaderState.Loading -> TangemShimmer( modifier = Modifier.size(width = 160.dp, height = 56.dp), - text = "1234.00", - style = TextShimmerStyle.HEADING_MEDIUM, - radius = TangemTheme.dimens2.x25, + style = TangemTheme.typography3.heading.medium, ) is TangemBalanceHeaderState.Content -> Text( modifier = balanceModifier, diff --git a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/VirtualAccountMainModel.kt b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/VirtualAccountMainModel.kt index 8546b2d775..c6bf5c1c0b 100644 --- a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/VirtualAccountMainModel.kt +++ b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/VirtualAccountMainModel.kt @@ -57,22 +57,17 @@ internal class VirtualAccountMainModel @Inject constructor( private fun buildRequisites(details: VirtualAccountDepositDetails) = listOf( VirtualAccountAddFundsBottomSheetComponent.RequisitesRow( - title = "Beneficiary name and address", - titleForShare = "Beneficiary name and address", - value = "${details.beneficiaryName}\n${details.beneficiaryAddress}", + title = resourceReference(R.string.virtual_account_requisites_beneficiary_name), + titleForShare = "Beneficiary name", + value = details.beneficiaryName, ), VirtualAccountAddFundsBottomSheetComponent.RequisitesRow( - title = "Bank name and address", - titleForShare = "Bank name and address", - value = "${details.bankName}\n${details.bankAddress}", - ), - VirtualAccountAddFundsBottomSheetComponent.RequisitesRow( - title = "Account number", + title = resourceReference(R.string.virtual_account_requisites_account_number), titleForShare = "Account number", value = details.accountNumber, ), VirtualAccountAddFundsBottomSheetComponent.RequisitesRow( - title = "Routing number", + title = resourceReference(R.string.virtual_account_requisites_routing_number), titleForShare = "Routing number", value = details.routingNumber, ), diff --git a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/addfunds/VirtualAccountAddFundsModel.kt b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/addfunds/VirtualAccountAddFundsModel.kt index 3de23e754e..8461bca104 100644 --- a/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/addfunds/VirtualAccountAddFundsModel.kt +++ b/features/virtual-accounts/details/impl/src/main/kotlin/com/tangem/features/virtualaccount/main/addfunds/VirtualAccountAddFundsModel.kt @@ -7,7 +7,6 @@ import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer import com.tangem.core.navigation.share.ShareManager import com.tangem.core.ui.clipboard.ClipboardManager -import com.tangem.core.ui.extensions.stringReference import com.tangem.features.virtualaccount.details.component.VirtualAccountAddFundsBottomSheetComponent import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.collections.immutable.toImmutableList @@ -55,25 +54,31 @@ internal class VirtualAccountAddFundsModel @Inject constructor( uiState.update { state -> state.copy(content = buildDetailsContent()) } } - private fun buildDetailsContent() = VirtualAccountAddFundsUM.Content.Details( - items = params.requisites - .map { detailItem(label = it.title, value = it.value) } - .toImmutableList(), - dailyLimit = params.dailyDepositLimit, - onShareClick = { - params.onShareClicked() - shareManager.shareText(buildShareText()) - }, - ) + private fun buildDetailsContent(): VirtualAccountAddFundsUM.Content.Details { + return VirtualAccountAddFundsUM.Content.Details( + items = params.requisites + .map(::detailItem) + .toImmutableList(), + dailyLimit = params.dailyDepositLimit, + onShareClick = { + params.onShareClicked() + shareManager.shareText(buildShareText()) + }, + ) + } - private fun detailItem(label: String, value: String) = VirtualAccountAddFundsUM.DetailItem( - label = stringReference(label), - value = value, - onCopyClick = { - params.onFieldCopied(label) - clipboardManager.setText(text = value, isSensitive = true) - }, - ) + private fun detailItem( + requisitesRow: VirtualAccountAddFundsBottomSheetComponent.RequisitesRow, + ): VirtualAccountAddFundsUM.DetailItem { + return VirtualAccountAddFundsUM.DetailItem( + label = requisitesRow.title, + value = requisitesRow.value, + onCopyClick = { + params.onFieldCopied(requisitesRow.titleForShare) + clipboardManager.setText(text = requisitesRow.value, isSensitive = true) + }, + ) + } private fun buildShareText(): String { return buildString {