From c0ae099b6b9eb5b3984848b76600d902e2db9c94 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 17 Feb 2026 08:52:29 +0100 Subject: [PATCH] Updated on 2026-08-14 --- .../features/feed/model/earn/EarnModel.kt | 20 +++++++++++++------ .../EarnFilterSelectedStateTransformer.kt | 7 ++----- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/EarnModel.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/EarnModel.kt index 822e18aee3..2da2a4a8e1 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/EarnModel.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/EarnModel.kt @@ -32,11 +32,7 @@ import com.tangem.features.feed.model.earn.filters.state.EarnFilterNetworkUMConv import com.tangem.features.feed.model.earn.filters.state.EarnFilterTypeConverter import com.tangem.features.feed.model.earn.filters.state.EarnFilterTypeUMConverter import com.tangem.features.feed.model.earn.state.EarnStateController -import com.tangem.features.feed.model.earn.state.transformers.EarnFilterSelectedStateTransformer -import com.tangem.features.feed.model.earn.state.transformers.UpdateBestOpportunitiesStateTransformer -import com.tangem.features.feed.model.earn.state.transformers.UpdateEarnUMInitialStateTransformer -import com.tangem.features.feed.model.earn.state.transformers.UpdateMostlyUsedStateLoadingTransformer -import com.tangem.features.feed.model.earn.state.transformers.UpdateMostlyUsedStateTransformer +import com.tangem.features.feed.model.earn.state.transformers.* import com.tangem.features.feed.model.earn.statemanager.EarnListBatchFlowManager import com.tangem.features.feed.model.earn.statemanager.EarnListStateManager import com.tangem.features.feed.ui.earn.state.EarnFilterNetworkUM @@ -126,7 +122,10 @@ internal class EarnModel @Inject constructor( error = error, paginationStatus = paginationStatus, hasActiveFilters = hasActiveFilters, - onRetryClick = { batchFlowManager.reload() }, + onRetryClick = { + batchFlowManager.reload() + reloadEarnNetworks() + }, onLoadMore = { batchFlowManager.loadMore() }, onClearFiltersClick = ::onClearFiltersClick, ) @@ -188,6 +187,14 @@ internal class EarnModel @Inject constructor( } } + private fun reloadEarnNetworks() { + modelScope.launch(dispatchers.default) { + if (earnNetworks.value.isLeft()) { + fetchEarnNetworks() + } + } + } + /* start of clicks area */ private fun onTypeFilterClick() { val currentState = state.value @@ -289,6 +296,7 @@ internal class EarnModel @Inject constructor( ), ) bottomSheetNavigation.dismiss() + reloadEarnNetworks() } } diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/state/transformers/EarnFilterSelectedStateTransformer.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/state/transformers/EarnFilterSelectedStateTransformer.kt index 17cd292a95..3258d8f251 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/state/transformers/EarnFilterSelectedStateTransformer.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/state/transformers/EarnFilterSelectedStateTransformer.kt @@ -1,7 +1,6 @@ package com.tangem.features.feed.model.earn.state.transformers import com.tangem.domain.models.earn.EarnNetworks -import com.tangem.features.feed.ui.earn.state.EarnBestOpportunitiesUM import com.tangem.features.feed.ui.earn.state.EarnFilterNetworkUM import com.tangem.features.feed.ui.earn.state.EarnFilterTypeUM import com.tangem.features.feed.ui.earn.state.EarnUM @@ -13,14 +12,12 @@ internal class EarnFilterSelectedStateTransformer( ) : EarnUMTransformer { override fun transform(prevState: EarnUM): EarnUM { - val isFiltersApplicable = prevState.bestOpportunities !is EarnBestOpportunitiesUM.Error - val isNetworkFilterEnabled = earnNetworks.isRight() return prevState.copy( earnFilterUM = prevState.earnFilterUM.copy( selectedTypeFilter = filterType, selectedNetworkFilter = filterNetwork, - isNetworkFilterEnabled = isFiltersApplicable && isNetworkFilterEnabled, - isTypeFilterEnabled = isFiltersApplicable, + isNetworkFilterEnabled = earnNetworks.isRight(), + isTypeFilterEnabled = true, ), ) }