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