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