Updated on 2026-08-14

This commit is contained in:
Tangem 2024-09-11 16:25:43 +05:00
parent ac4aa9c88c
commit f076ab08e7
3 changed files with 15 additions and 11 deletions

View file

@ -8,18 +8,12 @@ import com.tangem.feature.walletsettings.component.WalletSettingsComponent
import com.tangem.feature.walletsettings.entity.WalletSettingsUM
import com.tangem.feature.walletsettings.ui.WalletSettingsScreen
import com.tangem.feature.walletsettings.utils.ItemsBuilder
import com.tangem.features.managetokens.ManageTokensToggles
internal class PreviewWalletSettingsComponent : WalletSettingsComponent {
private val previewState = WalletSettingsUM(
popBack = {},
items = ItemsBuilder(
router = DummyRouter(),
manageTokensToggles = object : ManageTokensToggles {
override val isFeatureEnabled: Boolean = true
},
).buildItems(
items = ItemsBuilder(router = DummyRouter()).buildItems(
userWalletId = UserWalletId("011"),
userWalletName = "My Wallet",
isReferralAvailable = true,
@ -27,6 +21,7 @@ internal class PreviewWalletSettingsComponent : WalletSettingsComponent {
renameWallet = {},
forgetWallet = {},
onLinkMoreCardsClick = {},
isManageTokensAvailable = true,
),
)

View file

@ -32,6 +32,7 @@ import com.tangem.feature.walletsettings.entity.WalletSettingsItemUM
import com.tangem.feature.walletsettings.entity.WalletSettingsUM
import com.tangem.feature.walletsettings.impl.R
import com.tangem.feature.walletsettings.utils.ItemsBuilder
import com.tangem.features.managetokens.ManageTokensToggles
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import kotlinx.collections.immutable.PersistentList
import kotlinx.collections.immutable.persistentListOf
@ -53,6 +54,7 @@ internal class WalletSettingsModel @Inject constructor(
private val analyticsEventHandler: AnalyticsEventHandler,
private val analyticsContextProxy: AnalyticsContextProxy,
private val reduxStateHolder: ReduxStateHolder,
private val manageTokensToggles: ManageTokensToggles,
) : Model() {
val params: WalletSettingsComponent.Params = paramsContainer.require()
@ -86,6 +88,7 @@ internal class WalletSettingsModel @Inject constructor(
userWalletName = userWallet.name,
isReferralAvailable = userWallet.cardTypesResolver.isTangemWallet(),
isLinkMoreCardsAvailable = userWallet.scanResponse.card.backupStatus == CardDTO.BackupStatus.NoBackup,
isManageTokensAvailable = userWallet.isMultiCurrency && manageTokensToggles.isFeatureEnabled,
renameWallet = { openRenameWalletDialog(userWallet, dialogNavigation) },
forgetWallet = {
messageSender.send(

View file

@ -9,7 +9,6 @@ import com.tangem.core.ui.extensions.stringReference
import com.tangem.domain.wallets.models.UserWalletId
import com.tangem.feature.walletsettings.entity.WalletSettingsItemUM
import com.tangem.feature.walletsettings.impl.R
import com.tangem.features.managetokens.ManageTokensToggles
import kotlinx.collections.immutable.PersistentList
import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList
@ -18,7 +17,6 @@ import javax.inject.Inject
@ComponentScoped
internal class ItemsBuilder @Inject constructor(
private val router: Router,
private val manageTokensToggles: ManageTokensToggles,
) {
@Suppress("LongParameterList")
@ -27,12 +25,19 @@ internal class ItemsBuilder @Inject constructor(
userWalletName: String,
isLinkMoreCardsAvailable: Boolean,
isReferralAvailable: Boolean,
isManageTokensAvailable: Boolean,
forgetWallet: () -> Unit,
renameWallet: () -> Unit,
onLinkMoreCardsClick: () -> Unit,
): PersistentList<WalletSettingsItemUM> = persistentListOf(
buildNameItem(userWalletName, renameWallet),
buildCardItem(userWalletId, isLinkMoreCardsAvailable, isReferralAvailable, onLinkMoreCardsClick),
buildCardItem(
userWalletId = userWalletId,
isLinkMoreCardsAvailable = isLinkMoreCardsAvailable,
isReferralAvailable = isReferralAvailable,
isManageTokensAvailable = isManageTokensAvailable,
onLinkMoreCardsClick = onLinkMoreCardsClick,
),
buildForgetItem(forgetWallet),
)
@ -47,12 +52,13 @@ internal class ItemsBuilder @Inject constructor(
userWalletId: UserWalletId,
isLinkMoreCardsAvailable: Boolean,
isReferralAvailable: Boolean,
isManageTokensAvailable: Boolean,
onLinkMoreCardsClick: () -> Unit,
) = WalletSettingsItemUM.WithItems(
id = "card",
description = resourceReference(R.string.settings_card_settings_footer),
blocks = buildList {
if (manageTokensToggles.isFeatureEnabled) {
if (isManageTokensAvailable) {
BlockUM(
text = resourceReference(R.string.add_tokens_title),
iconRes = R.drawable.ic_tether_24,