Updated on 2026-08-14
This commit is contained in:
parent
095c755362
commit
75e6da7cee
4 changed files with 24 additions and 4 deletions
|
|
@ -216,6 +216,7 @@ sealed class CryptoCurrency {
|
|||
private const val DERIVATION_PATH_DELIMITER = '\u2192' // →
|
||||
|
||||
private const val ID_PARTS_COUNT = 3
|
||||
const val MAIN_NETWORK_TYPE_NAME = "MAIN"
|
||||
|
||||
/**
|
||||
* Creates an [ID] from a string [value].
|
||||
|
|
|
|||
|
|
@ -36,5 +36,6 @@ internal data class SwapChooseNetworkUM(
|
|||
val subtitle: TextReference,
|
||||
@DrawableRes val iconResId: Int,
|
||||
val hasFixedRate: Boolean,
|
||||
val isMainNetwork: Boolean,
|
||||
val onNetworkClick: () -> Unit,
|
||||
)
|
||||
|
|
@ -4,6 +4,7 @@ import com.tangem.core.ui.extensions.iconResId
|
|||
import com.tangem.core.ui.extensions.stringReference
|
||||
import com.tangem.domain.express.models.ExpressRateType
|
||||
import com.tangem.domain.models.currency.CryptoCurrency
|
||||
import com.tangem.domain.models.currency.CryptoCurrency.ID.Companion.MAIN_NETWORK_TYPE_NAME
|
||||
import com.tangem.domain.swap.models.SwapCurrencies
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.entity.SwapChooseNetworkUM
|
||||
import com.tangem.features.swap.v2.impl.choosetoken.fromSupported.entity.SwapChooseTokenNetworkContentUM
|
||||
|
|
@ -21,10 +22,16 @@ internal class SwapChooseContentStateTransformer(
|
|||
override fun transform(prevState: SwapChooseTokenNetworkUM): SwapChooseTokenNetworkUM {
|
||||
val swapNetworks = pairs.fromGroup.available.map {
|
||||
val network = it.currencyStatus.currency.network
|
||||
val isMain = it.currencyStatus.currency is CryptoCurrency.Coin
|
||||
SwapChooseNetworkUM(
|
||||
title = stringReference(network.name),
|
||||
subtitle = stringReference(network.standardType.name),
|
||||
subtitle = if (isMain) {
|
||||
stringReference(MAIN_NETWORK_TYPE_NAME)
|
||||
} else {
|
||||
stringReference(network.standardType.name)
|
||||
},
|
||||
iconResId = network.iconResId,
|
||||
isMainNetwork = isMain,
|
||||
hasFixedRate = it.providers.any { it.rateTypes.any { it == ExpressRateType.Fixed } },
|
||||
onNetworkClick = { onNetworkClick(it.currencyStatus.currency) },
|
||||
)
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ private fun SwapChooseTokenNetworkContentList(swapNetworks: ImmutableList<SwapCh
|
|||
swapNetworks.fastForEach { network ->
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.spacedBy(12.dp),
|
||||
horizontalArrangement = Arrangement.spacedBy(6.dp),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.clickable(
|
||||
|
|
@ -117,14 +117,19 @@ private fun SwapChooseTokenNetworkContentList(swapNetworks: ImmutableList<SwapCh
|
|||
contentDescription = null,
|
||||
)
|
||||
Text(
|
||||
modifier = Modifier.padding(start = 6.dp),
|
||||
text = network.title.resolveReference(),
|
||||
style = TangemTheme.typography.subtitle2,
|
||||
color = TangemTheme.colors.text.primary1,
|
||||
)
|
||||
Text(
|
||||
text = network.subtitle.resolveReference(),
|
||||
style = TangemTheme.typography.body2,
|
||||
color = TangemTheme.colors.text.tertiary,
|
||||
style = TangemTheme.typography.caption1,
|
||||
color = if (network.isMainNetwork) {
|
||||
TangemTheme.colors.text.accent
|
||||
} else {
|
||||
TangemTheme.colors.text.tertiary
|
||||
},
|
||||
)
|
||||
if (network.hasFixedRate) {
|
||||
SpacerWMax()
|
||||
|
|
@ -218,6 +223,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_cardano_22,
|
||||
hasFixedRate = false,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = true,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -243,6 +249,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_cardano_22,
|
||||
hasFixedRate = false,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = true,
|
||||
),
|
||||
SwapChooseNetworkUM(
|
||||
title = stringReference("BNB Smart Chain"),
|
||||
|
|
@ -250,6 +257,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_bsc_22,
|
||||
hasFixedRate = false,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = false,
|
||||
),
|
||||
SwapChooseNetworkUM(
|
||||
title = stringReference("BNB Smart Chain"),
|
||||
|
|
@ -257,6 +265,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_bsc_22,
|
||||
hasFixedRate = true,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = false,
|
||||
),
|
||||
SwapChooseNetworkUM(
|
||||
title = stringReference("BNB Smart Chain"),
|
||||
|
|
@ -264,6 +273,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_bsc_22,
|
||||
hasFixedRate = false,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = false,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
@ -291,6 +301,7 @@ private class PreviewProvider : PreviewParameterProvider<SwapChooseTokenNetworkC
|
|||
iconResId = R.drawable.img_cardano_22,
|
||||
hasFixedRate = false,
|
||||
onNetworkClick = {},
|
||||
isMainNetwork = true,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue