From 27e199afdd59ad49dcdd10b58504acb689db35db Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 19 Jan 2026 11:29:33 +0100 Subject: [PATCH] Updated on 2026-08-14 --- .../UpdateTrendingNewsStateTransformer.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateTrendingNewsStateTransformer.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateTrendingNewsStateTransformer.kt index 5b19b9c5a9..33c625fb7f 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateTrendingNewsStateTransformer.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateTrendingNewsStateTransformer.kt @@ -12,6 +12,7 @@ import com.tangem.features.feed.ui.feed.state.NewsUMState import com.tangem.utils.Provider import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toPersistentList +import org.joda.time.DateTime internal class UpdateTrendingNewsStateTransformer( private val result: TrendingNews, @@ -77,11 +78,14 @@ internal class UpdateTrendingNewsStateTransformer( private fun separateTrendingAndCommonArticles( articles: List, ): Pair> { - val trendingArticleIndex = articles.indexOfFirst { it.isTrending } - return if (trendingArticleIndex != -1) { - val trendingArticle = articles[trendingArticleIndex] - val commonArticles = articles.toMutableList().apply { removeAt(trendingArticleIndex) } - trendingArticle to commonArticles + val trendingArticles = articles.filter { it.isTrending } + return if (trendingArticles.isNotEmpty()) { + val newestTrendingArticle = trendingArticles.maxByOrNull { article -> + runCatching { DateTime.parse(article.createdAt).millis }.getOrElse { 0L } + } + val commonArticles = articles.filterNot { it.isTrending || it == newestTrendingArticle } + + trendingArticles.filter { it != newestTrendingArticle } + newestTrendingArticle to commonArticles } else { null to articles }