From 5b50e044cd1e74d8de9aafc6583f8a275c0e72e1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Apr 2024 19:53:21 +0500 Subject: [PATCH 1/4] Updated on 2026-08-14 --- .../ui/components/currency/tokenicon/TokenIcon.kt | 12 ++++++++++-- .../impl/presentation/ui/amount/AmountButtons.kt | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt index 07d299f583..9ad7d42cc8 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt @@ -27,9 +27,15 @@ private const val NORMAL_ALPHA = 1f * @param state cryptocurrency icon config * @param modifier component modifier * @param shouldDisplayNetwork specifies whether to display network badge + * @param shouldDisplayCustom specifies whether to display custom badge */ @Composable -fun TokenIcon(state: TokenIconState, modifier: Modifier = Modifier, shouldDisplayNetwork: Boolean = true) { +fun TokenIcon( + state: TokenIconState, + modifier: Modifier = Modifier, + shouldDisplayNetwork: Boolean = true, + shouldDisplayCustom: Boolean = true, +) { BaseContainer(modifier = modifier) { val iconModifier = Modifier .align(Alignment.Center) @@ -46,6 +52,7 @@ fun TokenIcon(state: TokenIconState, modifier: Modifier = Modifier, shouldDispla icon = state, modifier = iconModifier, shouldDisplayNetwork = shouldDisplayNetwork, + shouldDisplayCustom = shouldDisplayCustom, ) } } @@ -76,6 +83,7 @@ private fun BoxScope.ContentIconContainer( icon: TokenIconState, modifier: Modifier = Modifier, shouldDisplayNetwork: Boolean = true, + shouldDisplayCustom: Boolean = true, ) { val networkBadgeOffset = TangemTheme.dimens.spacing4 val (alpha, colorFilter) = remember(icon.isGrayscale) { @@ -104,7 +112,7 @@ private fun BoxScope.ContentIconContainer( ) } - if (icon.showCustomBadge) { + if (icon.showCustomBadge && shouldDisplayCustom) { CustomBadge(modifier = Modifier.align(Alignment.BottomEnd)) } } diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountButtons.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountButtons.kt index 340f8e20ad..c4348c54f9 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountButtons.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/ui/amount/AmountButtons.kt @@ -96,6 +96,7 @@ private fun SendAmountCurrencyButton(button: SendAmountSegmentedButtonsConfig, i TokenIcon( state = button.iconState, shouldDisplayNetwork = false, + shouldDisplayCustom = false, modifier = Modifier .size(TangemTheme.dimens.size18), ) From bd4cfb134dc496915fac1c7befbd9f56d389feab Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Apr 2024 19:54:08 +0500 Subject: [PATCH 2/4] Updated on 2026-08-14 --- .../tangem/core/ui/components/fields/SimpleTextField.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/fields/SimpleTextField.kt b/core/ui/src/main/java/com/tangem/core/ui/components/fields/SimpleTextField.kt index e4737af0c1..577485da0d 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/fields/SimpleTextField.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/fields/SimpleTextField.kt @@ -45,7 +45,12 @@ fun SimpleTextField( ) { val proxyValue by remember(value) { derivedStateOf { value } } var textFieldValueState by remember { - mutableStateOf(TextFieldValue(text = value)) + mutableStateOf( + TextFieldValue( + text = value, + selection = TextRange(value.length, value.length), + ), + ) } val focusRequester = remember { FocusRequester.Default } val customTextSelectionColors = TextSelectionColors( From 6acb6006fced9bf572b270cdd763b1740d2fb8e4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 25 Apr 2024 19:54:45 +0500 Subject: [PATCH 3/4] Updated on 2026-08-14 --- .../appbar/AppBarWithBackButtonAndIconContent.kt | 4 ++-- .../send/impl/presentation/state/SendStateFactory.kt | 1 + .../state/amount/SendAmountCurrencyConverter.kt | 8 ++++++++ .../send/impl/presentation/state/fee/FeeConverter.kt | 4 ++++ .../send/impl/presentation/state/fee/FeeStateFactory.kt | 7 ++++++- .../presentation/state/fee/SendFeeCustomFieldConverter.kt | 4 ++++ .../state/fee/custom/BitcoinCustomFeeConverter.kt | 6 +++++- .../state/fee/custom/EthereumCustomFeeConverter.kt | 6 +++++- .../presentation/state/fields/SendAmountFieldConverter.kt | 6 +++++- 9 files changed, 40 insertions(+), 6 deletions(-) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButtonAndIconContent.kt b/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButtonAndIconContent.kt index 09b6158abb..c65bf02622 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButtonAndIconContent.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/appbar/AppBarWithBackButtonAndIconContent.kt @@ -63,7 +63,8 @@ fun AppBarWithBackButtonAndIconContent( ) Column( verticalArrangement = Arrangement.Center, - modifier = Modifier.weight(1f), + modifier = Modifier.weight(1f) + .animateContentSize(), ) { AnimatedVisibility( visible = !text.isNullOrBlank(), @@ -89,7 +90,6 @@ fun AppBarWithBackButtonAndIconContent( color = TangemTheme.colors.text.secondary, maxLines = 1, style = TangemTheme.typography.caption2, - modifier = Modifier.animateContentSize(), ) } } diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/SendStateFactory.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/SendStateFactory.kt index a2b722b614..32b43ad33a 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/SendStateFactory.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/SendStateFactory.kt @@ -46,6 +46,7 @@ internal class SendStateFactory( private val amountFieldConverter by lazy(LazyThreadSafetyMode.NONE) { SendAmountFieldConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, cryptoCurrencyStatusProvider = cryptoCurrencyStatusProvider, appCurrencyProvider = appCurrencyProvider, ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/amount/SendAmountCurrencyConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/amount/SendAmountCurrencyConverter.kt index 4817557ac6..369918da01 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/amount/SendAmountCurrencyConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/amount/SendAmountCurrencyConverter.kt @@ -1,5 +1,8 @@ package com.tangem.features.send.impl.presentation.state.amount +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.text.input.KeyboardType import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.send.impl.presentation.state.SendUiState import com.tangem.features.send.impl.presentation.state.StateRouter @@ -20,6 +23,7 @@ internal class SendAmountCurrencyConverter( val cryptoCurrencyStatus = cryptoCurrencyStatusProvider() val isValidFiatRate = cryptoCurrencyStatus.value.fiatRate.isNullOrZero() + val isDoneActionEnabled = amountState.isPrimaryButtonEnabled return if (amountTextField.isFiatValue == value && !isValidFiatRate) { state } else { @@ -29,6 +33,10 @@ internal class SendAmountCurrencyConverter( amountTextField = amountTextField.copy( isFiatValue = value, isValuePasted = true, + keyboardOptions = KeyboardOptions( + imeAction = if (isDoneActionEnabled) ImeAction.Done else ImeAction.None, + keyboardType = KeyboardType.Number, + ), ), ), ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt index 1fa99ee291..5109aa17b9 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeConverter.kt @@ -5,6 +5,7 @@ import com.tangem.blockchain.common.transaction.TransactionFee import com.tangem.core.ui.utils.parseToBigDecimal import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.state.fee.custom.BitcoinCustomFeeConverter import com.tangem.features.send.impl.presentation.state.fee.custom.EthereumCustomFeeConverter import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents @@ -13,6 +14,7 @@ import com.tangem.utils.converter.Converter internal class FeeConverter( private val clickIntents: SendClickIntents, + private val stateRouterProvider: Provider, private val appCurrencyProvider: Provider, private val feeCryptoCurrencyStatusProvider: Provider, ) : Converter { @@ -20,6 +22,7 @@ internal class FeeConverter( private val ethereumCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { EthereumCustomFeeConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) @@ -28,6 +31,7 @@ internal class FeeConverter( private val bitcoinCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { BitcoinCustomFeeConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt index e5683fcdc7..e933b89477 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt @@ -7,7 +7,10 @@ import com.tangem.core.ui.utils.parseToBigDecimal import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.domain.transaction.usecase.IsFeeApproximateUseCase -import com.tangem.features.send.impl.presentation.state.* +import com.tangem.features.send.impl.presentation.state.SendNotification +import com.tangem.features.send.impl.presentation.state.SendStates +import com.tangem.features.send.impl.presentation.state.SendUiState +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents import com.tangem.utils.Provider import kotlinx.collections.immutable.ImmutableList @@ -27,6 +30,7 @@ internal class FeeStateFactory( private val customFeeFieldConverter by lazy(LazyThreadSafetyMode.NONE) { SendFeeCustomFieldConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) @@ -35,6 +39,7 @@ internal class FeeStateFactory( val feeConverter by lazy(LazyThreadSafetyMode.NONE) { FeeConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt index c9534ea97f..5fd2a4060d 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/SendFeeCustomFieldConverter.kt @@ -3,6 +3,7 @@ package com.tangem.features.send.impl.presentation.state.fee import com.tangem.blockchain.common.transaction.Fee import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.state.fee.custom.BitcoinCustomFeeConverter import com.tangem.features.send.impl.presentation.state.fee.custom.EthereumCustomFeeConverter import com.tangem.features.send.impl.presentation.state.fields.SendTextField @@ -14,6 +15,7 @@ import kotlinx.collections.immutable.persistentListOf internal class SendFeeCustomFieldConverter( private val clickIntents: SendClickIntents, + private val stateRouterProvider: Provider, private val appCurrencyProvider: Provider, private val feeCryptoCurrencyStatusProvider: Provider, ) : Converter> { @@ -21,6 +23,7 @@ internal class SendFeeCustomFieldConverter( private val ethereumCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { EthereumCustomFeeConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) @@ -29,6 +32,7 @@ internal class SendFeeCustomFieldConverter( private val bitcoinCustomFeeConverter by lazy(LazyThreadSafetyMode.NONE) { BitcoinCustomFeeConverter( clickIntents = clickIntents, + stateRouterProvider = stateRouterProvider, appCurrencyProvider = appCurrencyProvider, feeCryptoCurrencyStatusProvider = feeCryptoCurrencyStatusProvider, ) diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/BitcoinCustomFeeConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/BitcoinCustomFeeConverter.kt index 8226a67504..5594d8d917 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/BitcoinCustomFeeConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/BitcoinCustomFeeConverter.kt @@ -15,6 +15,7 @@ import com.tangem.core.ui.utils.parseToBigDecimal import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.send.impl.R +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.state.fields.SendTextField import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents import com.tangem.lib.crypto.BlockchainUtils.isBitcoin @@ -27,6 +28,7 @@ import java.math.RoundingMode internal class BitcoinCustomFeeConverter( private val clickIntents: SendClickIntents, + private val stateRouterProvider: Provider, private val appCurrencyProvider: Provider, private val feeCryptoCurrencyStatusProvider: Provider, ) : CustomFeeConverter { @@ -66,7 +68,9 @@ internal class BitcoinCustomFeeConverter( imeAction = if (checkExceedBalance(feeValue)) ImeAction.None else ImeAction.Done, keyboardType = KeyboardType.Number, ), - keyboardActions = KeyboardActions(), + keyboardActions = KeyboardActions( + onDone = { clickIntents.onNextClick(stateRouterProvider().isEditState) }, + ), ), ) } else { diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/EthereumCustomFeeConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/EthereumCustomFeeConverter.kt index 4851533b49..9428dbdfc0 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/EthereumCustomFeeConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/custom/EthereumCustomFeeConverter.kt @@ -15,6 +15,7 @@ import com.tangem.core.ui.utils.parseToBigDecimal import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.send.impl.R +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.state.fields.SendTextField import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents import com.tangem.utils.Provider @@ -26,6 +27,7 @@ import java.math.RoundingMode internal class EthereumCustomFeeConverter( private val clickIntents: SendClickIntents, + private val stateRouterProvider: Provider, private val appCurrencyProvider: Provider, private val feeCryptoCurrencyStatusProvider: Provider, ) : CustomFeeConverter { @@ -71,7 +73,9 @@ internal class EthereumCustomFeeConverter( imeAction = if (checkExceedBalance(feeValue)) ImeAction.None else ImeAction.Done, keyboardType = KeyboardType.Number, ), - keyboardActions = KeyboardActions(onDone = { clickIntents.onNextClick() }), + keyboardActions = KeyboardActions( + onDone = { clickIntents.onNextClick(stateRouterProvider().isEditState) }, + ), ), ) } diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fields/SendAmountFieldConverter.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fields/SendAmountFieldConverter.kt index 2070b8c633..14f7f4b660 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fields/SendAmountFieldConverter.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fields/SendAmountFieldConverter.kt @@ -14,6 +14,7 @@ import com.tangem.domain.tokens.model.AmountType import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.domain.tokens.model.convertToAmount import com.tangem.features.send.impl.R +import com.tangem.features.send.impl.presentation.state.StateRouter import com.tangem.features.send.impl.presentation.viewmodel.SendClickIntents import com.tangem.utils.Provider import com.tangem.utils.converter.Converter @@ -23,6 +24,7 @@ private const val FIAT_DECIMALS = 2 internal class SendAmountFieldConverter( private val clickIntents: SendClickIntents, + private val stateRouterProvider: Provider, private val cryptoCurrencyStatusProvider: Provider, private val appCurrencyProvider: Provider, ) : Converter { @@ -48,7 +50,9 @@ internal class SendAmountFieldConverter( imeAction = if (isDoneActionEnabled) ImeAction.Done else ImeAction.None, keyboardType = KeyboardType.Number, ), - keyboardActions = KeyboardActions(onDone = { clickIntents.onNextClick() }), + keyboardActions = KeyboardActions( + onDone = { clickIntents.onNextClick(stateRouterProvider().isEditState) }, + ), isFiatValue = false, cryptoAmount = cryptoAmount, fiatAmount = getAppCurrencyAmount(fiatDecimal, appCurrencyProvider()), From f5cb300604bd79fb81417b37ce1d76508a1bef0d Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 26 Apr 2024 13:24:12 +0500 Subject: [PATCH 4/4] Updated on 2026-08-14 --- .../ui/components/currency/tokenicon/TokenIcon.kt | 12 ++---------- .../components/currency/tokenicon/TokenIconState.kt | 11 +++++------ .../converter/CryptoCurrencyToIconStateConverter.kt | 5 ++++- .../impl/presentation/ui/amount/AmountButtons.kt | 1 - 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt index 9ad7d42cc8..07d299f583 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIcon.kt @@ -27,15 +27,9 @@ private const val NORMAL_ALPHA = 1f * @param state cryptocurrency icon config * @param modifier component modifier * @param shouldDisplayNetwork specifies whether to display network badge - * @param shouldDisplayCustom specifies whether to display custom badge */ @Composable -fun TokenIcon( - state: TokenIconState, - modifier: Modifier = Modifier, - shouldDisplayNetwork: Boolean = true, - shouldDisplayCustom: Boolean = true, -) { +fun TokenIcon(state: TokenIconState, modifier: Modifier = Modifier, shouldDisplayNetwork: Boolean = true) { BaseContainer(modifier = modifier) { val iconModifier = Modifier .align(Alignment.Center) @@ -52,7 +46,6 @@ fun TokenIcon( icon = state, modifier = iconModifier, shouldDisplayNetwork = shouldDisplayNetwork, - shouldDisplayCustom = shouldDisplayCustom, ) } } @@ -83,7 +76,6 @@ private fun BoxScope.ContentIconContainer( icon: TokenIconState, modifier: Modifier = Modifier, shouldDisplayNetwork: Boolean = true, - shouldDisplayCustom: Boolean = true, ) { val networkBadgeOffset = TangemTheme.dimens.spacing4 val (alpha, colorFilter) = remember(icon.isGrayscale) { @@ -112,7 +104,7 @@ private fun BoxScope.ContentIconContainer( ) } - if (icon.showCustomBadge && shouldDisplayCustom) { + if (icon.showCustomBadge) { CustomBadge(modifier = Modifier.align(Alignment.BottomEnd)) } } diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIconState.kt b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIconState.kt index f51adb19b3..0f7ff350de 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIconState.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/TokenIconState.kt @@ -60,24 +60,23 @@ sealed class TokenIconState { * @property background The background color to be used for the icon. * @property networkBadgeIconResId The drawable resource ID for the network badge. * @property isGrayscale Specifies whether to show the icon in grayscale. + * @property showCustomBadge Specifies whether to show the custom token badge. */ data class CustomTokenIcon( val tint: Color, val background: Color, @DrawableRes override val networkBadgeIconResId: Int, override val isGrayscale: Boolean, - ) : TokenIconState() { + override val showCustomBadge: Boolean = true, + ) : TokenIconState() - override val showCustomBadge: Boolean = true - } - - object Loading : TokenIconState() { + data object Loading : TokenIconState() { override val isGrayscale: Boolean = false override val showCustomBadge: Boolean = false override val networkBadgeIconResId: Int? = null } - object Locked : TokenIconState() { + data object Locked : TokenIconState() { override val isGrayscale: Boolean = false override val showCustomBadge: Boolean = false override val networkBadgeIconResId: Int? = null diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/converter/CryptoCurrencyToIconStateConverter.kt b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/converter/CryptoCurrencyToIconStateConverter.kt index fbcc6e3caa..3e62e98992 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/converter/CryptoCurrencyToIconStateConverter.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/currency/tokenicon/converter/CryptoCurrencyToIconStateConverter.kt @@ -30,6 +30,7 @@ class CryptoCurrencyToIconStateConverter : Converter getIconStateForToken( token = currency, @@ -50,13 +51,14 @@ class CryptoCurrencyToIconStateConverter : Converter