From c49b3a91768c07039bd46e9c770680505ba4d875 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 20 Oct 2025 15:36:13 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../data/markets/converters/TokenMarketListConverter.kt | 1 + .../main/kotlin/com/tangem/domain/markets/TokenMarket.kt | 1 + .../impl/model/converters/MarketsTokenItemConverter.kt | 1 + .../impl/ui/components/MarketsListLazyColumn.kt | 4 ++-- .../ui/preview/MarketChartListItemPreviewDataProvider.kt | 6 ++++++ .../markets/tokenlist/impl/ui/state/MarketsListItemUM.kt | 9 +++++++++ 6 files changed, 20 insertions(+), 2 deletions(-) diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt index f8e13d53fc..067f886293 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt @@ -41,6 +41,7 @@ internal object TokenMarketListConverter : Converter { items( items = state.items, - key = { it.id.value + TOKEN_LAZY_LIST_ID_SEPARATOR + it.marketCap.toString() }, + key = { it.getComposeKey() }, ) { item -> MarketsListItem( model = item, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt index 3371a2f40d..16d1279d95 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt @@ -27,6 +27,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet ), isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), MarketsListItemUM( id = CryptoCurrency.RawID("1"), @@ -41,6 +42,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet chartData = null, isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), MarketsListItemUM( id = CryptoCurrency.RawID("1"), @@ -57,6 +59,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet ), isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), MarketsListItemUM( id = CryptoCurrency.RawID("1"), @@ -73,6 +76,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet ), isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), MarketsListItemUM( id = CryptoCurrency.RawID("1"), @@ -89,6 +93,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet ), isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), MarketsListItemUM( id = CryptoCurrency.RawID("1"), @@ -105,6 +110,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet ), isUnder100kMarketCap = false, stakingRate = stringReference("APY 12.34%"), + updateTimestamp = 0, ), ), ) \ No newline at end of file diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt index 5f29995bff..a83ea2e7d6 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt @@ -21,6 +21,7 @@ data class MarketsListItemUM( val chartData: MarketChartRawData?, val isUnder100kMarketCap: Boolean, val stakingRate: TextReference?, + val updateTimestamp: Long?, ) { val chartType: MarketChartLook.Type = when (trendType) { PriceChangeType.UP -> MarketChartLook.Type.Growing @@ -33,4 +34,12 @@ data class MarketsListItemUM( val text: String, val changeType: PriceChangeType? = null, ) + + fun getComposeKey(): String { + return id.value + TOKEN_LAZY_LIST_ID_SEPARATOR + marketCap.toString() + updateTimestamp + } + + companion object { + const val TOKEN_LAZY_LIST_ID_SEPARATOR = "@" + } } \ No newline at end of file