Updated on 2026-08-14

This commit is contained in:
Tangem 2026-05-13 08:54:47 +02:00
parent 530b2d93ad
commit 822b82d1da
20 changed files with 211 additions and 123 deletions

View file

@ -5,6 +5,7 @@ import com.tangem.core.ui.R
import com.tangem.core.ui.components.currency.icon.CurrencyIconState
import com.tangem.core.ui.components.marketprice.PriceChangeState
import com.tangem.core.ui.components.marketprice.PriceChangeType
import com.tangem.core.ui.ds.image.DeviceIconUM
import com.tangem.core.ui.ds.image.TangemIconUM
import com.tangem.core.ui.extensions.stringReference
import com.tangem.domain.models.account.CryptoPortfolioIcon
@ -67,14 +68,20 @@ private fun tokenSelectorPreviewWithAccountHeaders(): TokenSelectorContentUM {
private fun tokenSelectorPreviewMultiWallet(): TokenSelectorContentUM {
return TokenSelectorContentUM(
sections = persistentListOf(
TokenSelectorSectionUM.WalletHeader(walletName = "Cold wallet"),
TokenSelectorSectionUM.WalletHeader(
walletName = "Cold wallet",
deviceIcon = DeviceIconUM.Stub(cardsCount = 2),
),
TokenSelectorSectionUM.TokenGroup(
accountHeader = null,
items = persistentListOf(
previewTokenItem(id = "btc_cold", name = "Bitcoin", symbol = "BTC"),
),
),
TokenSelectorSectionUM.WalletHeader(walletName = "Hot wallet"),
TokenSelectorSectionUM.WalletHeader(
walletName = "Hot wallet",
deviceIcon = DeviceIconUM.Mobile,
),
TokenSelectorSectionUM.TokenGroup(
accountHeader = null,
items = persistentListOf(

View file

@ -2,6 +2,7 @@ package com.tangem.common.ui.markets.tokenselector
import androidx.compose.runtime.Immutable
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent
import com.tangem.core.ui.ds.image.DeviceIconUM
import com.tangem.core.ui.extensions.TextReference
import com.tangem.domain.models.account.CryptoPortfolioIcon
import kotlinx.collections.immutable.ImmutableList
@ -20,7 +21,10 @@ data class AccountHeaderData(
@Immutable
sealed interface TokenSelectorSectionUM {
data class WalletHeader(val walletName: String) : TokenSelectorSectionUM
data class WalletHeader(
val walletName: String,
val deviceIcon: DeviceIconUM,
) : TokenSelectorSectionUM
data class TokenGroup(
val accountHeader: AccountHeaderData?,

View file

@ -16,9 +16,9 @@ import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.text.style.TextOverflow
import com.tangem.common.ui.account.getResId
import com.tangem.common.ui.account.getUiColor
import com.tangem.core.ui.R
import com.tangem.core.ui.components.SpacerH
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.ds.image.TangemDeviceIcon
import com.tangem.core.ui.extensions.resolveReference
import com.tangem.core.ui.res.TangemTheme
import kotlinx.collections.immutable.ImmutableList
@ -102,11 +102,9 @@ private fun WalletHeaderSection(section: TokenSelectorSectionUM.WalletHeader) {
maxLines = 1,
overflow = TextOverflow.Ellipsis,
)
Icon(
imageVector = ImageVector.vectorResource(R.drawable.ic_key_card_20),
TangemDeviceIcon(
state = section.deviceIcon,
modifier = Modifier.size(TangemTheme.dimens2.x5),
tint = TangemTheme.colors2.graphic.neutral.tertiary,
contentDescription = null,
)
}
}