Updated on 2026-08-14

This commit is contained in:
Tangem 2026-03-13 19:38:17 +05:00
parent 91fd458dca
commit a31b747b71
15 changed files with 213 additions and 26 deletions

View file

@ -15,13 +15,29 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.tangem.core.ui.ds.row.token.TangemTokenRow
import com.tangem.core.ui.ds.row.token.TangemTokenRow_PreviewProvider
import com.tangem.core.ui.ds.row.token.internal.TangemTokenRowPreviewData
import com.tangem.core.ui.res.TangemTheme
import com.tangem.feature.tester.presentation.storybook.entity.TangemTokenRowStory
@Composable
internal fun TangemTokenRowStory(state: TangemTokenRowStory, modifier: Modifier = Modifier) {
val rows = remember { TangemTokenRow_PreviewProvider().values.toList() }
val rows = remember {
listOf(
TangemTokenRowPreviewData.defaultState,
TangemTokenRowPreviewData.defaultEllipsisState,
TangemTokenRowPreviewData.tokenState,
TangemTokenRowPreviewData.customTokenState,
TangemTokenRowPreviewData.draggableState,
TangemTokenRowPreviewData.draggableStateV2,
TangemTokenRowPreviewData.loadingState,
TangemTokenRowPreviewData.emptyState,
TangemTokenRowPreviewData.unreachableState,
TangemTokenRowPreviewData.accountState,
TangemTokenRowPreviewData.accountLetterState,
TangemTokenRowPreviewData.accountEllipsisState,
TangemTokenRowPreviewData.promoBannerState,
)
}
LazyColumn(
contentPadding = PaddingValues(bottom = 16.dp),

View file

@ -4,7 +4,6 @@ import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfi
import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.feature.wallet.presentation.wallet.state.model.*
import com.tangem.feature.wallet.presentation.wallet.state.utils.enableButtons
import com.tangem.feature.wallet.presentation.wallet.state.model.WalletUM
import kotlinx.collections.immutable.PersistentList
import kotlinx.collections.immutable.mutate

View file

@ -31,6 +31,7 @@ import com.tangem.core.ui.components.tokenlist.TokenListItem
import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM
import com.tangem.core.ui.decorations.roundedShapeItemDecoration
import com.tangem.core.ui.ds.image.TangemIcon
import com.tangem.core.ui.ds.image.TangemIconUM
import com.tangem.core.ui.ds.row.header.TangemHeaderRow
import com.tangem.core.ui.ds.row.header.TangemHeaderRowUM
import com.tangem.core.ui.ds.row.internal.TangemRowTailUM
@ -321,17 +322,21 @@ internal fun PortfolioRowItem(
SharedTokenRowComposables(
icon = { modifier ->
val size = if (isExpandedWrapped) AccountIconSize.ExtraSmall else AccountIconSize.Default
val currencyIconState =
when (val currencyIconState = item.tokenRowUM.headIconUM.currencyIconState) {
is CurrencyIconState.CryptoPortfolio.Icon ->
currencyIconState.copy(size = size)
is CurrencyIconState.CryptoPortfolio.Letter ->
currencyIconState.copy(size = size)
else -> currencyIconState
}
val headIcon = item.tokenRowUM.headIconUM
val sizedHeadIcon = if (headIcon is TangemIconUM.Currency) {
headIcon.copy(
currencyIconState = when (val currencyIconState = headIcon.currencyIconState) {
is CurrencyIconState.CryptoPortfolio.Icon -> currencyIconState.copy(size = size)
is CurrencyIconState.CryptoPortfolio.Letter -> currencyIconState.copy(size = size)
else -> currencyIconState
},
)
} else {
headIcon
}
TangemIcon(
tangemIconUM = item.tokenRowUM.headIconUM.copy(currencyIconState = currencyIconState),
tangemIconUM = sizedHeadIcon,
modifier = modifier.sharedBounds(
sharedContentState = iconSharedContentState,
animatedVisibilityScope = animatedContentScope,