Updated on 2026-08-14

This commit is contained in:
Tangem 2026-07-10 13:36:38 +05:00
parent d183b010a9
commit fcf967c8b8
2 changed files with 2 additions and 20 deletions

View file

@ -164,7 +164,8 @@ internal class TangemPayDetailsModel @Inject constructor(
override fun onClickAddFunds() {
analytics.send(TangemPayAnalyticsEvents.AddFundsClicked())
val balance = currentStatus.value.balanceOrNull()
if (balance == null) {
val address = currentStatus.value.ifLoadedOrNull { it.depositAddress }
if (balance == null || address.isNullOrEmpty()) {
showBottomSheetError(TangemPayDetailsErrorType.Receive)
} else {
bottomSheetNavigation.activate(

View file

@ -1,11 +1,8 @@
package com.tangem.features.tangempay.utils
import com.tangem.domain.models.StatusSource
import com.tangem.domain.models.account.AccountStatus
import com.tangem.domain.models.account.PaymentAccountStatusValue
import com.tangem.domain.models.account.findCardWithId
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.pay.TangemPayCard
import com.tangem.domain.models.wallet.UserWalletId
internal val AccountStatus.Payment.userWalletId: UserWalletId
@ -41,20 +38,4 @@ internal fun AccountStatus.Payment.balanceOrNull(): PaymentAccountStatusValue.Ba
is PaymentAccountStatusValue.Loaded -> v.balance
is PaymentAccountStatusValue.Deactivated -> v.balance
else -> null
}
internal fun AccountStatus.Payment.findCard(
initialCardId: String,
initialStatus: AccountStatus.Payment,
): TangemPayCard? {
val value = value
if (value !is PaymentAccountStatusValue.Loaded || value.source != StatusSource.ACTUAL) return null
val initialCard = value.findCardWithId(initialCardId)
val newCards = initialStatus.ifLoadedOrNull { status ->
val initialCardIds = status.cards.mapTo(mutableSetOf()) { it.id }
value.cards.filterNot { it.id in initialCardIds }
}
return initialCard ?: newCards?.firstOrNull()
}