From a895b3cfbe17a1364a1eb6166d7c7d9e8f5a2adc Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 19 Oct 2023 14:00:25 +0800 Subject: [PATCH] Updated on 2026-08-14 --- .../wallet/utils/TokenListErrorConverter.kt | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/TokenListErrorConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/TokenListErrorConverter.kt index 100ea1b8bf..2620d59797 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/TokenListErrorConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/utils/TokenListErrorConverter.kt @@ -7,27 +7,29 @@ import com.tangem.feature.wallet.presentation.wallet.state.WalletSingleCurrencyS import com.tangem.feature.wallet.presentation.wallet.state.WalletState import com.tangem.feature.wallet.presentation.wallet.state.components.WalletTokensListState import com.tangem.utils.converter.Converter -import kotlinx.collections.immutable.persistentListOf internal class TokenListErrorConverter( private val currentStateProvider: Provider, ) : Converter { override fun convert(value: TokenListError): WalletState { - return when (val state = currentStateProvider()) { - is WalletMultiCurrencyState.Content -> { - state.copy( - tokensListState = WalletTokensListState.Content( - items = persistentListOf(), - organizeTokensButton = WalletTokensListState.OrganizeTokensButtonState.Hidden, - ), - ) - } + val state = currentStateProvider() + return when (value) { + is TokenListError.EmptyTokens -> state.mapToEmptyTokensState() + is TokenListError.DataError, + is TokenListError.UnableToSortTokenList, + -> state + } + } + + private fun WalletState.mapToEmptyTokensState(): WalletState { + return when (this) { + is WalletMultiCurrencyState.Content -> copy(tokensListState = WalletTokensListState.Empty) is WalletMultiCurrencyState.Locked, is WalletSingleCurrencyState.Content, is WalletSingleCurrencyState.Locked, is WalletState.Initial, - -> state + -> this } } } \ No newline at end of file