From f8fbb352da47e5a401cadcd7462fcc33124f3ecb Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 30 Jan 2026 18:27:15 +0100 Subject: [PATCH] Updated on 2026-08-14 --- .../UpdateGlobalFeedStateTransformer.kt | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateGlobalFeedStateTransformer.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateGlobalFeedStateTransformer.kt index d6e5ec6be2..dc78f2b7a0 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateGlobalFeedStateTransformer.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/feed/state/transformers/UpdateGlobalFeedStateTransformer.kt @@ -25,15 +25,19 @@ internal class UpdateGlobalFeedStateTransformer( prevState.news.newsUMState == NewsUMState.ERROR val hasLoadingInCharts = loadingStatesByOrder.values.any { it } - val hasErrorInCharts = errorStatesByOrder.values.any { it != null } - val hasAllErrorInCharts = errorStatesByOrder.values.isNotEmpty() && errorStatesByOrder.values.all { it != null } + val hasErrorInMarketChart = errorStatesByOrder[SortByTypeUM.Rating] != null + val hasErrorInMarketPulseChart = errorStatesByOrder + .any { it.key != SortByTypeUM.Rating && it.value != null } val areAllChartsLoading = loadingStatesByOrder.values.isNotEmpty() && loadingStatesByOrder.values.all { it } - val areAllChartsError = hasAllErrorInCharts || hasErrorInCharts && hasLoadingInCharts + val areAllChartsError = when { + hasErrorInMarketChart && hasErrorInMarketPulseChart -> true + hasErrorInMarketPulseChart && hasLoadingInCharts -> true + hasErrorInMarketChart && hasLoadingInCharts -> true + else -> false + } val newGlobalState = when { - isNewsLoading && areAllChartsError -> GlobalFeedState.Loading - isNewsLoading && areAllChartsLoading -> GlobalFeedState.Loading isNewsError && areAllChartsLoading -> GlobalFeedState.Loading isNewsError && areAllChartsError -> { if (previousGlobalState !is GlobalFeedState.Error) { @@ -43,18 +47,11 @@ internal class UpdateGlobalFeedStateTransformer( onRetryClicked = onRetryClicked, ) } + isNewsLoading && areAllChartsError -> GlobalFeedState.Loading + isNewsLoading && areAllChartsLoading -> GlobalFeedState.Loading else -> GlobalFeedState.Content } - - return prevState.copy( - globalState = newGlobalState, - news = prevState.news.copy( - newsUMState = when { - isNewsError -> NewsUMState.ERROR - else -> NewsUMState.CONTENT - }, - ), - ) + return prevState.copy(globalState = newGlobalState) } private fun sendErrorAnalytics() {