From fc6b1c8233cdb9239a50344493b640deac1886ef Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 10 Apr 2026 13:27:56 +0200 Subject: [PATCH] Updated on 2026-08-14 --- .../features/feed/model/news/details/NewsDetailsModel.kt | 3 +++ .../model/news/details/NewsDetailsPaginationManager.kt | 2 ++ .../features/feed/model/news/list/NewsListModel.kt | 3 +++ .../news/list/statemanager/NewsListBatchFlowManager.kt | 9 ++++++++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsModel.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsModel.kt index bdd662e7f2..8c816de944 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsModel.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsModel.kt @@ -9,6 +9,7 @@ import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer import com.tangem.core.navigation.share.ShareManager import com.tangem.core.navigation.url.UrlOpener +import com.tangem.core.ui.DesignFeatureToggles import com.tangem.datasource.api.common.response.ApiResponseError import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase import com.tangem.domain.appcurrency.model.AppCurrency @@ -54,6 +55,7 @@ internal class NewsDetailsModel @Inject constructor( private val markArticleAsViewedUseCase: MarkArticleAsViewedUseCase, private val toggleArticleLikedUseCase: ToggleArticleLikedUseCase, private val analyticsEventHandler: AnalyticsEventHandler, + private val designFeatureToggles: DesignFeatureToggles, paramsContainer: ParamsContainer, ) : Model() { @@ -71,6 +73,7 @@ internal class NewsDetailsModel @Inject constructor( dispatchers = dispatchers, observeNewsDetailsUseCase = observeNewsDetailsUseCase, prefetchedIds = params.preselectedArticlesId.toSet(), + isRedesignEnabled = designFeatureToggles.isRedesignEnabled, ) } diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsPaginationManager.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsPaginationManager.kt index 54ad5c4ec6..7ec0b5f531 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsPaginationManager.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/details/NewsDetailsPaginationManager.kt @@ -20,12 +20,14 @@ internal class NewsDetailsPaginationManager( currentCategoryIds: Provider>, modelScope: CoroutineScope, prefetchedIds: Set, + isRedesignEnabled: Boolean, ) : NewsListBatchFlowManager( getNewsListBatchFlowUseCase = getNewsListBatchFlowUseCase, currentLanguage = currentLanguage, currentCategoryIds = currentCategoryIds, modelScope = modelScope, dispatchers = dispatchers, + isRedesignEnabled = isRedesignEnabled, ) { private val _cachedPrefetchedIds = MutableStateFlow(prefetchedIds) diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/NewsListModel.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/NewsListModel.kt index 22ba4a7be4..9542f5be8a 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/NewsListModel.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/NewsListModel.kt @@ -4,6 +4,7 @@ import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.core.ui.DesignFeatureToggles import com.tangem.core.ui.components.chip.entity.ChipUM import com.tangem.domain.news.model.NewsListConfig import com.tangem.domain.news.usecase.GetNewsCategoriesUseCase @@ -34,6 +35,7 @@ internal class NewsListModel @Inject constructor( private val getNewsCategoriesUseCase: GetNewsCategoriesUseCase, private val getNewsListBatchFlowUseCase: GetNewsListBatchFlowUseCase, private val analyticsEventHandler: AnalyticsEventHandler, + private val designFeatureToggles: DesignFeatureToggles, paramsContainer: ParamsContainer, ) : Model() { @@ -58,6 +60,7 @@ internal class NewsListModel @Inject constructor( }, modelScope = modelScope, dispatchers = dispatchers, + isRedesignEnabled = designFeatureToggles.isRedesignEnabled, ) } diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/statemanager/NewsListBatchFlowManager.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/statemanager/NewsListBatchFlowManager.kt index ca5f6d7382..a6e5d5a2fd 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/statemanager/NewsListBatchFlowManager.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/news/list/statemanager/NewsListBatchFlowManager.kt @@ -22,6 +22,7 @@ import kotlinx.coroutines.launch @Suppress("LongParameterList") internal open class NewsListBatchFlowManager( + private val isRedesignEnabled: Boolean, getNewsListBatchFlowUseCase: GetNewsListBatchFlowUseCase, private val currentLanguage: Provider, private val currentCategoryIds: Provider>, @@ -30,7 +31,13 @@ internal open class NewsListBatchFlowManager( ) { private val actionsFlow = MutableSharedFlow>() private val converter by lazy { - ShortArticleToArticleConfigUMConverter(null) + ShortArticleToArticleConfigUMConverter( + isTrending = if (isRedesignEnabled) { + null + } else { + false + }, + ) } private val batchFlow = getNewsListBatchFlowUseCase(