Updated on 2026-08-14
This commit is contained in:
parent
91942930d6
commit
6b75b48f1e
61 changed files with 193 additions and 436 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -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())
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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.*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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<EarnFilterNetwork, EarnFil
|
|||
id = value.id,
|
||||
text = value.fullName,
|
||||
symbol = value.symbol,
|
||||
iconRes = getActiveIconRes(Blockchain.fromNetworkId(value.id)?.id.orEmpty()),
|
||||
iconRes = getActiveIconRes(Blockchain.fromNetworkId(value.id) ?: Blockchain.Unknown),
|
||||
isSelected = value.isSelected,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ package com.tangem.features.feed.model.search.converter
|
|||
|
||||
import com.tangem.common.ui.markets.toMarketsListItemPriceAnnotated
|
||||
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.marketprice.PriceChangeState
|
||||
import com.tangem.core.ui.components.marketprice.PriceChangeType
|
||||
import com.tangem.core.ui.ds.image.TangemIconUM
|
||||
import com.tangem.core.ui.extensions.networkIconResId
|
||||
import com.tangem.common.ui.extensions.networkIconResId
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.format.bigdecimal.crypto
|
||||
import com.tangem.core.ui.format.bigdecimal.fiat
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.tangem.features.feed.model.search.state.transformers
|
||||
|
||||
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.image.TangemIconUM
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
package com.tangem.features.managetokens.utils.ui
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import com.tangem.core.ui.extensions.getActiveIconRes
|
||||
import com.tangem.core.ui.extensions.getGreyedOutIconRes
|
||||
import com.tangem.common.ui.extensions.greyedOutIconResId
|
||||
import com.tangem.common.ui.extensions.iconResId
|
||||
import com.tangem.domain.models.network.Network
|
||||
import com.tangem.features.managetokens.entity.item.CurrencyNetworkUM
|
||||
|
||||
|
|
@ -15,7 +15,7 @@ internal fun CurrencyNetworkUM.select(isSelected: Boolean): CurrencyNetworkUM {
|
|||
|
||||
@DrawableRes
|
||||
internal fun Network.ID.getIconRes(isColored: Boolean): Int = if (isColored) {
|
||||
getActiveIconRes(rawId.value)
|
||||
this.iconResId
|
||||
} else {
|
||||
getGreyedOutIconRes(rawId.value)
|
||||
this.greyedOutIconResId
|
||||
}
|
||||
|
|
@ -3,9 +3,13 @@ package com.tangem.features.nft.collections.entity.transformer
|
|||
import com.tangem.common.ui.account.AccountTitleUM
|
||||
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||
import com.tangem.common.ui.account.toUM
|
||||
import com.tangem.common.ui.extensions.iconResId
|
||||
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
||||
import com.tangem.core.ui.components.notifications.NotificationConfig
|
||||
import com.tangem.core.ui.extensions.*
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.core.ui.format.bigdecimal.crypto
|
||||
import com.tangem.core.ui.format.bigdecimal.format
|
||||
import com.tangem.domain.models.account.Account
|
||||
|
|
@ -118,24 +122,24 @@ internal class UpdateDataStateTransformer(
|
|||
.map { it.collections.orEmpty().transform(this) }
|
||||
.flatten()
|
||||
|
||||
private fun List<NFTCollection>.transform(state: NFTCollectionsStateUM): ImmutableList<NFTCollectionUM> = 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<NFTCollection>.transform(state: NFTCollectionsStateUM): ImmutableList<NFTCollectionUM> {
|
||||
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<NFTCollectionsWarningUM> = buildList {
|
||||
val nftCollections = walletNFTCollections?.flattenCollections
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(),
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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<Blockchain>.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,
|
||||
)
|
||||
|
|
@ -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),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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<Networ
|
|||
|
||||
override fun convert(value: Network) = WcNetworkInfoUM(
|
||||
name = value.name,
|
||||
iconRes = getActiveIconRes(value.rawId),
|
||||
iconRes = value.iconResId,
|
||||
)
|
||||
}
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
package com.tangem.features.walletconnect.transaction.ui.blockaid
|
||||
|
||||
import com.tangem.core.ui.extensions.TextReference
|
||||
import com.tangem.core.ui.extensions.getActiveIconRes
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.common.ui.extensions.getActiveIconRes
|
||||
import com.tangem.domain.walletconnect.model.WcApprovedAmount
|
||||
import com.tangem.features.walletconnect.impl.R
|
||||
import com.tangem.features.walletconnect.transaction.entity.approve.WcSpendAllowanceUM
|
||||
|
|
@ -22,7 +23,7 @@ internal class WcSpendAllowanceUMConverter : Converter<WcSpendAllowanceUMConvert
|
|||
isUnlimited = isUnlimited,
|
||||
tokenSymbol = value.approvedAmount.amount?.currencySymbol ?: "",
|
||||
tokenImageUrl = value.approvedAmount.logoUrl,
|
||||
networkIconRes = value.approvedAmount.chainId?.toString()?.let { getActiveIconRes(it) },
|
||||
networkIconRes = value.approvedAmount.chainId?.toString()?.let { getActiveIconRes(Blockchain.fromId(it)) },
|
||||
onLearnMoreClicked = value.onLearnMoreClick,
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package com.tangem.features.yield.supply.impl.subcomponents.approve.model
|
||||
|
||||
import arrow.core.getOrElse
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import com.tangem.blockchain.common.TransactionData
|
||||
import com.tangem.blockchain.common.transaction.TransactionFee
|
||||
import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.analytics.models.Basic
|
||||
|
|
@ -11,7 +11,6 @@ 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.navigation.url.UrlOpener
|
||||
import com.tangem.core.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
|
||||
|
|
@ -42,6 +41,7 @@ import com.tangem.features.yield.supply.impl.subcomponents.notifications.YieldSu
|
|||
import com.tangem.features.yield.supply.impl.subcomponents.notifications.entity.YieldSupplyNotificationData
|
||||
import com.tangem.utils.TangemBlogUrlBuilder
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import com.tangem.utils.transformer.update
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.coroutines.flow.*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,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.navigation.Router
|
||||
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.wrappedList
|
||||
import com.tangem.features.yield.supply.api.analytics.YieldSupplyAnalytics
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
package com.tangem.features.yield.supply.impl.subcomponents.startearning.model
|
||||
|
||||
import arrow.core.getOrElse
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import com.tangem.blockchain.common.TransactionSender
|
||||
import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.analytics.models.Basic
|
||||
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.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.datasource.local.appsflyer.AppsFlyerStore
|
||||
|
|
@ -41,6 +40,7 @@ import com.tangem.features.yield.supply.impl.subcomponents.startearning.YieldSup
|
|||
import com.tangem.features.yield.supply.impl.subcomponents.startearning.model.transformers.YieldSupplyStartEarningFeeContentTransformer
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.extensions.orZero
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import com.tangem.utils.transformer.update
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.tangem.features.yield.supply.impl.subcomponents.stopearning.model
|
||||
|
||||
import arrow.core.getOrElse
|
||||
import com.tangem.common.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||
import com.tangem.core.analytics.models.AnalyticsParam
|
||||
import com.tangem.core.analytics.models.Basic
|
||||
|
|
@ -8,16 +9,15 @@ 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.navigation.url.UrlOpener
|
||||
import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
||||
import com.tangem.core.ui.extensions.resourceReference
|
||||
import com.tangem.core.ui.extensions.wrappedList
|
||||
import com.tangem.datasource.local.appsflyer.AppsFlyerStore
|
||||
import com.tangem.domain.account.status.usecase.GetFeePaidCryptoCurrencyStatusSyncUseCase
|
||||
import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase
|
||||
import com.tangem.domain.appcurrency.model.AppCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.models.wallet.isHotWallet
|
||||
import com.tangem.domain.account.status.usecase.GetFeePaidCryptoCurrencyStatusSyncUseCase
|
||||
import com.tangem.domain.transaction.usecase.GetFeeUseCase
|
||||
import com.tangem.domain.transaction.usecase.SendTransactionUseCase
|
||||
import com.tangem.domain.yield.supply.INCREASE_GAS_LIMIT_FOR_SUPPLY
|
||||
|
|
@ -42,10 +42,10 @@ import com.tangem.features.yield.supply.impl.subcomponents.stopearning.model.tra
|
|||
import com.tangem.utils.TangemBlogUrlBuilder
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.extensions.orZero
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import com.tangem.utils.transformer.update
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.launch
|
||||
import com.tangem.utils.logging.TangemLogger
|
||||
import javax.inject.Inject
|
||||
|
||||
@Suppress("LongParameterList")
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import androidx.compose.runtime.Stable
|
|||
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.features.yield.supply.api.YieldSupplyDepositedWarningComponent
|
||||
import com.tangem.features.yield.supply.impl.warning.ui.YieldSupplyDepositedWarningUM
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue