Updated on 2026-08-14

This commit is contained in:
Tangem 2026-04-10 13:27:56 +02:00
parent a650d0786b
commit fc6b1c8233
4 changed files with 16 additions and 1 deletions

View file

@ -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,
)
}

View file

@ -20,12 +20,14 @@ internal class NewsDetailsPaginationManager(
currentCategoryIds: Provider<List<Int>>,
modelScope: CoroutineScope,
prefetchedIds: Set<Int>,
isRedesignEnabled: Boolean,
) : NewsListBatchFlowManager(
getNewsListBatchFlowUseCase = getNewsListBatchFlowUseCase,
currentLanguage = currentLanguage,
currentCategoryIds = currentCategoryIds,
modelScope = modelScope,
dispatchers = dispatchers,
isRedesignEnabled = isRedesignEnabled,
) {
private val _cachedPrefetchedIds = MutableStateFlow(prefetchedIds)

View file

@ -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,
)
}

View file

@ -22,6 +22,7 @@ import kotlinx.coroutines.launch
@Suppress("LongParameterList")
internal open class NewsListBatchFlowManager(
private val isRedesignEnabled: Boolean,
getNewsListBatchFlowUseCase: GetNewsListBatchFlowUseCase,
private val currentLanguage: Provider<String>,
private val currentCategoryIds: Provider<List<Int>>,
@ -30,7 +31,13 @@ internal open class NewsListBatchFlowManager(
) {
private val actionsFlow = MutableSharedFlow<BatchAction<Int, NewsListConfig, Nothing>>()
private val converter by lazy {
ShortArticleToArticleConfigUMConverter(null)
ShortArticleToArticleConfigUMConverter(
isTrending = if (isRedesignEnabled) {
null
} else {
false
},
)
}
private val batchFlow = getNewsListBatchFlowUseCase(