From 6b75b48f1eb7b40a5c5b2ad37021a80a344d3a9d Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 20 Apr 2026 19:03:25 +0400 Subject: [PATCH] Updated on 2026-08-14 --- common/ui/build.gradle.kts | 1 + .../converters/AmountStateConverter.kt | 2 +- .../currency/icon/CurrencyIconStateBuilder.kt | 5 +- .../CryptoCurrencyToIconStateConverter.kt | 6 +- .../common/ui/extensions/NetworkIconExt.kt | 62 ++++ .../ui/notifications/NotificationsFactory.kt | 2 +- .../ui/tokens/TokenItemStateConverter.kt | 2 +- .../core/ui/extensions/BlockchainIcons.kt | 304 ------------------ .../core/ui/extensions/CryptoCurrency.kt | 19 -- data/notifications/build.gradle.kts | 1 + .../NotificationsEligibleNetworkConverter.kt | 4 +- .../converter/BlockchainRowUMConverter.kt | 12 +- .../addtoportfolio/model/AddTokenUiBuilder.kt | 4 +- .../model/TokenActionsUiBuilder.kt | 2 +- ...nTokenWithCurrencyToListItemUMConverter.kt | 2 +- .../state/EarnFilterNetworkConverter.kt | 4 +- .../converter/UserAssetSearchItemConverter.kt | 4 +- .../TokenSelectorEntryConverter.kt | 2 +- .../utils/ui/CurrencyNetworkOperations.kt | 8 +- .../transformer/UpdateDataStateTransformer.kt | 42 +-- .../block/DefaultNFTDetailsBlockComponent.kt | 4 +- .../transformer/UpdateDataStateTransformer.kt | 4 +- .../converter/HotTokenItemStateConverter.kt | 2 +- .../entity/OnrampAddTokenUiBuilder.kt | 4 +- .../OnrampTokenItemStateConverterFactory.kt | 2 +- .../referral/model/AccountAwardConverter.kt | 2 +- .../model/NetworkSelectionModel.kt | 2 +- .../amount/model/SendAmountModel.kt | 2 +- .../transformers/SetAmountDataTransformer.kt | 2 +- .../SetInitialDataStateTransformer.kt | 2 +- .../AddStakingNotificationsTransformer.kt | 2 +- .../converter/SwapAmountFieldConverter.kt | 4 +- .../SwapChooseContentStateTransformer.kt | 2 +- .../converters/AccountTokenItemConverter.kt | 6 +- .../swap/models/states/SwapNotificationUM.kt | 2 +- .../tangem/feature/swap/ui/StateBuilder.kt | 17 +- .../feature/swap/ui/SwapScreenContent.kt | 9 +- .../state/mapper/BlockchainsMappings.kt | 4 +- .../providers/ui/BlockchainProvidersScreen.kt | 5 +- .../entity/TokenReceiveStateFactory.kt | 3 +- .../components/ExchangeStatusNotification.kt | 2 +- .../components/TokenDetailsNotification.kt | 2 +- .../factory/TokenDetailsIconStateConverter.kt | 2 +- ...nDetailsOnrampTransactionStateConverter.kt | 2 +- .../TokenDetailsSkeletonStateConverter.kt | 2 +- ...enDetailsSwapTransactionsStateConverter.kt | 2 +- ...InitializeWithCryptoCurrencyTransformer.kt | 2 +- .../CryptoCurrencyToDraggableItemConverter.kt | 2 +- .../items/OrganizeTokenItemConverter.kt | 2 +- .../SingleWalletOnrampTransactionConverter.kt | 2 +- .../WalletTokenCurrencyItemConverter.kt | 2 +- .../model/WcConnectedAppInfoModel.kt | 2 +- .../model/WcSelectNetworksModel.kt | 8 +- .../transformers/WcNetworksInfoConverter.kt | 2 +- .../converter/WcNetworkInfoUMConverter.kt | 4 +- .../blockaid/WcSpendAllowanceUMConverter.kt | 5 +- .../approve/model/YieldSupplyApproveModel.kt | 4 +- .../YieldSupplyStartEarningEntryModel.kt | 2 +- .../model/YieldSupplyStartEarningModel.kt | 4 +- .../model/YieldSupplyStopEarningModel.kt | 6 +- .../model/YieldSupplyDepositedWarningModel.kt | 2 +- 61 files changed, 193 insertions(+), 436 deletions(-) rename {core/ui/src/main/java/com/tangem/core => common/ui/src/main/java/com/tangem/common}/ui/components/currency/icon/CurrencyIconStateBuilder.kt (95%) rename {core/ui/src/main/java/com/tangem/core => common/ui/src/main/java/com/tangem/common}/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt (95%) create mode 100644 common/ui/src/main/java/com/tangem/common/ui/extensions/NetworkIconExt.kt delete mode 100644 core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt diff --git a/common/ui/build.gradle.kts b/common/ui/build.gradle.kts index 31eb3dc544..0cd3cd3495 100644 --- a/common/ui/build.gradle.kts +++ b/common/ui/build.gradle.kts @@ -33,6 +33,7 @@ dependencies { implementation(projects.core.utils) implementation(projects.core.res) implementation(projects.libs.crypto) + implementation(projects.libs.blockchainSdk) /** Project - Domain */ implementation(projects.domain.appCurrency.models) diff --git a/common/ui/src/main/java/com/tangem/common/ui/amountScreen/converters/AmountStateConverter.kt b/common/ui/src/main/java/com/tangem/common/ui/amountScreen/converters/AmountStateConverter.kt index c73dd77911..a8d3ad4fe0 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/amountScreen/converters/AmountStateConverter.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/amountScreen/converters/AmountStateConverter.kt @@ -6,7 +6,7 @@ import com.tangem.common.ui.amountScreen.converters.field.AmountFieldConverter import com.tangem.common.ui.amountScreen.models.AmountParameters import com.tangem.common.ui.amountScreen.models.AmountState import com.tangem.common.ui.amountScreen.models.EnterAmountBoundary -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.combinedReference import com.tangem.core.ui.extensions.orMaskWithStars diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconStateBuilder.kt b/common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/CurrencyIconStateBuilder.kt similarity index 95% rename from core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconStateBuilder.kt rename to common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/CurrencyIconStateBuilder.kt index 204df382e5..1d6029deaf 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconStateBuilder.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/CurrencyIconStateBuilder.kt @@ -1,10 +1,11 @@ -package com.tangem.core.ui.components.currency.icon +package com.tangem.common.ui.components.currency.icon import androidx.annotation.DrawableRes import androidx.compose.ui.graphics.Color +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.R +import com.tangem.core.ui.components.currency.icon.CurrencyIconState import com.tangem.core.ui.extensions.getTintForTokenIcon -import com.tangem.core.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.tryGetBackgroundForTokenIcon import com.tangem.domain.models.currency.CryptoCurrency diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt b/common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt similarity index 95% rename from core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt rename to common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt index c954f883c4..c177757a06 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/components/currency/icon/converter/CryptoCurrencyToIconStateConverter.kt @@ -1,8 +1,8 @@ -package com.tangem.core.ui.components.currency.icon.converter +package com.tangem.common.ui.components.currency.icon.converter +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.components.currency.icon.CurrencyIconState import com.tangem.core.ui.extensions.getTintForTokenIcon -import com.tangem.core.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.tryGetBackgroundForTokenIcon import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.currency.CryptoCurrencyStatus @@ -91,7 +91,7 @@ class CryptoCurrencyToIconStateConverter( isGrayscale = isGrayscale, fallbackTint = tint, fallbackBackground = background, - shouldShowCustomBadge = token.isCustom && showCustomBadge, // `true` for tokens with custom derivation + shouldShowCustomBadge = token.isCustom && showCustomBadge, ) } } diff --git a/common/ui/src/main/java/com/tangem/common/ui/extensions/NetworkIconExt.kt b/common/ui/src/main/java/com/tangem/common/ui/extensions/NetworkIconExt.kt new file mode 100644 index 0000000000..3162bb957e --- /dev/null +++ b/common/ui/src/main/java/com/tangem/common/ui/extensions/NetworkIconExt.kt @@ -0,0 +1,62 @@ +package com.tangem.common.ui.extensions + +import androidx.annotation.DrawableRes +import com.tangem.blockchainsdk.utils.toBlockchain +import com.tangem.domain.models.currency.CryptoCurrency +import com.tangem.domain.models.network.Network + +/** + * Retrieves the active icon drawable resource for the network of a [CryptoCurrency]. + */ +@get:DrawableRes +val CryptoCurrency.networkIconResId: Int + get() = network.iconResId + +/** + * Retrieves the greyed-out icon drawable resource for the network of a [CryptoCurrency]. + */ +@get:DrawableRes +val CryptoCurrency.networkGreyedOutIconResId: Int + get() = network.greyedOutIconResId + +/** + * Retrieves the active icon drawable resource for this [Network]. + */ +@get:DrawableRes +val Network.iconResId: Int + get() = id.iconResId + +/** + * Retrieves the greyed-out icon drawable resource for this [Network]. + */ +@get:DrawableRes +val Network.greyedOutIconResId: Int + get() = id.greyedOutIconResId + +/** + * Retrieves the active icon drawable resource for this [Network.ID]. + */ +@get:DrawableRes +val Network.ID.iconResId: Int + get() = rawId.iconResId + +/** + * Retrieves the greyed-out icon drawable resource for this [Network.ID]. + */ +@get:DrawableRes +val Network.ID.greyedOutIconResId: Int + get() = rawId.greyedOutIconResId + +/** + * Retrieves the active icon drawable resource for this [Network.RawID]. + */ +@get:DrawableRes +val Network.RawID.iconResId: Int + get() = getActiveIconRes(toBlockchain()) + +/** + * Retrieves the greyed-out icon drawable resource for this [Network.RawID]. + */ +@get:DrawableRes +val Network.RawID.greyedOutIconResId: Int + get() = getGreyedOutIconRes(toBlockchain()) \ No newline at end of file diff --git a/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationsFactory.kt b/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationsFactory.kt index c2ea0c7fe3..4e0e7d90e5 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationsFactory.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/notifications/NotificationsFactory.kt @@ -4,7 +4,7 @@ import com.tangem.blockchain.common.BlockchainSdkError import com.tangem.common.ui.R import com.tangem.common.ui.amountScreen.models.AmountFieldModel import com.tangem.common.ui.amountScreen.utils.getFiatString -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.format.bigdecimal.crypto import com.tangem.core.ui.format.bigdecimal.format import com.tangem.core.ui.format.bigdecimal.uncapped diff --git a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt index da7e2748eb..b350ff74b9 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt @@ -4,7 +4,7 @@ import com.tangem.common.getTotalCryptoAmount import com.tangem.common.getTotalFiatAmount import com.tangem.common.ui.R import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.icons.IconTint import com.tangem.core.ui.components.marketprice.PriceChangeType import com.tangem.core.ui.components.marketprice.utils.PriceChangeConverter diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt deleted file mode 100644 index 774e48671b..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt +++ /dev/null @@ -1,304 +0,0 @@ -package com.tangem.core.ui.extensions - -import androidx.annotation.DrawableRes -import com.tangem.core.ui.R - -@Suppress("ComplexMethod", "LongMethod") -@DrawableRes -fun getActiveIconRes(blockchainId: String): Int { - return when (blockchainId) { - "ARBITRUM-ONE", "ARBITRUM/test" -> R.drawable.img_arbitrum_22 - "BTC", "BTC/test" -> R.drawable.img_btc_22 - "BCH" -> R.drawable.img_btc_cash_22 - "LTC" -> R.drawable.img_litecoin_22 - "ETH", "ETH/test" -> R.drawable.img_eth_22 - "ETC", "ETC/test" -> R.drawable.img_eth_classic_22 - "RSK" -> R.drawable.img_rsk_22 - "CARDANO", "CARDANO-S" -> R.drawable.img_cardano_22 - "XTZ" -> R.drawable.img_tezos_22 - "XRP" -> R.drawable.img_xrp_22 - "XLM", "XLM/test" -> R.drawable.img_stellar_22 - "AVALANCHE", "AVALANCHE/test" -> R.drawable.img_avalanche_22 - "POLYGON", "POLYGON/test" -> R.drawable.img_polygon_22 - "SOLANA", "SOLANA/test" -> R.drawable.img_solana_22 - "FTM", "FTM/test" -> R.drawable.img_fantom_22 - "BSC", "BSC/test", "BINANCE", "BINANCE/test" -> R.drawable.img_bsc_22 - "DOGE" -> R.drawable.img_dogecoin_22 - "TRON", "TRON/test" -> R.drawable.img_tron_22 - "GNO" -> R.drawable.img_gnosis_22 - "ETH-Pow", "ETH-Pow/test" -> R.drawable.img_eth_pow_22 - "ETH-Fair", "dischain" -> R.drawable.img_dischain_22 - "Polkadot", "Polkadot/test" -> R.drawable.img_polkadot_22 - "Kusama" -> R.drawable.img_kusama_22 - "OPTIMISM", "OPTIMISM/test" -> R.drawable.img_optimism_22 - "DASH" -> R.drawable.img_dash_22 - "KAS", "KAS/test" -> R.drawable.img_kaspa_22 - "The-Open-Network", "The-Open-Network/test" -> R.drawable.img_ton_22 - "KAVA", "KAVA/test" -> R.drawable.img_kava_22 - "ravencoin", "ravencoin/test" -> R.drawable.img_ravencoin_22 - "cosmos", "cosmos/test" -> R.drawable.img_cosmos_22 - "terra", "terra-luna" -> R.drawable.img_terra_22 - "terra-2", "terra-luna-2" -> R.drawable.img_terra2_22 - "cronos" -> R.drawable.img_cronos_22 - "TELOS", "TELOS/test" -> R.drawable.img_telos_22 - "aleph-zero", "aleph-zero/test" -> R.drawable.img_azero_22 - "octaspace", "octaspace/test" -> R.drawable.img_octaspace_22 - "chia", "chia/test" -> R.drawable.img_chia_22 - "NEAR", "NEAR/test" -> R.drawable.img_near_22 - "decimal", "decimal/test" -> R.drawable.img_decimal_22 - "xdc", "xdc/test" -> R.drawable.img_xdc_22 - "vechain", "vechain/test" -> R.drawable.img_vechain_22 - "aptos", "aptos/test" -> R.drawable.img_aptos_22 - "shibarium", "shibarium/test" -> R.drawable.img_shibarium_22 - "algorand", "algorand/test" -> R.drawable.img_algorand_22 - "hedera", "hedera/test" -> R.drawable.img_hedera_22 - "playa3ull" -> R.drawable.img_playa3ull_22 - "DUC" -> R.drawable.img_ducatus_22 - "aurora", "aurora/test" -> R.drawable.img_aurora_22 - "areon", "areon/test" -> R.drawable.img_areon_22 - "pls", "pls/test" -> R.drawable.img_pls_22 - "zkSyncEra", "zkSyncEra/test" -> R.drawable.img_zksync_22 - "moonbeam", "moonbeam/test" -> R.drawable.img_moonbeam_22 - "manta-pacific", "manta/test" -> R.drawable.img_manta_22 - "polygonZkEVM", "polygonZkEVM/test" -> R.drawable.img_polygon_22 - "moonriver", "moonriver/test" -> R.drawable.img_moonriver_22 - "mantle", "mantle/test" -> R.drawable.img_mantle_22 - "flare", "flare/test" -> R.drawable.img_flare_22 - "taraxa", "taraxa/test" -> R.drawable.img_taraxa_22 - "radiant" -> R.drawable.img_radiant_22 - "base" -> R.drawable.img_base_22 - "joystream" -> R.drawable.img_joystream_22 - "koinos", "koinos/test" -> R.drawable.img_koinos_22 - "bittensor" -> R.drawable.img_bittensor_22 - "blast", "blast/test" -> R.drawable.img_blast_22 - "filecoin" -> R.drawable.img_filecoin_22 - "cyber", "cyber/test" -> R.drawable.img_cyber_22 - "sei", "sei/test" -> R.drawable.img_sei_22 - "internet-computer" -> R.drawable.img_icp_22 - "sui", "sui/test" -> R.drawable.img_sui_22 - "energy-web-chain", "energy-web-chain/test" -> R.drawable.img_energy_web_22 - "energy-web-x", "energy-web-x/test" -> R.drawable.img_energy_web_22 - "core", "core/test" -> R.drawable.img_core_22 - "casper", "casper/test" -> R.drawable.img_casper_22 - "xodex" -> R.drawable.img_xodex_22 - "canxium" -> R.drawable.img_canxium_22 - "chiliz", "chiliz/test" -> R.drawable.img_chiliz_22 - "alephium", "alephium/test" -> R.drawable.img_alephium_22 - "clore-ai" -> R.drawable.img_clore_22 - "fact0rn" -> R.drawable.img_fact0rn_22 - "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 - "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 - "sonic", "sonic/test" -> R.drawable.img_sonic_22 - "apechain", "apechain/test" -> R.drawable.img_apecoin_22 - "scroll", "scroll/test" -> R.drawable.img_scroll_22 - "zklink", "zklink/test" -> R.drawable.img_zklink_22 - "vanar-chain", "vanar-chain/test" -> R.drawable.img_vanar_22 - "pepecoin", "pepecoin/test" -> R.drawable.img_pepecoin_22 - "hyperliquid", "hyperliquid/test" -> R.drawable.img_hyperliquid_22 - "quai", "quai/test" -> R.drawable.img_quai_22 - "linea", "linea/test" -> R.drawable.img_linea_22 - "arbitrum-nova" -> R.drawable.img_arbitrum_nova_22 - "plasma", "plasma/test" -> R.drawable.img_plasma_22 - "monad", "monad/test" -> R.drawable.img_monad_22 - else -> R.drawable.ic_alert_24 - } -} - -@Suppress("ComplexMethod", "LongMethod") -@DrawableRes -fun getActiveIconResByCoinId(coinId: String): Int { - return when (coinId) { - "binancecoin" -> R.drawable.img_bsc_22 - "bitcoin" -> R.drawable.img_btc_22 - "bitcoin-cash" -> R.drawable.img_btc_cash_22 - "ethereum" -> R.drawable.img_eth_22 - "arbitrum-one" -> R.drawable.img_arbitrum_22 - "optimistic-ethereum" -> R.drawable.img_optimism_22 - "ethereum-classic" -> R.drawable.img_eth_classic_22 - "stellar" -> R.drawable.img_stellar_22 - "cardano" -> R.drawable.img_cardano_22 - "matic-network", "polygon-ecosystem-token" -> R.drawable.img_polygon_22 - "avalanche-2" -> R.drawable.img_avalanche_22 - "solana" -> R.drawable.img_solana_22 - "fantom" -> R.drawable.img_fantom_22 - "tron" -> R.drawable.img_tron_22 - "polkadot" -> R.drawable.img_polkadot_22 - "litecoin" -> R.drawable.img_litecoin_22 - "rootstock" -> R.drawable.img_rsk_22 - "tezos" -> R.drawable.img_tezos_22 - "ripple" -> R.drawable.img_xrp_22 - "dogecoin" -> R.drawable.img_dogecoin_22 - "xdai" -> R.drawable.img_gnosis_22 - "ethereum-pow-iou" -> R.drawable.img_eth_pow_22 - "ethereumfair", "dischain" -> R.drawable.img_dischain_22 - "kusama" -> R.drawable.img_kusama_22 - "dash" -> R.drawable.img_dash_22 - "kaspa", "kaspa/test" -> R.drawable.img_kaspa_22 - "ton" -> R.drawable.img_ton_22 - "kava" -> R.drawable.img_kava_22 - "ravencoin" -> R.drawable.img_ravencoin_22 - "terra" -> R.drawable.img_terra_22 - "terra-2" -> R.drawable.img_terra2_22 - "telos" -> R.drawable.img_telos_22 - "octaspace" -> R.drawable.img_octaspace_22 - "chia" -> R.drawable.img_chia_22 - "near" -> R.drawable.img_near_22 - "decimal" -> R.drawable.img_decimal_22 - "xdce-crowd-sale" -> R.drawable.img_xdc_22 - "vechain" -> R.drawable.img_vechain_22 - "aptos" -> R.drawable.img_aptos_22 - "shibarium" -> R.drawable.img_shibarium_22 - "algorand" -> R.drawable.img_algorand_22 - "hedera-hashgraph" -> R.drawable.img_hedera_22 - "playa3ull-games-2" -> R.drawable.img_playa3ull_22 - "ducatus" -> R.drawable.img_ducatus_22 - "aurora-near" -> R.drawable.img_aurora_22 - "areon" -> R.drawable.img_areon_22 - "pls" -> R.drawable.img_pls_22 - "zksync-ethereum" -> R.drawable.img_zksync_22 - "moonbeam" -> R.drawable.img_moonbeam_22 - "manta-pacific" -> R.drawable.img_manta_22 - "polygon-zkevm-ethereum" -> R.drawable.img_polygon_22 - "moonriver" -> R.drawable.img_moonriver_22 - "mantle" -> R.drawable.img_mantle_22 - "flare-networks" -> R.drawable.img_flare_22 - "taraxa" -> R.drawable.img_taraxa_22 - "radiant" -> R.drawable.img_radiant_22 - "base" -> R.drawable.img_base_22 - "joystream" -> R.drawable.img_joystream_22 - "koinos", "koinos/test" -> R.drawable.img_koinos_22 - "bittensor" -> R.drawable.img_bittensor_22 - "blast", "blast/test" -> R.drawable.img_blast_22 - "filecoin" -> R.drawable.img_filecoin_22 - "cyber", "cyber/test" -> R.drawable.img_cyber_22 - "sei", "sei/test" -> R.drawable.img_sei_22 - "internet-computer" -> R.drawable.img_icp_22 - "sui", "sui/test" -> R.drawable.img_sui_22 - "energy-web-chain", "energy-web-chain/test" -> R.drawable.img_energy_web_22 - "energy-web-x", "energy-web-x/test" -> R.drawable.img_energy_web_22 - "core", "core/test" -> R.drawable.img_core_22 - "casper-network" -> R.drawable.img_casper_22 - "xodex" -> R.drawable.img_xodex_22 - "canxium" -> R.drawable.img_canxium_22 - "chiliz", "chiliz/test" -> R.drawable.img_chiliz_22 - "alephium", "alephium/test" -> R.drawable.img_alephium_22 - "clore-ai" -> R.drawable.img_clore_22 - "fact0rn" -> R.drawable.img_fact0rn_22 - "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 - "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 - "sonic", "sonic/test" -> R.drawable.img_sonic_22 - "apechain", "apechain/test" -> R.drawable.img_apecoin_22 - "scroll", "scroll/test" -> R.drawable.img_scroll_22 - "zklink", "zklink/test" -> R.drawable.img_zklink_22 - "vanar-chain", "vanar-chain/test" -> R.drawable.img_vanar_22 - "pepecoin-network", "pepecoin-network/test" -> R.drawable.img_pepecoin_22 - "hyperliquid", "hyperliquid/test" -> R.drawable.img_hyperliquid_22 - "quai", "quai/test" -> R.drawable.img_quai_22 - "linea", "linea/test" -> R.drawable.img_linea_22 - "arbitrum-nova" -> R.drawable.img_arbitrum_nova_22 - "plasma", "plasma/test" -> R.drawable.img_plasma_22 - "monad", "monad/test" -> R.drawable.img_monad_22 - else -> R.drawable.ic_alert_24 - } -} - -@Suppress("ComplexMethod", "LongMethod") -@DrawableRes -fun getGreyedOutIconRes(blockchainId: String): Int { - return when (blockchainId) { - "ARBITRUM-ONE", "ARBITRUM/test" -> R.drawable.ic_arbitrum_22 - "BTC", "BTC/test" -> R.drawable.ic_bitcoin_16 - "BCH" -> R.drawable.ic_bitcoin_cash_16 - "LTC" -> R.drawable.ic_litecoin_22 - "ETH", "ETH/test" -> R.drawable.ic_eth_16 - "ETC", "ETC/test" -> R.drawable.ic_eth_16 - "RSK" -> R.drawable.ic_rsk_16 - "CARDANO", "CARDANO-S" -> R.drawable.ic_cardano_16 - "XTZ" -> R.drawable.ic_tezos_16 - "XRP" -> R.drawable.ic_xrp_22 - "XLM", "XLM/test" -> R.drawable.ic_stellar_16 - "AVALANCHE", "AVALANCHE/test" -> R.drawable.ic_avalanche_22 - "POLYGON", "POLYGON/test" -> R.drawable.ic_polygon_22 - "SOLANA", "SOLANA/test" -> R.drawable.ic_solana_16 - "FTM", "FTM/test" -> R.drawable.ic_fantom_22 - "BSC", "BSC/test", "BINANCE", "BINANCE/test" -> R.drawable.ic_bsc_16 - "DOGE" -> R.drawable.ic_dogecoin_16 - "TRON", "TRON/test" -> R.drawable.ic_tron_22 - "GNO" -> R.drawable.ic_gnosis_22 - "ETH-Pow", "ETH-Pow/test" -> R.drawable.ic_ethereumpow_22 - "ETH-Fair", "dischain" -> R.drawable.ic_dischain_22 - "Polkadot", "Polkadot/test" -> R.drawable.ic_polkadot_16 - "Kusama" -> R.drawable.ic_kusama_16 - "OPTIMISM", "OPTIMISM/test" -> R.drawable.ic_optimism_22 - "DASH" -> R.drawable.ic_dash_22 - "KAS", "KAS/test" -> R.drawable.ic_kaspa_22 - "The-Open-Network", "The-Open-Network/test" -> R.drawable.ic_ton_22 - "KAVA", "KAVA/test" -> R.drawable.ic_kava_22 - "ravencoin", "ravencoin/test" -> R.drawable.ic_ravencoin_22 - "cosmos", "cosmos/test" -> R.drawable.ic_cosmos_22 - "terra", "terra-luna" -> R.drawable.ic_terra_22 - "terra-2", "terra-luna-2" -> R.drawable.ic_terra2_22 - "cronos" -> R.drawable.ic_cronos_22 - "TELOS", "TELOS/test" -> R.drawable.ic_telos_22 - "aleph-zero", "aleph-zero/test" -> R.drawable.ic_azero_22 - "octaspace", "octaspace/test" -> R.drawable.ic_octaspace_22 - "chia", "chia/test" -> R.drawable.ic_chia_22 - "NEAR", "NEAR/test" -> R.drawable.ic_near_22 - "decimal", "decimal/test" -> R.drawable.ic_decimal_22 - "xdc", "xdc/test" -> R.drawable.ic_xdc_22 - "vechain", "vechain/test" -> R.drawable.ic_vechain_22 - "aptos", "aptos/test" -> R.drawable.ic_aptos_22 - "shibarium", "shibarium/test" -> R.drawable.ic_shibarium_22 - "algorand", "algorand/test" -> R.drawable.ic_algorand_22 - "hedera", "hedera/test" -> R.drawable.ic_hedera_22 - "playa3ull" -> R.drawable.ic_playa3ull_22 - "DUC" -> R.drawable.ic_ducatus_22 - "aurora", "aurora/test" -> R.drawable.ic_aurora_22 - "areon", "areon/test" -> R.drawable.ic_areon_22 - "pls", "pls/test" -> R.drawable.ic_pls_22 - "zkSyncEra", "zkSyncEra/test" -> R.drawable.ic_zksync_22 - "moonbeam", "moonbeam/test" -> R.drawable.ic_moonbeam_22 - "manta-pacific", "manta/test" -> R.drawable.ic_manta_22 - "polygonZkEVM", "polygonZkEVM/test" -> R.drawable.ic_polygon_22 - "moonriver", "moonriver/test" -> R.drawable.ic_moonriver_22 - "mantle", "mantle/test" -> R.drawable.ic_mantle_22 - "flare", "flare/test" -> R.drawable.ic_flare_22 - "taraxa", "taraxa/test" -> R.drawable.ic_taraxa_22 - "radiant" -> R.drawable.ic_radiant_22 - "base", "base/test" -> R.drawable.ic_base_22 - "joystream" -> R.drawable.ic_joystream_22 - "koinos", "koinos/test" -> R.drawable.ic_koinos_22 - "bittensor" -> R.drawable.ic_bittensor_22 - "blast", "blast/test" -> R.drawable.ic_blast_22 - "filecoin" -> R.drawable.ic_filecoin_22 - "cyber", "cyber/test" -> R.drawable.ic_cyber_22 - "sei", "sei/test" -> R.drawable.ic_sei_22 - "internet-computer" -> R.drawable.ic_icp_22 - "sui", "sui/test" -> R.drawable.ic_sui_22 - "energy-web-chain", "energy-web-chain/test" -> R.drawable.ic_energy_web_22 - "energy-web-x", "energy-web-x/test" -> R.drawable.ic_energy_web_22 - "core", "core/test" -> R.drawable.ic_core_22 - "casper", "casper/test" -> R.drawable.ic_casper_22 - "xodex" -> R.drawable.ic_xodex_22 - "canxium" -> R.drawable.ic_canxium_22 - "chiliz", "chiliz/test" -> R.drawable.ic_chiliz_22 - "alephium", "alephium/test" -> R.drawable.ic_alephium_22 - "clore-ai" -> R.drawable.ic_clore_22 - "fact0rn" -> R.drawable.ic_fact0rn_22 - "odyssey", "odyssey/test" -> R.drawable.ic_odyssey_chain_22 - "bitrock", "bitrock/test" -> R.drawable.ic_bitrock_22 - "sonic", "sonic/test" -> R.drawable.ic_sonic_22 - "apechain", "apechain/test" -> R.drawable.ic_apecoin_22 - "scroll", "scroll/test" -> R.drawable.ic_scroll_22 - "zklink", "zklink/test" -> R.drawable.ic_zklink_22 - "vanar-chain", "vanar-chain/test" -> R.drawable.ic_vanar_22 - "pepecoin", "pepecoin/test" -> R.drawable.ic_pepecoin_22 - "hyperliquid", "hyperliquid/test" -> R.drawable.ic_hyperliquid_22 - "quai", "quai/test" -> R.drawable.ic_quai_22 - "linea", "linea/test" -> R.drawable.ic_linea_22 - "arbitrum-nova" -> R.drawable.ic_arbitrum_nova_22 - "plasma", "plasma/test" -> R.drawable.ic_plasma_22 - "monad", "monad/test" -> R.drawable.ic_monad_22 - else -> R.drawable.ic_alert_24 - } -} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/CryptoCurrency.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/CryptoCurrency.kt index 6c8634158c..2065184093 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/extensions/CryptoCurrency.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/extensions/CryptoCurrency.kt @@ -1,34 +1,15 @@ package com.tangem.core.ui.extensions -import androidx.annotation.DrawableRes import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.luminance import androidx.core.graphics.toColorInt import com.tangem.core.ui.res.TangemColorPalette import com.tangem.domain.models.currency.CryptoCurrency -import com.tangem.domain.models.network.Network private const val LIGHT_LUMINANCE = 0.5f private const val COLOR_HEX_START_INDEX = 2 private const val COLOR_HEX_END_INDEX = 7 -/** - * Retrieves the resource ID for the network of a [CryptoCurrency]. - * - * @return Drawable resource ID for the network. - */ -@get:DrawableRes -val CryptoCurrency.networkIconResId: Int - get() = network.iconResId - -/** - * Retrieves the resource ID. - * - * @return Drawable resource ID for the network. - */ -val Network.iconResId: Int - get() = getActiveIconRes(rawId) - /** * Tries to extract a background color from the contract address of a token. * diff --git a/data/notifications/build.gradle.kts b/data/notifications/build.gradle.kts index a54a8c6725..21476b24c2 100644 --- a/data/notifications/build.gradle.kts +++ b/data/notifications/build.gradle.kts @@ -32,6 +32,7 @@ dependencies { implementation(projects.core.datasource) implementation(projects.core.utils) implementation(projects.core.ui) + implementation(projects.common.ui) implementation(projects.libs.blockchainSdk) // endregion diff --git a/data/notifications/src/main/java/com/tangem/data/notifications/converters/NotificationsEligibleNetworkConverter.kt b/data/notifications/src/main/java/com/tangem/data/notifications/converters/NotificationsEligibleNetworkConverter.kt index 403718705e..77a962a417 100644 --- a/data/notifications/src/main/java/com/tangem/data/notifications/converters/NotificationsEligibleNetworkConverter.kt +++ b/data/notifications/src/main/java/com/tangem/data/notifications/converters/NotificationsEligibleNetworkConverter.kt @@ -2,7 +2,7 @@ package com.tangem.data.notifications.converters import com.tangem.blockchain.common.Blockchain import com.tangem.blockchainsdk.utils.fromNetworkId -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.getActiveIconRes import com.tangem.datasource.api.tangemTech.models.CryptoNetworkResponse import com.tangem.domain.notifications.models.NotificationsEligibleNetwork @@ -13,7 +13,7 @@ internal object NotificationsEligibleNetworkConverter { id = value.networkId, name = blockchain.fullName, symbol = blockchain.currency, - icon = getActiveIconRes(blockchain.id), + icon = getActiveIconRes(blockchain), ) } } \ No newline at end of file diff --git a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/converter/BlockchainRowUMConverter.kt b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/converter/BlockchainRowUMConverter.kt index ed70205959..f5666caa2c 100644 --- a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/converter/BlockchainRowUMConverter.kt +++ b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/converter/BlockchainRowUMConverter.kt @@ -1,9 +1,10 @@ package com.tangem.features.commonfeatures.impl.addtoportfolio.converter +import com.tangem.common.ui.extensions.greyedOutIconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.components.rows.model.BlockchainRowUM -import com.tangem.core.ui.extensions.getActiveIconRes -import com.tangem.core.ui.extensions.getGreyedOutIconRes import com.tangem.domain.markets.TokenMarketInfo +import com.tangem.domain.models.network.Network import com.tangem.lib.crypto.BlockchainUtils import com.tangem.utils.converter.Converter @@ -27,6 +28,7 @@ internal class BlockchainRowUMConverter( val isMainNetwork = network.contractAddress == null val isEnabled = !alreadyAddedNetworks.contains(network.networkId) + val networkRawId = Network.RawID(value = network.networkId) return BlockchainRowUM( id = network.networkId, @@ -34,12 +36,12 @@ internal class BlockchainRowUMConverter( type = getNetworkType(network, blockchainInfo), iconResId = if (isEnabled) { if (isSelected) { - getActiveIconRes(blockchainInfo.blockchainId) + networkRawId.iconResId } else { - getGreyedOutIconRes(blockchainInfo.blockchainId) + networkRawId.greyedOutIconResId } } else { - getGreyedOutIconRes(blockchainInfo.blockchainId) + networkRawId.greyedOutIconResId }, isMainNetwork = isMainNetwork, isSelected = isSelected, diff --git a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/AddTokenUiBuilder.kt b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/AddTokenUiBuilder.kt index 3498931b1d..3356e8a39c 100644 --- a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/AddTokenUiBuilder.kt +++ b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/AddTokenUiBuilder.kt @@ -7,10 +7,10 @@ import com.tangem.common.ui.account.toUM import com.tangem.common.ui.addtoken.AddTokenUM import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.model.ParamsContainer -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.iconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.models.account.AccountStatus.* diff --git a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/TokenActionsUiBuilder.kt b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/TokenActionsUiBuilder.kt index 2e6e031449..4b96d1c78a 100644 --- a/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/TokenActionsUiBuilder.kt +++ b/features/common-features/impl/src/main/java/com/tangem/features/commonfeatures/impl/addtoportfolio/model/TokenActionsUiBuilder.kt @@ -6,7 +6,7 @@ import com.tangem.common.ui.markets.action.TokenActionsHandler import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.model.ParamsContainer -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.stringReference import com.tangem.features.commonfeatures.impl.addtoportfolio.TokenActionsComponent diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/converter/EarnTokenWithCurrencyToListItemUMConverter.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/converter/EarnTokenWithCurrencyToListItemUMConverter.kt index 66f262955c..dfdd8f7610 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/converter/EarnTokenWithCurrencyToListItemUMConverter.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/converter/EarnTokenWithCurrencyToListItemUMConverter.kt @@ -1,6 +1,6 @@ package com.tangem.features.feed.model.converter -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.wrappedList import com.tangem.core.ui.format.bigdecimal.format diff --git a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/filters/state/EarnFilterNetworkConverter.kt b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/filters/state/EarnFilterNetworkConverter.kt index 62f5348e16..347a4269b7 100644 --- a/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/filters/state/EarnFilterNetworkConverter.kt +++ b/features/feed/impl/src/main/kotlin/com/tangem/features/feed/model/earn/filters/state/EarnFilterNetworkConverter.kt @@ -2,7 +2,7 @@ package com.tangem.features.feed.model.earn.filters.state import com.tangem.blockchain.common.Blockchain import com.tangem.blockchainsdk.utils.fromNetworkId -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.getActiveIconRes import com.tangem.domain.earn.model.EarnFilterNetwork import com.tangem.features.feed.ui.earn.state.EarnFilterNetworkUM import com.tangem.utils.converter.Converter @@ -22,7 +22,7 @@ internal class EarnFilterNetworkConverter : Converter.transform(state: NFTCollectionsStateUM): ImmutableList = map { - NFTCollectionUM( - id = it.collectionIdProvider(), - networkIconId = getActiveIconRes(it.network.rawId), - name = it.name.orEmpty(), - description = TextReference.PluralRes( - R.plurals.nft_collections_count, - it.count, - wrappedList(it.count), - ), - logoUrl = it.logoUrl, - assets = it.transformAssets(), - onExpandClick = { - onExpandCollectionClick(it) - }, - isExpanded = it.isExpanded(state), - ) - }.toPersistentList() + private fun List.transform(state: NFTCollectionsStateUM): ImmutableList { + return map { collection -> + NFTCollectionUM( + id = collection.collectionIdProvider(), + networkIconId = collection.network.iconResId, + name = collection.name.orEmpty(), + description = TextReference.PluralRes( + R.plurals.nft_collections_count, + collection.count, + wrappedList(collection.count), + ), + logoUrl = collection.logoUrl, + assets = collection.transformAssets(), + onExpandClick = { onExpandCollectionClick(collection) }, + isExpanded = collection.isExpanded(state), + ) + }.toPersistentList() + } private fun transformNotifications(): ImmutableList = buildList { val nftCollections = walletNFTCollections?.flattenCollections diff --git a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/block/DefaultNFTDetailsBlockComponent.kt b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/block/DefaultNFTDetailsBlockComponent.kt index ff963aefcb..30cd672cd7 100644 --- a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/block/DefaultNFTDetailsBlockComponent.kt +++ b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/block/DefaultNFTDetailsBlockComponent.kt @@ -6,7 +6,7 @@ import com.tangem.common.ui.account.AccountTitleUM import com.tangem.common.ui.account.CryptoPortfolioIconConverter import com.tangem.common.ui.account.toUM import com.tangem.core.decompose.context.AppComponentContext -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.features.nft.component.NFTDetailsBlockComponent @@ -39,7 +39,7 @@ class DefaultNFTDetailsBlockComponent @AssistedInject constructor( AccountTitleUM.Text(params.walletTitle) }, isSuccessScreen = params.isSuccessScreen, - networkIconRes = getActiveIconRes(params.nftAsset.network.rawId), + networkIconRes = params.nftAsset.network.iconResId, ) } diff --git a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/receive/entity/transformer/UpdateDataStateTransformer.kt b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/receive/entity/transformer/UpdateDataStateTransformer.kt index fc0f7c8e99..ca103c70e4 100644 --- a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/receive/entity/transformer/UpdateDataStateTransformer.kt +++ b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/receive/entity/transformer/UpdateDataStateTransformer.kt @@ -2,7 +2,7 @@ package com.tangem.features.nft.receive.entity.transformer import com.tangem.core.ui.components.currency.icon.CurrencyIconState import com.tangem.core.ui.components.rows.model.ChainRowUM -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.iconResId import com.tangem.domain.models.network.Network import com.tangem.domain.nft.models.NFTNetworks import com.tangem.features.nft.receive.entity.NFTNetworkUM @@ -41,7 +41,7 @@ internal class UpdateDataStateTransformer( type = "", icon = CurrencyIconState.CoinIcon( url = null, - fallbackResId = getActiveIconRes(rawId), + fallbackResId = iconResId, isGrayscale = !enabled, shouldShowCustomBadge = custom, ), diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/converter/HotTokenItemStateConverter.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/converter/HotTokenItemStateConverter.kt index a9e87d2738..557dd5b1d9 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/converter/HotTokenItemStateConverter.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/converter/HotTokenItemStateConverter.kt @@ -1,6 +1,6 @@ package com.tangem.features.onramp.hottokens.converter -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.marketprice.PriceChangeType import com.tangem.core.ui.components.marketprice.utils.PriceChangeConverter import com.tangem.core.ui.components.token.state.TokenItemState diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddTokenUiBuilder.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddTokenUiBuilder.kt index fe12663f1f..a8408116b9 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddTokenUiBuilder.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddTokenUiBuilder.kt @@ -7,10 +7,10 @@ import com.tangem.common.ui.account.toUM import com.tangem.common.ui.addtoken.AddTokenUM import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.model.ParamsContainer -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.iconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.account.status.usecase.IsAccountsModeEnabledUseCase diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/tokenlist/entity/utils/OnrampTokenItemStateConverterFactory.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/tokenlist/entity/utils/OnrampTokenItemStateConverterFactory.kt index 7939ad13ad..f1e42dc86e 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/tokenlist/entity/utils/OnrampTokenItemStateConverterFactory.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/tokenlist/entity/utils/OnrampTokenItemStateConverterFactory.kt @@ -4,7 +4,7 @@ import com.tangem.common.getTotalCryptoAmount import com.tangem.common.getTotalFiatAmount import com.tangem.common.ui.tokens.TokenItemStateConverter import com.tangem.common.ui.tokens.TokenItemStateConverter.Companion.isFlickering -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.stringReference diff --git a/features/referral/impl/src/main/java/com/tangem/feature/referral/model/AccountAwardConverter.kt b/features/referral/impl/src/main/java/com/tangem/feature/referral/model/AccountAwardConverter.kt index cc1e154773..71681de87f 100644 --- a/features/referral/impl/src/main/java/com/tangem/feature/referral/model/AccountAwardConverter.kt +++ b/features/referral/impl/src/main/java/com/tangem/feature/referral/model/AccountAwardConverter.kt @@ -6,7 +6,7 @@ import com.tangem.common.ui.account.CryptoPortfolioIconConverter import com.tangem.common.ui.account.PortfolioSelectUM import com.tangem.common.ui.account.toUM import com.tangem.common.ui.tokens.TokenItemStateConverter.Companion.isFlickering -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.format.bigdecimal.crypto diff --git a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/networkselection/model/NetworkSelectionModel.kt b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/networkselection/model/NetworkSelectionModel.kt index 3a48260b02..8115f88043 100644 --- a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/networkselection/model/NetworkSelectionModel.kt +++ b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/networkselection/model/NetworkSelectionModel.kt @@ -11,7 +11,7 @@ import com.tangem.core.decompose.model.ParamsContainer import com.tangem.common.ui.account.AccountIconItemStateConverter import com.tangem.core.ui.components.account.AccountIconSize import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.CurrencyIconStateBuilder +import com.tangem.common.ui.components.currency.icon.CurrencyIconStateBuilder import com.tangem.core.ui.components.fields.entity.SearchBarUM import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.resourceReference diff --git a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/amount/model/SendAmountModel.kt b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/amount/model/SendAmountModel.kt index bb7eccfa3b..21709e238a 100644 --- a/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/amount/model/SendAmountModel.kt +++ b/features/send-v2/impl/src/main/java/com/tangem/features/send/v2/subcomponents/amount/model/SendAmountModel.kt @@ -15,7 +15,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.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.WrappedList import com.tangem.core.ui.extensions.resourceReference import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt index 8a299e98ef..43b6a85abb 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt @@ -5,7 +5,7 @@ import com.tangem.common.ui.amountScreen.converters.AmountAccountConverter import com.tangem.common.ui.amountScreen.converters.AmountStateConverter import com.tangem.common.ui.amountScreen.models.AmountParameters import com.tangem.common.ui.amountScreen.models.EnterAmountBoundary -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.appcurrency.model.AppCurrency diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt index c6c30d4bcb..97e0137e20 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt @@ -8,7 +8,7 @@ import com.tangem.common.ui.amountScreen.models.AmountParameters import com.tangem.common.ui.amountScreen.models.AmountState import com.tangem.common.ui.amountScreen.models.EnterAmountBoundary import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.list.RoundedListWithDividersItemData import com.tangem.core.ui.extensions.* import com.tangem.core.ui.format.bigdecimal.crypto diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt index 1786ed1195..f4faa5db34 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/AddStakingNotificationsTransformer.kt @@ -10,7 +10,7 @@ import com.tangem.common.ui.notifications.NotificationsFactory.addFeeUnreachable import com.tangem.common.ui.notifications.NotificationsFactory.addRentExemptionNotification import com.tangem.common.ui.notifications.NotificationsFactory.addReserveAmountErrorNotification import com.tangem.common.ui.notifications.NotificationsFactory.addTransactionLimitErrorNotification -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.models.currency.CryptoCurrency diff --git a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/amount/model/converter/SwapAmountFieldConverter.kt b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/amount/model/converter/SwapAmountFieldConverter.kt index 0684369b44..32c4a0f2b7 100644 --- a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/amount/model/converter/SwapAmountFieldConverter.kt +++ b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/amount/model/converter/SwapAmountFieldConverter.kt @@ -6,7 +6,7 @@ import com.tangem.common.ui.amountScreen.converters.AmountAccountConverter import com.tangem.common.ui.amountScreen.converters.AmountStateConverter import com.tangem.common.ui.amountScreen.converters.MaxEnterAmountConverter import com.tangem.common.ui.amountScreen.models.AmountParameters -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.* import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.models.account.Account @@ -77,7 +77,7 @@ internal class SwapAmountFieldConverter( walletTitle = walletTitle, prefixText = when { swapAmountType.isEnteringField() -> resourceReference(R.string.common_from) - else -> TextReference.Companion.EMPTY + else -> TextReference.EMPTY }, ).convert(account) }, diff --git a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/choosetoken/fromSupported/model/transformers/SwapChooseContentStateTransformer.kt b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/choosetoken/fromSupported/model/transformers/SwapChooseContentStateTransformer.kt index 39b0819d33..438a0673b8 100644 --- a/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/choosetoken/fromSupported/model/transformers/SwapChooseContentStateTransformer.kt +++ b/features/swap-v2/impl/src/main/java/com/tangem/features/swap/v2/impl/choosetoken/fromSupported/model/transformers/SwapChooseContentStateTransformer.kt @@ -1,6 +1,6 @@ package com.tangem.features.swap.v2.impl.choosetoken.fromSupported.model.transformers -import com.tangem.core.ui.extensions.iconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.express.models.ExpressRateType import com.tangem.domain.models.currency.CryptoCurrency diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/converters/AccountTokenItemConverter.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/converters/AccountTokenItemConverter.kt index 333bb5087c..99118c8304 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/converters/AccountTokenItemConverter.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/converters/AccountTokenItemConverter.kt @@ -9,7 +9,7 @@ import com.tangem.common.ui.account.toUM import com.tangem.common.ui.tokens.TokenItemStateConverter import com.tangem.common.ui.tokens.TokenItemStateConverter.Companion.isFlickering import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.components.token.state.TokenItemState.FiatAmountState import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM @@ -180,14 +180,14 @@ internal class AccountTokenItemConverter( status: CryptoCurrencyStatus, appCurrency: AppCurrency, isAvailable: Boolean, - ): TokenItemState.FiatAmountState? { + ): FiatAmountState? { return when (status.value) { is CryptoCurrencyStatus.Loaded, is CryptoCurrencyStatus.Custom, is CryptoCurrencyStatus.NoQuote, is CryptoCurrencyStatus.NoAccount, -> { - TokenItemState.FiatAmountState.TextContent( + FiatAmountState.TextContent( text = status.getTotalFiatAmount().format { fiat( fiatCurrencyCode = appCurrency.code, diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt index 96a0293a82..d6c929a2f5 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt @@ -4,7 +4,7 @@ import com.tangem.common.ui.R import com.tangem.common.ui.notifications.NotificationUM import com.tangem.core.ui.components.notifications.NotificationConfig import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.wrappedList import com.tangem.domain.models.currency.CryptoCurrency diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt index dfb24bc959..bc7e3c6bb1 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt @@ -11,7 +11,8 @@ import com.tangem.common.ui.bottomsheet.permission.state.* import com.tangem.common.ui.notifications.NotificationUM import com.tangem.common.ui.userwallet.ext.walletInterationIcon import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.* import com.tangem.core.ui.format.bigdecimal.* import com.tangem.core.ui.res.TangemTheme @@ -91,7 +92,7 @@ internal class StateBuilder( canSelectAnotherToken = false, isNotNativeToken = initialCurrencyFrom is CryptoCurrency.Token, balance = "", - networkIconRes = getActiveIconRes(initialCurrencyFrom.network.rawId), + networkIconRes = initialCurrencyFrom.network.iconResId, isBalanceHidden = true, ), receiveCardData = SwapCardState.SwapCardData( @@ -104,7 +105,7 @@ internal class StateBuilder( canSelectAnotherToken = false, balance = "", isNotNativeToken = initialCurrencyTo is CryptoCurrency.Token, - networkIconRes = initialCurrencyTo?.let { getActiveIconRes(it.network.rawId) }, + networkIconRes = initialCurrencyTo?.network?.iconResId, coinId = initialCurrencyTo?.network?.rawId, isBalanceHidden = true, ), @@ -147,7 +148,7 @@ internal class StateBuilder( tokenCurrency = fromToken.currency.symbol, canSelectAnotherToken = uiStateHolder.sendCardData.canSelectAnotherToken, balance = fromToken.getFormattedAmount(isNeedSymbol = false), - networkIconRes = getActiveIconRes(fromToken.currency.network.rawId), + networkIconRes = fromToken.currency.network.iconResId, isBalanceHidden = isBalanceHiddenProvider(), ), receiveCardData = SwapCardState.Empty( @@ -198,7 +199,7 @@ internal class StateBuilder( tokenCurrency = fromToken.currency.symbol, canSelectAnotherToken = canSelectSendToken, balance = fromToken.getFormattedAmount(isNeedSymbol = false), - networkIconRes = getActiveIconRes(fromToken.currency.network.rawId), + networkIconRes = fromToken.currency.network.iconResId, isBalanceHidden = isBalanceHiddenProvider(), ), receiveCardData = SwapCardState.SwapCardData( @@ -216,7 +217,7 @@ internal class StateBuilder( tokenCurrency = toToken.currency.symbol, canSelectAnotherToken = canSelectReceiveToken, balance = toToken.getFormattedAmount(isNeedSymbol = false), - networkIconRes = getActiveIconRes(toToken.currency.network.rawId), + networkIconRes = toToken.currency.network.iconResId, isBalanceHidden = isBalanceHiddenProvider(), ), notifications = notificationsFactory.getSwapNotSupportedNotifications(), @@ -267,7 +268,7 @@ internal class StateBuilder( isNotNativeToken = fromToken is CryptoCurrency.Token, canSelectAnotherToken = canSelectSendToken, balance = if (!canSelectSendToken) uiStateHolder.sendCardData.balance else "", - networkIconRes = getActiveIconRes(fromToken.network.rawId), + networkIconRes = fromToken.network.iconResId, isBalanceHidden = isBalanceHiddenProvider(), ), receiveCardData = SwapCardState.SwapCardData( @@ -283,7 +284,7 @@ internal class StateBuilder( isNotNativeToken = toToken is CryptoCurrency.Token, canSelectAnotherToken = canSelectReceiveToken, balance = if (!canSelectReceiveToken) uiStateHolder.receiveCardData.balance else "", - networkIconRes = getActiveIconRes(toToken.network.rawId), + networkIconRes = toToken.network.iconResId, isBalanceHidden = isBalanceHiddenProvider(), ), notifications = persistentListOf(), diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt index 10d12201f0..6716c863b8 100644 --- a/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt +++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt @@ -31,13 +31,18 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.constraintlayout.compose.ConstraintLayout import com.tangem.common.ui.bottomsheet.permission.state.GiveTxPermissionState +import com.tangem.common.ui.extensions.iconResId import com.tangem.common.ui.notifications.NotificationUM import com.tangem.core.ui.components.* import com.tangem.core.ui.components.notifications.Notification -import com.tangem.core.ui.extensions.* +import com.tangem.core.ui.extensions.orMaskWithStars +import com.tangem.core.ui.extensions.resolveReference +import com.tangem.core.ui.extensions.stringReference +import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview import com.tangem.core.ui.test.SwapTokenScreenTestTags +import com.tangem.domain.models.network.Network import com.tangem.feature.swap.domain.models.ui.FeeType import com.tangem.feature.swap.domain.models.ui.PriceImpact import com.tangem.feature.swap.models.* @@ -184,7 +189,7 @@ private fun TransactionCardData( priceImpact = priceImpact, networkIconRes = if (swapCardState.isNotNativeToken) swapCardState.networkIconRes else null, iconPlaceholder = swapCardState.coinId?.let { - getActiveIconResByCoinId(it) + Network.RawID(it).iconResId }, onChangeTokenClick = if (swapCardState.canSelectAnotherToken) onSelectTokenClick else null, modifier = modifier, diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/excludedblockchains/state/mapper/BlockchainsMappings.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/excludedblockchains/state/mapper/BlockchainsMappings.kt index d27b8b8c7c..2e4df298b7 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/excludedblockchains/state/mapper/BlockchainsMappings.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/excludedblockchains/state/mapper/BlockchainsMappings.kt @@ -1,7 +1,7 @@ package com.tangem.feature.tester.presentation.excludedblockchains.state.mapper import com.tangem.blockchain.common.Blockchain -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.getActiveIconRes import com.tangem.feature.tester.presentation.excludedblockchains.state.BlockchainUM internal fun List.toUiModels( @@ -25,7 +25,7 @@ private fun Blockchain.toUiModel(isExcluded: Boolean, onExcludedStateChange: (Bo id = id, name = name, symbol = currency, - iconResId = getActiveIconRes(id), + iconResId = getActiveIconRes(this), isExcluded = isExcluded, onExcludedStateChange = onExcludedStateChange, ) \ No newline at end of file diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt index 744c5f95b3..71c83f80a2 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt @@ -34,7 +34,8 @@ import com.tangem.core.ui.components.TextInputDialog import com.tangem.core.ui.components.fields.SearchBar import com.tangem.core.ui.components.fields.entity.SearchBarUM import com.tangem.core.ui.components.rows.RowText -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.blockchain.common.Blockchain +import com.tangem.common.ui.extensions.getActiveIconRes import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme @@ -150,7 +151,7 @@ private fun BlockchainRow(state: ProvidersUM, onExpandStateChange: () -> Unit) { ) { Row(verticalAlignment = Alignment.CenterVertically) { Image( - painter = painterResource(id = getActiveIconRes(state.blockchainId)), + painter = painterResource(id = getActiveIconRes(Blockchain.fromId(state.blockchainId))), contentDescription = null, modifier = Modifier.size(TangemTheme.dimens.size36), ) diff --git a/features/token-recieve/impl/src/main/java/com/tangem/features/tokenreceive/entity/TokenReceiveStateFactory.kt b/features/token-recieve/impl/src/main/java/com/tangem/features/tokenreceive/entity/TokenReceiveStateFactory.kt index 8ca7790141..401e005148 100644 --- a/features/token-recieve/impl/src/main/java/com/tangem/features/tokenreceive/entity/TokenReceiveStateFactory.kt +++ b/features/token-recieve/impl/src/main/java/com/tangem/features/tokenreceive/entity/TokenReceiveStateFactory.kt @@ -4,8 +4,9 @@ import androidx.compose.ui.graphics.Color import com.tangem.common.ui.notifications.NotificationUM import com.tangem.core.ui.R import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.notifications.NotificationConfig +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.* import com.tangem.domain.models.ReceiveAddressModel import com.tangem.domain.models.TokenReceiveNotification diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/ExchangeStatusNotification.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/ExchangeStatusNotification.kt index c36b62c6e9..87911aada9 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/ExchangeStatusNotification.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/ExchangeStatusNotification.kt @@ -4,7 +4,7 @@ import androidx.compose.runtime.Immutable import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.withStyle -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.notifications.CurrencyNotificationConfig import com.tangem.core.ui.components.notifications.NotificationConfig import com.tangem.core.ui.extensions.resourceReference diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt index feb6279306..b8f740b9fe 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt @@ -4,7 +4,7 @@ import androidx.compose.runtime.Immutable import com.tangem.common.ui.userwallet.ext.walletInterationIcon import com.tangem.core.ui.components.notifications.NotificationConfig import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.wrappedList import com.tangem.core.ui.format.bigdecimal.crypto diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsIconStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsIconStateConverter.kt index df9bd31b13..71b5322124 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsIconStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsIconStateConverter.kt @@ -1,7 +1,7 @@ package com.tangem.feature.tokendetails.presentation.tokendetails.state.factory import com.tangem.core.ui.extensions.getTintForTokenIcon -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.tryGetBackgroundForTokenIcon import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.feature.tokendetails.presentation.tokendetails.state.IconState diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt index 52acac7843..2181819a15 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt @@ -5,7 +5,7 @@ import com.tangem.common.ui.notifications.ExpressNotificationsUM import com.tangem.common.ui.notifications.NotificationUM import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.extensions.wrappedList diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt index 649b2b064a..e0633eb981 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt @@ -5,7 +5,7 @@ import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfi import com.tangem.core.ui.components.dropdownmenu.TangemDropdownMenuItem import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.networkIconResId +import com.tangem.common.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.themedColor import com.tangem.core.ui.res.TangemTheme diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt index bc8cbf7110..78540b1ba8 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt @@ -5,7 +5,7 @@ import com.tangem.common.ui.expressStatus.state.ExpressStatusUM import com.tangem.common.ui.expressStatus.state.ExpressTransactionStateIconUM import com.tangem.common.ui.expressStatus.state.ExpressTransactionStateInfoUM import com.tangem.core.analytics.api.AnalyticsEventHandler -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/transformer/InitializeWithCryptoCurrencyTransformer.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/transformer/InitializeWithCryptoCurrencyTransformer.kt index 3ecf879fe4..8a219600dc 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/transformer/InitializeWithCryptoCurrencyTransformer.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/transformer/InitializeWithCryptoCurrencyTransformer.kt @@ -1,6 +1,6 @@ package com.tangem.feature.tokendetails.presentation.tokendetails.state.transformer -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.extensions.stringReference import com.tangem.domain.models.currency.CryptoCurrency diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/CryptoCurrencyToDraggableItemConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/CryptoCurrencyToDraggableItemConverter.kt index cd6c995427..fbb6c4d0a4 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/CryptoCurrencyToDraggableItemConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/CryptoCurrencyToDraggableItemConverter.kt @@ -1,6 +1,6 @@ package com.tangem.feature.wallet.child.organizetokens.model.converter.items -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.token.state.TokenItemState import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.format.bigdecimal.BigDecimalFormatConstants diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/OrganizeTokenItemConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/OrganizeTokenItemConverter.kt index c1cfa0e69b..cff0b79404 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/OrganizeTokenItemConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/organizetokens/model/converter/items/OrganizeTokenItemConverter.kt @@ -3,7 +3,7 @@ package com.tangem.feature.wallet.child.organizetokens.model.converter.items import androidx.compose.ui.text.SpanStyle import com.tangem.common.getTotalCryptoAmount import com.tangem.common.getTotalFiatAmount -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.ds.image.TangemIconUM import com.tangem.core.ui.ds.row.internal.TangemRowTailUM import com.tangem.core.ui.ds.row.token.TangemTokenRowUM diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt index 3df7db2bb6..0114ea6e72 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt @@ -5,7 +5,7 @@ import com.tangem.common.ui.notifications.ExpressNotificationsUM import com.tangem.common.ui.notifications.NotificationUM import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.ui.components.currency.icon.CurrencyIconState -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.extensions.wrappedList diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt index 77c5ee9b32..06c31c47b7 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt @@ -3,7 +3,7 @@ package com.tangem.feature.wallet.presentation.wallet.state.transformers.convert import androidx.compose.ui.text.SpanStyle import com.tangem.common.getTotalCryptoAmount import com.tangem.common.getTotalFiatAmount -import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter +import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter import com.tangem.core.ui.components.marketprice.PriceChangeState import com.tangem.core.ui.components.marketprice.PriceChangeType import com.tangem.core.ui.ds.badge.* diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectedAppInfoModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectedAppInfoModel.kt index bef2fd2b82..4ce0752d54 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectedAppInfoModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcConnectedAppInfoModel.kt @@ -8,7 +8,7 @@ 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.decompose.ui.UiMessageSender -import com.tangem.core.ui.extensions.iconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.message.SnackbarMessage diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcSelectNetworksModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcSelectNetworksModel.kt index f87b309971..6731ddb78e 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcSelectNetworksModel.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/WcSelectNetworksModel.kt @@ -1,12 +1,12 @@ package com.tangem.features.walletconnect.connections.model import androidx.compose.runtime.Stable +import com.tangem.common.ui.extensions.greyedOutIconResId +import com.tangem.common.ui.extensions.iconResId 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.decompose.navigation.Router -import com.tangem.core.ui.extensions.getGreyedOutIconRes -import com.tangem.core.ui.extensions.iconResId import com.tangem.domain.models.network.Network import com.tangem.features.walletconnect.connections.components.WcSelectNetworksComponent.WcSelectNetworksParams import com.tangem.features.walletconnect.connections.entity.WcNetworkInfoItem @@ -67,7 +67,7 @@ internal class WcSelectNetworksModel @Inject constructor( missing = params.missingRequiredNetworks.map { network -> WcNetworkInfoItem.Required( id = network.rawId, - icon = getGreyedOutIconRes(network.rawId), + icon = network.greyedOutIconResId, name = network.name, symbol = network.currencySymbol, ) @@ -95,7 +95,7 @@ internal class WcSelectNetworksModel @Inject constructor( notAdded = params.notAddedNetworks.map { network -> WcNetworkInfoItem.ReadOnly( id = network.rawId, - icon = getGreyedOutIconRes(network.rawId), + icon = network.greyedOutIconResId, name = network.name, symbol = network.currencySymbol, ) diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/transformers/WcNetworksInfoConverter.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/transformers/WcNetworksInfoConverter.kt index ee51c67235..d57b9716e4 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/transformers/WcNetworksInfoConverter.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/connections/model/transformers/WcNetworksInfoConverter.kt @@ -1,6 +1,6 @@ package com.tangem.features.walletconnect.connections.model.transformers -import com.tangem.core.ui.extensions.iconResId +import com.tangem.common.ui.extensions.iconResId import com.tangem.domain.models.network.Network import com.tangem.features.walletconnect.connections.entity.WcNetworkInfoItem import com.tangem.features.walletconnect.connections.entity.WcNetworksInfo diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcNetworkInfoUMConverter.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcNetworkInfoUMConverter.kt index 31b58c91d4..90abbf6d74 100644 --- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcNetworkInfoUMConverter.kt +++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/converter/WcNetworkInfoUMConverter.kt @@ -1,6 +1,6 @@ package com.tangem.features.walletconnect.transaction.converter -import com.tangem.core.ui.extensions.getActiveIconRes +import com.tangem.common.ui.extensions.iconResId import com.tangem.domain.models.network.Network import com.tangem.features.walletconnect.transaction.entity.common.WcNetworkInfoUM import com.tangem.utils.converter.Converter @@ -10,6 +10,6 @@ internal class WcNetworkInfoUMConverter @Inject constructor() : Converter