Updated on 2026-08-14
This commit is contained in:
parent
2c754243f5
commit
a94f946a28
4 changed files with 12 additions and 1 deletions
|
|
@ -20,6 +20,7 @@ dependencies {
|
|||
implementation(projects.features.createWalletSelection.api)
|
||||
implementation(projects.features.onboardingV2.api)
|
||||
implementation(projects.features.addressBook.api)
|
||||
implementation(projects.features.virtualAccounts.details.api)
|
||||
|
||||
/* Project - Core */
|
||||
implementation(projects.core.decompose)
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ import com.tangem.features.details.entity.DetailsUM
|
|||
import com.tangem.features.details.entity.SelectEmailFeedbackTypeBS
|
||||
import com.tangem.features.details.utils.ItemsBuilder
|
||||
import com.tangem.features.details.utils.SocialsBuilder
|
||||
import com.tangem.features.virtualaccount.VirtualAccountFeatureToggles
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.info.AppInfoProvider
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
|
|
@ -69,6 +70,7 @@ internal class DetailsModel @Inject constructor(
|
|||
override val dispatchers: CoroutineDispatcherProvider,
|
||||
private val generateBuyTangemCardLinkUseCase: GenerateBuyTangemCardLinkUseCase,
|
||||
private val analyticsEventHandler: AnalyticsEventHandler,
|
||||
private val virtualAccountFeatureToggles: VirtualAccountFeatureToggles,
|
||||
private val tangemPayEligibilityManager: TangemPayEligibilityManager,
|
||||
private val getVirtualAccountEligibilityUseCase: GetVirtualAccountEligibilityUseCase,
|
||||
) : Model() {
|
||||
|
|
@ -292,8 +294,9 @@ internal class DetailsModel @Inject constructor(
|
|||
|
||||
private fun addVirtualAccountItemIfEligible() {
|
||||
modelScope.launch {
|
||||
val isVirtualAccountEnabled = virtualAccountFeatureToggles.isVirtualAccountsEnabled
|
||||
val eligibility = getVirtualAccountEligibilityUseCase(VirtualAccountEntryPoint.DETAILS)
|
||||
if (eligibility is VirtualAccountEligibility.Available) {
|
||||
if (eligibility is VirtualAccountEligibility.Available && isVirtualAccountEnabled) {
|
||||
items.update { items ->
|
||||
itemsBuilder.addVirtualAccountItem(
|
||||
items = items,
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import com.tangem.domain.wallets.usecase.GenerateBuyTangemCardLinkUseCase
|
|||
import com.tangem.domain.wallets.usecase.GetSelectedWalletSyncUseCase
|
||||
import com.tangem.domain.wallets.usecase.GetWalletsUseCase
|
||||
import com.tangem.features.addressbook.AddressBookFeatureToggles
|
||||
import com.tangem.features.virtualaccount.VirtualAccountFeatureToggles
|
||||
import com.tangem.features.details.component.DetailsComponent
|
||||
import com.tangem.features.details.entity.DetailsItemUM
|
||||
import com.tangem.features.details.utils.ItemsBuilder
|
||||
|
|
@ -64,6 +65,7 @@ internal abstract class DetailsModelTestBase {
|
|||
protected val analyticsEventHandler: AnalyticsEventHandler = mockk(relaxUnitFun = true)
|
||||
protected val tangemPayEligibilityManager: TangemPayEligibilityManager = mockk()
|
||||
protected val getVirtualAccountEligibilityUseCase: GetVirtualAccountEligibilityUseCase = mockk()
|
||||
protected val virtualAccountFeatureToggles: VirtualAccountFeatureToggles = mockk()
|
||||
|
||||
// Captured from itemsBuilder.buildAll(...) so the feature buttons can be driven.
|
||||
protected val wcSlot = slot<Boolean>()
|
||||
|
|
@ -90,6 +92,7 @@ internal abstract class DetailsModelTestBase {
|
|||
every { appInfoProvider.appVersionCode } returns 456
|
||||
coEvery { tangemPayEligibilityManager.getEligibleWallets(any(), any()) } returns emptyList()
|
||||
coEvery { getVirtualAccountEligibilityUseCase(any()) } returns VirtualAccountEligibility.NotAvailable
|
||||
every { virtualAccountFeatureToggles.isVirtualAccountsEnabled } returns true
|
||||
|
||||
every {
|
||||
itemsBuilder.buildAll(
|
||||
|
|
@ -132,6 +135,7 @@ internal abstract class DetailsModelTestBase {
|
|||
analyticsEventHandler = analyticsEventHandler,
|
||||
tangemPayEligibilityManager = tangemPayEligibilityManager,
|
||||
getVirtualAccountEligibilityUseCase = getVirtualAccountEligibilityUseCase,
|
||||
virtualAccountFeatureToggles = virtualAccountFeatureToggles,
|
||||
)
|
||||
|
||||
protected fun stubBuildAllReturns(list: ImmutableList<DetailsItemUM>) {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import androidx.compose.foundation.Image
|
|||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.border
|
||||
import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.shape.CircleShape
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
|
|
@ -110,6 +112,7 @@ private fun DetailsContent(content: VirtualAccountAddFundsUM.Content.Details, mo
|
|||
Column(
|
||||
modifier = modifier
|
||||
.fillMaxWidth()
|
||||
.verticalScroll(rememberScrollState())
|
||||
.padding(bottom = TangemTheme.dimens2.x4),
|
||||
) {
|
||||
content.items.forEachIndexed { index, item ->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue