Updated on 2026-08-14
This commit is contained in:
parent
d4c932d3c3
commit
5db8900311
40 changed files with 198 additions and 88 deletions
|
|
@ -6,6 +6,7 @@ import com.tangem.common.ui.R
|
||||||
import com.tangem.core.ui.components.account.AccountCharIcon
|
import com.tangem.core.ui.components.account.AccountCharIcon
|
||||||
import com.tangem.core.ui.components.account.AccountIconSize
|
import com.tangem.core.ui.components.account.AccountIconSize
|
||||||
import com.tangem.core.ui.components.account.AccountResIcon
|
import com.tangem.core.ui.components.account.AccountResIcon
|
||||||
|
import com.tangem.core.ui.components.account.PaymentAccountIcon
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.core.ui.extensions.resolveReference
|
import com.tangem.core.ui.extensions.resolveReference
|
||||||
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
||||||
|
|
@ -16,7 +17,7 @@ import com.tangem.domain.models.account.CryptoPortfolioIcon.Color
|
||||||
* - a single character (derived from the [name]) using [AccountCharIcon], or
|
* - a single character (derived from the [name]) using [AccountCharIcon], or
|
||||||
* - a predefined vector resource (from [icon]) using [AccountResIcon].
|
* - a predefined vector resource (from [icon]) using [AccountResIcon].
|
||||||
*
|
*
|
||||||
* The background color is taken from [CryptoPortfolioIconUM.color],
|
* The background color is taken from [AccountIconUM.CryptoPortfolio.color],
|
||||||
* and the icon size, text style, and container shape are adapted based on the given [size].
|
* and the icon size, text style, and container shape are adapted based on the given [size].
|
||||||
*
|
*
|
||||||
* @param name A [TextReference] used to resolve and display the first letter
|
* @param name A [TextReference] used to resolve and display the first letter
|
||||||
|
|
@ -31,29 +32,43 @@ import com.tangem.domain.models.account.CryptoPortfolioIcon.Color
|
||||||
@Composable
|
@Composable
|
||||||
fun AccountIcon(
|
fun AccountIcon(
|
||||||
name: TextReference,
|
name: TextReference,
|
||||||
icon: CryptoPortfolioIconUM,
|
icon: AccountIconUM.CryptoPortfolio,
|
||||||
size: AccountIconSize,
|
size: AccountIconSize,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
val letter = name.resolveReference().firstOrNull()
|
val letter = name.resolveReference().firstOrNull()
|
||||||
|
val iconColor = icon.color.getUiColor()
|
||||||
when {
|
when {
|
||||||
icon.value == CryptoPortfolioIcon.Icon.Letter && letter == null -> {
|
icon.value == CryptoPortfolioIcon.Icon.Letter && letter == null -> {
|
||||||
AccountResIcon(
|
AccountResIcon(
|
||||||
resId = R.drawable.ic_tangem_24,
|
resId = R.drawable.ic_tangem_24,
|
||||||
color = icon.color.getUiColor(),
|
color = iconColor,
|
||||||
size = size,
|
size = size,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
icon.value == CryptoPortfolioIcon.Icon.Letter -> AccountCharIcon(
|
icon.value == CryptoPortfolioIcon.Icon.Letter -> AccountCharIcon(
|
||||||
char = letter ?: 'N',
|
char = letter ?: 'N',
|
||||||
color = icon.color.getUiColor(),
|
color = iconColor,
|
||||||
size = size,
|
size = size,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
)
|
)
|
||||||
else -> AccountResIcon(
|
else -> AccountResIcon(
|
||||||
resId = icon.value.getResId(),
|
resId = icon.value.getResId(),
|
||||||
color = icon.color.getUiColor(),
|
color = iconColor,
|
||||||
|
size = size,
|
||||||
|
modifier = modifier,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun AccountIcon(name: TextReference, icon: AccountIconUM, size: AccountIconSize, modifier: Modifier = Modifier) {
|
||||||
|
when (icon) {
|
||||||
|
is AccountIconUM.Payment -> PaymentAccountIcon(size = size, modifier = modifier)
|
||||||
|
is AccountIconUM.CryptoPortfolio -> AccountIcon(
|
||||||
|
name = name,
|
||||||
|
icon = icon,
|
||||||
size = size,
|
size = size,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
)
|
)
|
||||||
|
|
@ -62,7 +77,7 @@ fun AccountIcon(
|
||||||
|
|
||||||
object AccountIconPreviewData {
|
object AccountIconPreviewData {
|
||||||
|
|
||||||
fun randomAccountIcon(letter: Boolean = false) = CryptoPortfolioIconUM(
|
fun randomAccountIcon(letter: Boolean = false) = AccountIconUM.CryptoPortfolio(
|
||||||
value = if (letter) CryptoPortfolioIcon.Icon.Letter else CryptoPortfolioIcon.Icon.entries.random(),
|
value = if (letter) CryptoPortfolioIcon.Icon.Letter else CryptoPortfolioIcon.Icon.entries.random(),
|
||||||
color = Color.entries.random(),
|
color = Color.entries.random(),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
package com.tangem.common.ui.account
|
||||||
|
|
||||||
|
import com.tangem.domain.models.account.CryptoPortfolioIcon.Color
|
||||||
|
import com.tangem.domain.models.account.CryptoPortfolioIcon.Icon
|
||||||
|
|
||||||
|
sealed class AccountIconUM {
|
||||||
|
data class CryptoPortfolio(val value: Icon, val color: Color) : AccountIconUM()
|
||||||
|
|
||||||
|
data object Payment : AccountIconUM()
|
||||||
|
}
|
||||||
|
|
@ -27,7 +27,7 @@ import com.tangem.core.ui.res.TangemTheme
|
||||||
@Composable
|
@Composable
|
||||||
fun AccountLabel(
|
fun AccountLabel(
|
||||||
name: TextReference,
|
name: TextReference,
|
||||||
icon: CryptoPortfolioIconUM,
|
icon: AccountIconUM,
|
||||||
iconSize: AccountIconSize,
|
iconSize: AccountIconSize,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
nameStyle: TextStyle = TangemTheme.typography.subtitle2,
|
nameStyle: TextStyle = TangemTheme.typography.subtitle2,
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ class AccountPortfolioItemUMConverter(
|
||||||
private fun getImageState(account: Account.CryptoPortfolio) = when (account) {
|
private fun getImageState(account: Account.CryptoPortfolio) = when (account) {
|
||||||
is Account.CryptoPortfolio -> UserWalletItemUM.ImageState.Account(
|
is Account.CryptoPortfolio -> UserWalletItemUM.ImageState.Account(
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(account.icon),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ import com.tangem.core.ui.res.TangemThemePreview
|
||||||
fun AccountRow(
|
fun AccountRow(
|
||||||
title: TextReference,
|
title: TextReference,
|
||||||
subtitle: TextReference,
|
subtitle: TextReference,
|
||||||
icon: CryptoPortfolioIconUM,
|
icon: AccountIconUM.CryptoPortfolio,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
isReverse: Boolean = false,
|
isReverse: Boolean = false,
|
||||||
) {
|
) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.tangem.common.ui.account
|
package com.tangem.common.ui.account
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
|
|
@ -9,11 +11,16 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.testTag
|
import androidx.compose.ui.platform.testTag
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.tangem.core.ui.components.account.AccountIconSize
|
import com.tangem.core.ui.components.account.AccountIconSize
|
||||||
import com.tangem.core.ui.extensions.resolveReference
|
import com.tangem.core.ui.extensions.resolveReference
|
||||||
|
import com.tangem.core.ui.extensions.stringReference
|
||||||
import com.tangem.core.ui.res.TangemTheme
|
import com.tangem.core.ui.res.TangemTheme
|
||||||
|
import com.tangem.core.ui.res.TangemThemePreview
|
||||||
import com.tangem.core.ui.test.SendScreenTestTags
|
import com.tangem.core.ui.test.SendScreenTestTags
|
||||||
|
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
||||||
|
import com.tangem.utils.StringsSigns
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A composable function that displays an account label (icon + name) with an optional prefix.
|
* A composable function that displays an account label (icon + name) with an optional prefix.
|
||||||
|
|
@ -61,4 +68,28 @@ fun AccountTitle(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Preview
|
||||||
|
@Composable
|
||||||
|
private fun PreviewAccountTitle() {
|
||||||
|
TangemThemePreview {
|
||||||
|
Column {
|
||||||
|
AccountTitle(
|
||||||
|
accountTitleUM = AccountTitleUM.Account(
|
||||||
|
prefixText = stringReference(StringsSigns.DOT),
|
||||||
|
name = stringReference("Main Wallet"),
|
||||||
|
icon = AccountIconUM.CryptoPortfolio(
|
||||||
|
value = CryptoPortfolioIcon.Icon.Bookmark,
|
||||||
|
color = CryptoPortfolioIcon.Color.Pattypan,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
modifier = Modifier.padding(4.dp),
|
||||||
|
)
|
||||||
|
AccountTitle(
|
||||||
|
accountTitleUM = AccountTitleUM.Account.payment(prefixText = stringReference(StringsSigns.DOT)),
|
||||||
|
modifier = Modifier.padding(4.dp),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.tangem.common.ui.account
|
package com.tangem.common.ui.account
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
import com.tangem.common.ui.R
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A sealed interface representing the title of an account, which can be either a simple text
|
* A sealed interface representing the title of an account, which can be either a simple text
|
||||||
|
|
@ -19,6 +21,16 @@ sealed interface AccountTitleUM {
|
||||||
data class Account(
|
data class Account(
|
||||||
val prefixText: TextReference,
|
val prefixText: TextReference,
|
||||||
val name: TextReference,
|
val name: TextReference,
|
||||||
val icon: CryptoPortfolioIconUM,
|
val icon: AccountIconUM,
|
||||||
) : AccountTitleUM
|
) : AccountTitleUM {
|
||||||
|
companion object {
|
||||||
|
fun payment(prefixText: TextReference = TextReference.EMPTY): Account {
|
||||||
|
return Account(
|
||||||
|
prefixText = prefixText,
|
||||||
|
name = resourceReference(R.string.tangempay_payment_account),
|
||||||
|
icon = AccountIconUM.Payment,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.tangem.common.ui.account
|
||||||
|
|
||||||
|
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
||||||
|
import com.tangem.utils.converter.TwoWayConverter
|
||||||
|
|
||||||
|
object CryptoPortfolioIconConverter : TwoWayConverter<CryptoPortfolioIcon, AccountIconUM.CryptoPortfolio> {
|
||||||
|
override fun convert(value: CryptoPortfolioIcon): AccountIconUM.CryptoPortfolio {
|
||||||
|
return AccountIconUM.CryptoPortfolio(value = value.value, color = value.color)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun convertBack(value: AccountIconUM.CryptoPortfolio): CryptoPortfolioIcon {
|
||||||
|
return CryptoPortfolioIcon.ofCustomAccount(value = value.value, color = value.color)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -47,7 +47,4 @@ fun CryptoPortfolioIcon.Icon.getResId(): Int {
|
||||||
CryptoPortfolioIcon.Icon.Package -> R.drawable.ic_package_24
|
CryptoPortfolioIcon.Icon.Package -> R.drawable.ic_package_24
|
||||||
CryptoPortfolioIcon.Icon.Gift -> R.drawable.ic_gift_24
|
CryptoPortfolioIcon.Icon.Gift -> R.drawable.ic_gift_24
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun CryptoPortfolioIcon.toUM() = CryptoPortfolioIconUM(domainModel = this)
|
|
||||||
fun CryptoPortfolioIconUM.toDomain() = CryptoPortfolioIcon.ofCustomAccount(value = this.value, color = this.color)
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
package com.tangem.common.ui.account
|
|
||||||
|
|
||||||
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
|
||||||
import com.tangem.domain.models.account.CryptoPortfolioIcon.Color
|
|
||||||
import com.tangem.domain.models.account.CryptoPortfolioIcon.Icon
|
|
||||||
|
|
||||||
data class CryptoPortfolioIconUM(
|
|
||||||
val value: Icon,
|
|
||||||
val color: Color,
|
|
||||||
) {
|
|
||||||
constructor(domainModel: CryptoPortfolioIcon) : this(
|
|
||||||
value = domainModel.value,
|
|
||||||
color = domainModel.color,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
@ -82,7 +82,7 @@ fun PortfolioSelectRow(
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
data class PortfolioSelectUM(
|
data class PortfolioSelectUM(
|
||||||
val icon: CryptoPortfolioIconUM?,
|
val icon: AccountIconUM.CryptoPortfolio?,
|
||||||
val name: TextReference,
|
val name: TextReference,
|
||||||
val isAccountMode: Boolean,
|
val isAccountMode: Boolean,
|
||||||
val isMultiChoice: Boolean,
|
val isMultiChoice: Boolean,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.common.ui.amountScreen.converters
|
package com.tangem.common.ui.amountScreen.converters
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.domain.models.account.Account
|
import com.tangem.domain.models.account.Account
|
||||||
|
|
@ -15,7 +16,7 @@ class AmountAccountConverter(
|
||||||
return if (value != null && isAccountsMode) {
|
return if (value != null && isAccountsMode) {
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
name = value.accountName.toUM().value,
|
name = value.accountName.toUM().value,
|
||||||
icon = value.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(value.icon),
|
||||||
prefixText = prefixText,
|
prefixText = prefixText,
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import com.tangem.common.ui.R
|
import com.tangem.common.ui.R
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
import com.tangem.common.ui.account.AccountTitleUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.amountScreen.models.AmountFieldModel
|
import com.tangem.common.ui.amountScreen.models.AmountFieldModel
|
||||||
import com.tangem.common.ui.amountScreen.models.AmountState
|
import com.tangem.common.ui.amountScreen.models.AmountState
|
||||||
import com.tangem.core.ui.components.currency.icon.CurrencyIconState
|
import com.tangem.core.ui.components.currency.icon.CurrencyIconState
|
||||||
|
|
@ -88,7 +88,7 @@ object AmountStatePreviewData {
|
||||||
val amountStateV2Accounts = amountState.copy(
|
val amountStateV2Accounts = amountState.copy(
|
||||||
accountTitleUM = AccountTitleUM.Account(
|
accountTitleUM = AccountTitleUM.Account(
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
prefixText = resourceReference(R.string.common_from),
|
prefixText = resourceReference(R.string.common_from),
|
||||||
),
|
),
|
||||||
availableBalanceCrypto = stringReference("2 130,81231238 USDT"),
|
availableBalanceCrypto = stringReference("2 130,81231238 USDT"),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.tangem.common.ui.userwallet.state
|
package com.tangem.common.ui.userwallet.state
|
||||||
|
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
import com.tangem.core.ui.components.artwork.ArtworkUM
|
import com.tangem.core.ui.components.artwork.ArtworkUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import javax.annotation.concurrent.Immutable
|
import javax.annotation.concurrent.Immutable
|
||||||
|
|
@ -64,7 +64,7 @@ data class UserWalletItemUM(
|
||||||
|
|
||||||
data class Account(
|
data class Account(
|
||||||
val name: TextReference,
|
val name: TextReference,
|
||||||
val icon: CryptoPortfolioIconUM,
|
val icon: AccountIconUM.CryptoPortfolio,
|
||||||
) : ImageState()
|
) : ImageState()
|
||||||
|
|
||||||
data class Image(
|
data class Image(
|
||||||
|
|
|
||||||
|
|
@ -6,22 +6,20 @@ import androidx.compose.animation.animateContentSize
|
||||||
import androidx.compose.animation.core.animateDpAsState
|
import androidx.compose.animation.core.animateDpAsState
|
||||||
import androidx.compose.animation.core.animateFloatAsState
|
import androidx.compose.animation.core.animateFloatAsState
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
|
import androidx.compose.foundation.Image
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.*
|
import androidx.compose.foundation.layout.*
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.runtime.mutableStateOf
|
|
||||||
import androidx.compose.runtime.remember
|
|
||||||
import androidx.compose.runtime.setValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
|
|
@ -76,6 +74,33 @@ fun AccountResIcon(@DrawableRes resId: Int, color: Color, size: AccountIconSize,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays a PaymentAccount icon using a predefined painter resource.
|
||||||
|
*
|
||||||
|
* The icon size is adapted based on the provided [size].
|
||||||
|
*
|
||||||
|
* @param size The size of the icon, defined by [AccountIconSize].
|
||||||
|
*/
|
||||||
|
@Composable
|
||||||
|
fun PaymentAccountIcon(size: AccountIconSize, modifier: Modifier = Modifier) {
|
||||||
|
val boxSize by animateDpAsState(
|
||||||
|
targetValue = size.boxSizeInDp(),
|
||||||
|
animationSpec = animation(),
|
||||||
|
)
|
||||||
|
val boxShapeCornerSize by animateDpAsState(
|
||||||
|
targetValue = size.boxShapeSizeInDp(),
|
||||||
|
animationSpec = animation(),
|
||||||
|
)
|
||||||
|
Box(
|
||||||
|
contentAlignment = Alignment.Center,
|
||||||
|
modifier = modifier
|
||||||
|
.size(boxSize)
|
||||||
|
.clip(RoundedCornerShape(boxShapeCornerSize)),
|
||||||
|
) {
|
||||||
|
Image(painter = painterResource(id = R.drawable.img_visa_36), contentDescription = null)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays a portfolio icon using a single character.
|
* Displays a portfolio icon using a single character.
|
||||||
*
|
*
|
||||||
|
|
@ -186,6 +211,7 @@ private fun Sample() {
|
||||||
AccountResIcon(resId = R.drawable.ic_user_24, color = Color.Magenta, size = AccountIconSize.Medium)
|
AccountResIcon(resId = R.drawable.ic_user_24, color = Color.Magenta, size = AccountIconSize.Medium)
|
||||||
AccountResIcon(resId = R.drawable.ic_family_24, color = Color.DarkGray, size = AccountIconSize.Small)
|
AccountResIcon(resId = R.drawable.ic_family_24, color = Color.DarkGray, size = AccountIconSize.Small)
|
||||||
AccountResIcon(resId = R.drawable.ic_wallet_24, color = Color.Green, size = AccountIconSize.ExtraSmall)
|
AccountResIcon(resId = R.drawable.ic_wallet_24, color = Color.Green, size = AccountIconSize.ExtraSmall)
|
||||||
|
PaymentAccountIcon(size = AccountIconSize.Default)
|
||||||
}
|
}
|
||||||
Column(verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing8)) {
|
Column(verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing8)) {
|
||||||
AccountCharIcon(char = 'D', color = Color.Red, size = sizeState)
|
AccountCharIcon(char = 'D', color = Color.Red, size = sizeState)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.account.archived.entity
|
package com.tangem.features.account.archived.entity
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@ internal sealed interface AccountArchivedUM {
|
||||||
internal data class ArchivedAccountUM(
|
internal data class ArchivedAccountUM(
|
||||||
val accountId: String,
|
val accountId: String,
|
||||||
val accountName: TextReference,
|
val accountName: TextReference,
|
||||||
val accountIconUM: CryptoPortfolioIconUM,
|
val accountIconUM: AccountIconUM.CryptoPortfolio,
|
||||||
val tokensInfo: TextReference,
|
val tokensInfo: TextReference,
|
||||||
val networksInfo: TextReference,
|
val networksInfo: TextReference,
|
||||||
val isLoading: Boolean,
|
val isLoading: Boolean,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.tangem.features.account.archived.entity
|
package com.tangem.features.account.archived.entity
|
||||||
|
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.res.R
|
import com.tangem.core.res.R
|
||||||
import com.tangem.core.ui.extensions.pluralReference
|
import com.tangem.core.ui.extensions.pluralReference
|
||||||
|
|
@ -28,7 +29,7 @@ internal class AccountArchivedUMBuilder @Inject constructor() {
|
||||||
ArchivedAccountUM(
|
ArchivedAccountUM(
|
||||||
accountId = accountId.value,
|
accountId = accountId.value,
|
||||||
accountName = name.toUM().value,
|
accountName = name.toUM().value,
|
||||||
accountIconUM = icon.toUM(),
|
accountIconUM = CryptoPortfolioIconConverter.convert(icon),
|
||||||
isLoading = false,
|
isLoading = false,
|
||||||
tokensInfo = pluralReference(
|
tokensInfo = pluralReference(
|
||||||
R.plurals.common_tokens_count,
|
R.plurals.common_tokens_count,
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.tangem.features.account.createedit
|
||||||
|
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.toDomain
|
import com.tangem.common.ui.account.toDomain
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
|
|
@ -109,7 +110,7 @@ internal class AccountCreateEditModel @Inject constructor(
|
||||||
private suspend fun createNewCryptoPortfolio(params: AccountCreateEditComponent.Params.Create) {
|
private suspend fun createNewCryptoPortfolio(params: AccountCreateEditComponent.Params.Create) {
|
||||||
val state = uiState.value
|
val state = uiState.value
|
||||||
val name = state.account.name.toDomain().getOrNull() ?: return
|
val name = state.account.name.toDomain().getOrNull() ?: return
|
||||||
val icon = state.account.portfolioIcon.toDomain()
|
val icon = CryptoPortfolioIconConverter.convertBack(state.account.portfolioIcon)
|
||||||
val index = state.account.derivationInfo.index ?: return
|
val index = state.account.derivationInfo.index ?: return
|
||||||
val derivationIndex = DerivationIndex(value = index).getOrNull() ?: return
|
val derivationIndex = DerivationIndex(value = index).getOrNull() ?: return
|
||||||
val event = AccountSettingsAnalyticEvents.ButtonAddNewAccount(
|
val event = AccountSettingsAnalyticEvents.ButtonAddNewAccount(
|
||||||
|
|
@ -161,7 +162,7 @@ internal class AccountCreateEditModel @Inject constructor(
|
||||||
private suspend fun editCryptoPortfolio(params: AccountCreateEditComponent.Params.Edit) {
|
private suspend fun editCryptoPortfolio(params: AccountCreateEditComponent.Params.Edit) {
|
||||||
val state = uiState.value
|
val state = uiState.value
|
||||||
val name = state.account.name.toDomain().getOrNull() ?: return
|
val name = state.account.name.toDomain().getOrNull() ?: return
|
||||||
val icon = state.account.portfolioIcon.toDomain()
|
val icon = CryptoPortfolioIconConverter.convertBack(state.account.portfolioIcon)
|
||||||
val isNewName = name != params.account.accountName
|
val isNewName = name != params.account.accountName
|
||||||
val isNewIcon = icon != params.account.portfolioIcon
|
val isNewIcon = icon != params.account.portfolioIcon
|
||||||
analyticsEventHandler.send(AccountSettingsAnalyticEvents.ButtonSave(name, icon))
|
analyticsEventHandler.send(AccountSettingsAnalyticEvents.ButtonSave(name, icon))
|
||||||
|
|
@ -246,9 +247,10 @@ internal class AccountCreateEditModel @Inject constructor(
|
||||||
is AccountCreateEditComponent.Params.Create -> isValidName
|
is AccountCreateEditComponent.Params.Create -> isValidName
|
||||||
is AccountCreateEditComponent.Params.Edit -> {
|
is AccountCreateEditComponent.Params.Edit -> {
|
||||||
val oldName = params.account.accountName.toUM()
|
val oldName = params.account.accountName.toUM()
|
||||||
|
val oldIcon = CryptoPortfolioIconConverter.convert(params.account.portfolioIcon)
|
||||||
|
|
||||||
val isNewName = this.account.name.trim() != oldName
|
val isNewName = this.account.name.trim() != oldName
|
||||||
val isNewIcon = this.account.portfolioIcon != params.account.portfolioIcon.toUM()
|
val isNewIcon = this.account.portfolioIcon != oldIcon
|
||||||
isValidName && (isNewName || isNewIcon)
|
isValidName && (isNewName || isNewIcon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
package com.tangem.features.account.createedit.entity
|
package com.tangem.features.account.createedit.entity
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
import com.tangem.domain.models.account.CryptoPortfolioIcon
|
||||||
import kotlinx.collections.immutable.ImmutableList
|
import kotlinx.collections.immutable.ImmutableList
|
||||||
|
|
@ -18,7 +18,7 @@ internal data class AccountCreateEditUM(
|
||||||
|
|
||||||
data class Account(
|
data class Account(
|
||||||
val name: AccountNameUM,
|
val name: AccountNameUM,
|
||||||
val portfolioIcon: CryptoPortfolioIconUM,
|
val portfolioIcon: AccountIconUM.CryptoPortfolio,
|
||||||
val derivationInfo: DerivationInfo,
|
val derivationInfo: DerivationInfo,
|
||||||
val inputPlaceholder: TextReference,
|
val inputPlaceholder: TextReference,
|
||||||
val onNameChange: (AccountNameUM) -> Unit,
|
val onNameChange: (AccountNameUM) -> Unit,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.account.createedit.entity
|
package com.tangem.features.account.createedit.entity
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.res.R
|
import com.tangem.core.res.R
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
|
@ -17,7 +18,7 @@ internal class AccountCreateEditUMBuilder(
|
||||||
|
|
||||||
private val accountColors = CryptoPortfolioIcon.Color.entries.toImmutableList()
|
private val accountColors = CryptoPortfolioIcon.Color.entries.toImmutableList()
|
||||||
private val accountIcons = CryptoPortfolioIcon.Icon.entries.toImmutableList()
|
private val accountIcons = CryptoPortfolioIcon.Icon.entries.toImmutableList()
|
||||||
private val createIcon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM()
|
private val createIcon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount())
|
||||||
|
|
||||||
val toolbarTitle: TextReference
|
val toolbarTitle: TextReference
|
||||||
get() = when (params) {
|
get() = when (params) {
|
||||||
|
|
@ -36,7 +37,7 @@ internal class AccountCreateEditUMBuilder(
|
||||||
)
|
)
|
||||||
is AccountCreateEditComponent.Params.Edit -> AccountCreateEditUM.Account(
|
is AccountCreateEditComponent.Params.Edit -> AccountCreateEditUM.Account(
|
||||||
name = params.account.accountName.toUM(),
|
name = params.account.accountName.toUM(),
|
||||||
portfolioIcon = params.account.portfolioIcon.toUM(),
|
portfolioIcon = CryptoPortfolioIconConverter.convert(params.account.portfolioIcon),
|
||||||
derivationInfo = createAccountDerivationInfo(
|
derivationInfo = createAccountDerivationInfo(
|
||||||
index = (params.account as Account.CryptoPortfolio).derivationIndex.value,
|
index = (params.account as Account.CryptoPortfolio).derivationIndex.value,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.account.details
|
package com.tangem.features.account.details
|
||||||
|
|
||||||
import com.tangem.common.routing.AppRoute
|
import com.tangem.common.routing.AppRoute
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
import com.tangem.core.decompose.di.ModelScoped
|
import com.tangem.core.decompose.di.ModelScoped
|
||||||
|
|
@ -159,7 +160,7 @@ internal class AccountDetailsModel @Inject constructor(
|
||||||
?.isMultiCurrency == true
|
?.isMultiCurrency == true
|
||||||
return AccountDetailsUM(
|
return AccountDetailsUM(
|
||||||
accountName = account.accountName.toUM().value,
|
accountName = account.accountName.toUM().value,
|
||||||
accountIcon = account.portfolioIcon.toUM(),
|
accountIcon = CryptoPortfolioIconConverter.convert(account.portfolioIcon),
|
||||||
onCloseClick = { router.pop() },
|
onCloseClick = { router.pop() },
|
||||||
onAccountEditClick = { onEditAccountClick(account) },
|
onAccountEditClick = { onEditAccountClick(account) },
|
||||||
onManageTokensClick = { onManageTokensClick(account) },
|
onManageTokensClick = { onManageTokensClick(account) },
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
package com.tangem.features.account.details.entity
|
package com.tangem.features.account.details.entity
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
|
||||||
internal data class AccountDetailsUM(
|
internal data class AccountDetailsUM(
|
||||||
val accountName: TextReference,
|
val accountName: TextReference,
|
||||||
val accountIcon: CryptoPortfolioIconUM,
|
val accountIcon: AccountIconUM.CryptoPortfolio,
|
||||||
val archiveMode: ArchiveMode,
|
val archiveMode: ArchiveMode,
|
||||||
val isManageTokensAvailable: Boolean,
|
val isManageTokensAvailable: Boolean,
|
||||||
val onCloseClick: () -> Unit,
|
val onCloseClick: () -> Unit,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.feed.components.market.details.portfolio.add.impl.model
|
package com.tangem.features.feed.components.market.details.portfolio.add.impl.model
|
||||||
|
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.PortfolioSelectUM
|
import com.tangem.common.ui.account.PortfolioSelectUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.common.ui.addtoken.AddTokenUM
|
import com.tangem.common.ui.addtoken.AddTokenUM
|
||||||
|
|
@ -35,7 +36,7 @@ internal class AddTokenUiBuilder @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createPortfolio(selectedPortfolio: SelectedPortfolio): PortfolioSelectUM {
|
private fun createPortfolio(selectedPortfolio: SelectedPortfolio): PortfolioSelectUM {
|
||||||
val accountIcon: CryptoPortfolioIconUM?
|
val accountIcon: AccountIconUM.CryptoPortfolio?
|
||||||
val portfolioName: TextReference
|
val portfolioName: TextReference
|
||||||
when (selectedPortfolio.isAccountMode) {
|
when (selectedPortfolio.isAccountMode) {
|
||||||
false -> {
|
false -> {
|
||||||
|
|
@ -46,7 +47,7 @@ internal class AddTokenUiBuilder @Inject constructor(
|
||||||
val accountStatus = selectedPortfolio.account.account
|
val accountStatus = selectedPortfolio.account.account
|
||||||
portfolioName = accountStatus.account.accountName.toUM().value
|
portfolioName = accountStatus.account.accountName.toUM().value
|
||||||
accountIcon = when (accountStatus) {
|
accountIcon = when (accountStatus) {
|
||||||
is AccountStatus.CryptoPortfolio -> accountStatus.account.icon.toUM()
|
is AccountStatus.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(accountStatus.account.icon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.tangem.features.feed.components.market.details.portfolio.impl.model
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.blockchainsdk.compatibility.getTokenIdIfL2Network
|
import com.tangem.blockchainsdk.compatibility.getTokenIdIfL2Network
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
|
@ -285,7 +286,7 @@ internal class NewMarketsPortfolioDelegate @AssistedInject constructor(
|
||||||
prefixText = TextReference.EMPTY,
|
prefixText = TextReference.EMPTY,
|
||||||
name = this.accountName.toUM().value,
|
name = this.accountName.toUM().value,
|
||||||
icon = when (this) {
|
icon = when (this) {
|
||||||
is Account.CryptoPortfolio -> this.icon.toUM()
|
is Account.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(this.icon)
|
||||||
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
package com.tangem.features.markets.portfolio.add.impl.model
|
package com.tangem.features.markets.portfolio.add.impl.model
|
||||||
|
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.PortfolioSelectUM
|
import com.tangem.common.ui.account.PortfolioSelectUM
|
||||||
import com.tangem.common.ui.account.toUM
|
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.di.ModelScoped
|
||||||
import com.tangem.core.decompose.model.ParamsContainer
|
import com.tangem.core.decompose.model.ParamsContainer
|
||||||
import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
import com.tangem.core.ui.components.currency.icon.converter.CryptoCurrencyToIconStateConverter
|
||||||
|
|
@ -16,7 +18,6 @@ import com.tangem.features.markets.impl.R
|
||||||
import com.tangem.features.markets.portfolio.add.api.SelectedNetwork
|
import com.tangem.features.markets.portfolio.add.api.SelectedNetwork
|
||||||
import com.tangem.features.markets.portfolio.add.api.SelectedPortfolio
|
import com.tangem.features.markets.portfolio.add.api.SelectedPortfolio
|
||||||
import com.tangem.features.markets.portfolio.add.impl.AddTokenComponent
|
import com.tangem.features.markets.portfolio.add.impl.AddTokenComponent
|
||||||
import com.tangem.common.ui.addtoken.AddTokenUM
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@ModelScoped
|
@ModelScoped
|
||||||
|
|
@ -35,7 +36,7 @@ internal class AddTokenUiBuilder @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createPortfolio(selectedPortfolio: SelectedPortfolio): PortfolioSelectUM {
|
private fun createPortfolio(selectedPortfolio: SelectedPortfolio): PortfolioSelectUM {
|
||||||
val accountIcon: CryptoPortfolioIconUM?
|
val accountIcon: AccountIconUM.CryptoPortfolio?
|
||||||
val portfolioName: TextReference
|
val portfolioName: TextReference
|
||||||
when (selectedPortfolio.isAccountMode) {
|
when (selectedPortfolio.isAccountMode) {
|
||||||
false -> {
|
false -> {
|
||||||
|
|
@ -46,7 +47,7 @@ internal class AddTokenUiBuilder @Inject constructor(
|
||||||
val accountStatus = selectedPortfolio.account.account
|
val accountStatus = selectedPortfolio.account.account
|
||||||
portfolioName = accountStatus.account.accountName.toUM().value
|
portfolioName = accountStatus.account.accountName.toUM().value
|
||||||
accountIcon = when (accountStatus) {
|
accountIcon = when (accountStatus) {
|
||||||
is AccountStatus.CryptoPortfolio -> accountStatus.account.icon.toUM()
|
is AccountStatus.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(accountStatus.account.icon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.tangem.features.markets.portfolio.impl.model
|
||||||
import arrow.core.getOrElse
|
import arrow.core.getOrElse
|
||||||
import com.tangem.blockchainsdk.compatibility.getTokenIdIfL2Network
|
import com.tangem.blockchainsdk.compatibility.getTokenIdIfL2Network
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
|
@ -286,7 +287,7 @@ internal class NewMarketsPortfolioDelegate @AssistedInject constructor(
|
||||||
prefixText = TextReference.EMPTY,
|
prefixText = TextReference.EMPTY,
|
||||||
name = this.accountName.toUM().value,
|
name = this.accountName.toUM().value,
|
||||||
icon = when (this) {
|
icon = when (this) {
|
||||||
is Account.CryptoPortfolio -> this.icon.toUM()
|
is Account.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(this.icon)
|
||||||
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.nft.collections.entity.transformer
|
package com.tangem.features.nft.collections.entity.transformer
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
import com.tangem.core.ui.components.fields.entity.SearchBarUM
|
||||||
import com.tangem.core.ui.components.notifications.NotificationConfig
|
import com.tangem.core.ui.components.notifications.NotificationConfig
|
||||||
|
|
@ -100,7 +101,7 @@ internal class UpdateDataStateTransformer(
|
||||||
prefixText = TextReference.EMPTY,
|
prefixText = TextReference.EMPTY,
|
||||||
name = this.accountName.toUM().value,
|
name = this.accountName.toUM().value,
|
||||||
icon = when (this) {
|
icon = when (this) {
|
||||||
is Account.CryptoPortfolio -> this.icon.toUM()
|
is Account.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(this.icon)
|
||||||
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.tangem.features.nft.details.block
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.decompose.context.AppComponentContext
|
import com.tangem.core.decompose.context.AppComponentContext
|
||||||
import com.tangem.core.ui.extensions.getActiveIconRes
|
import com.tangem.core.ui.extensions.getActiveIconRes
|
||||||
|
|
@ -32,7 +33,7 @@ class DefaultNFTDetailsBlockComponent @AssistedInject constructor(
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
prefixText = resourceReference(R.string.common_from),
|
prefixText = resourceReference(R.string.common_from),
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(account.icon),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
AccountTitleUM.Text(params.walletTitle)
|
AccountTitleUM.Text(params.walletTitle)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.onramp.hottokens.portfolio.entity
|
package com.tangem.features.onramp.hottokens.portfolio.entity
|
||||||
|
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.PortfolioSelectUM
|
import com.tangem.common.ui.account.PortfolioSelectUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.common.ui.addtoken.AddTokenUM
|
import com.tangem.common.ui.addtoken.AddTokenUM
|
||||||
|
|
@ -36,7 +37,7 @@ internal class OnrampAddTokenUiBuilder @Inject constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun createPortfolio(tokenToAdd: AddHotCryptoData): PortfolioSelectUM {
|
private suspend fun createPortfolio(tokenToAdd: AddHotCryptoData): PortfolioSelectUM {
|
||||||
val accountIcon: CryptoPortfolioIconUM?
|
val accountIcon: AccountIconUM.CryptoPortfolio?
|
||||||
val portfolioName: TextReference
|
val portfolioName: TextReference
|
||||||
val isAccountMode = isAccountsModeEnabledUseCase.invokeSync()
|
val isAccountMode = isAccountsModeEnabledUseCase.invokeSync()
|
||||||
when (isAccountMode) {
|
when (isAccountMode) {
|
||||||
|
|
@ -48,7 +49,7 @@ internal class OnrampAddTokenUiBuilder @Inject constructor(
|
||||||
val accountStatus = tokenToAdd.account
|
val accountStatus = tokenToAdd.account
|
||||||
portfolioName = accountStatus.account.accountName.toUM().value
|
portfolioName = accountStatus.account.accountName.toUM().value
|
||||||
accountIcon = when (accountStatus) {
|
accountIcon = when (accountStatus) {
|
||||||
is AccountStatus.CryptoPortfolio -> accountStatus.account.icon.toUM()
|
is AccountStatus.CryptoPortfolio -> CryptoPortfolioIconConverter.convert(accountStatus.account.icon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.tangem.features.onramp.swap.entity
|
package com.tangem.features.onramp.swap.entity
|
||||||
|
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
|
|
||||||
|
|
@ -57,7 +57,7 @@ internal sealed interface ExchangeCardUM {
|
||||||
data class Account(
|
data class Account(
|
||||||
val prefixText: TextReference,
|
val prefixText: TextReference,
|
||||||
val name: TextReference,
|
val name: TextReference,
|
||||||
val icon: CryptoPortfolioIconUM,
|
val icon: AccountIconUM.CryptoPortfolio,
|
||||||
) : TitleUM
|
) : TitleUM
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.tangem.features.onramp.swap.entity.utils
|
package com.tangem.features.onramp.swap.entity.utils
|
||||||
|
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.ui.components.token.state.TokenItemState
|
import com.tangem.core.ui.components.token.state.TokenItemState
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -45,7 +46,7 @@ internal fun ExchangeCardUM.toFilled(
|
||||||
resourceReference(R.string.common_to)
|
resourceReference(R.string.common_to)
|
||||||
},
|
},
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(account.icon),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
titleUM
|
titleUM
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.tangem.feature.referral.model
|
package com.tangem.feature.referral.model
|
||||||
|
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.PortfolioSelectUM
|
import com.tangem.common.ui.account.PortfolioSelectUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.common.ui.tokens.TokenItemStateConverter.Companion.getFormattedCryptoAmount
|
import com.tangem.common.ui.tokens.TokenItemStateConverter.Companion.getFormattedCryptoAmount
|
||||||
|
|
@ -62,7 +63,7 @@ internal class AccountAwardConverter(
|
||||||
isBalanceHidden = isBalanceHidden,
|
isBalanceHidden = isBalanceHidden,
|
||||||
tokenState = tokenState,
|
tokenState = tokenState,
|
||||||
accountSelectUM = PortfolioSelectUM(
|
accountSelectUM = PortfolioSelectUM(
|
||||||
icon = cryptoPortfolio.account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(cryptoPortfolio.account.icon),
|
||||||
name = cryptoPortfolio.account.accountName.toUM().value,
|
name = cryptoPortfolio.account.accountName.toUM().value,
|
||||||
isAccountMode = true,
|
isAccountMode = true,
|
||||||
onClick = onAccountClick,
|
onClick = onAccountClick,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.send.v2.subcomponents.destination.model.converters
|
package com.tangem.features.send.v2.subcomponents.destination.model.converters
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.extensions.stringReference
|
import com.tangem.core.ui.extensions.stringReference
|
||||||
import com.tangem.domain.models.currency.CryptoCurrency
|
import com.tangem.domain.models.currency.CryptoCurrency
|
||||||
|
|
@ -58,7 +59,7 @@ internal class SendRecipientWalletListConverter(
|
||||||
accountTitleUM = if (account != null && isAccountsMode) {
|
accountTitleUM = if (account != null && isAccountsMode) {
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(account.icon),
|
||||||
prefixText = stringReference(StringsSigns.DOT),
|
prefixText = stringReference(StringsSigns.DOT),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ import androidx.compose.ui.unit.dp
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
import com.tangem.common.ui.account.AccountTitle
|
import com.tangem.common.ui.account.AccountTitle
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
import com.tangem.common.ui.account.AccountTitleUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.core.ui.components.CircleShimmer
|
import com.tangem.core.ui.components.CircleShimmer
|
||||||
import com.tangem.core.ui.components.RectangleShimmer
|
import com.tangem.core.ui.components.RectangleShimmer
|
||||||
import com.tangem.core.ui.components.atoms.text.EllipsisText
|
import com.tangem.core.ui.components.atoms.text.EllipsisText
|
||||||
|
|
@ -271,7 +271,7 @@ private class ListItemWithIconPreviewProvider : CollectionPreviewParameterProvid
|
||||||
subtitle = "Wallet",
|
subtitle = "Wallet",
|
||||||
accountTitleUM = AccountTitleUM.Account(
|
accountTitleUM = AccountTitleUM.Account(
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
prefixText = stringReference(StringsSigns.DOT),
|
prefixText = stringReference(StringsSigns.DOT),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ package com.tangem.feature.swap.preview
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
import com.tangem.common.ui.account.AccountTitleUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.core.ui.components.currency.icon.CurrencyIconState
|
import com.tangem.core.ui.components.currency.icon.CurrencyIconState
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.core.ui.extensions.stringReference
|
import com.tangem.core.ui.extensions.stringReference
|
||||||
|
|
@ -22,12 +22,12 @@ internal data object SwapSuccessStatePreview {
|
||||||
fromTitle = AccountTitleUM.Account(
|
fromTitle = AccountTitleUM.Account(
|
||||||
prefixText = stringReference("From"),
|
prefixText = stringReference("From"),
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
),
|
),
|
||||||
toTitle = AccountTitleUM.Account(
|
toTitle = AccountTitleUM.Account(
|
||||||
prefixText = stringReference("To"),
|
prefixText = stringReference("To"),
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
),
|
),
|
||||||
fromTokenAmount = TextReference.Str("1 000 DAI"),
|
fromTokenAmount = TextReference.Str("1 000 DAI"),
|
||||||
toTokenAmount = TextReference.Str("1 000 MATIC"),
|
toTokenAmount = TextReference.Str("1 000 MATIC"),
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.tangem.feature.swap.ui
|
||||||
import androidx.compose.ui.text.TextRange
|
import androidx.compose.ui.text.TextRange
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.common.ui.alerts.models.AlertDemoModeUM
|
import com.tangem.common.ui.alerts.models.AlertDemoModeUM
|
||||||
import com.tangem.common.ui.bottomsheet.permission.state.*
|
import com.tangem.common.ui.bottomsheet.permission.state.*
|
||||||
|
|
@ -1421,7 +1422,7 @@ internal class StateBuilder(
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
prefixText = resourceReference(R.string.common_from),
|
prefixText = resourceReference(R.string.common_from),
|
||||||
name = fromAccount.accountName.toUM().value,
|
name = fromAccount.accountName.toUM().value,
|
||||||
icon = fromAccount.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(fromAccount.icon),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
AccountTitleUM.Text(resourceReference(R.string.swapping_from_title))
|
AccountTitleUM.Text(resourceReference(R.string.swapping_from_title))
|
||||||
|
|
@ -1433,7 +1434,7 @@ internal class StateBuilder(
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
prefixText = resourceReference(R.string.common_to),
|
prefixText = resourceReference(R.string.common_to),
|
||||||
name = toAccount.accountName.toUM().value,
|
name = toAccount.accountName.toUM().value,
|
||||||
icon = toAccount.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(toAccount.icon),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
AccountTitleUM.Text(resourceReference(R.string.swapping_to_title))
|
AccountTitleUM.Text(resourceReference(R.string.swapping_to_title))
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ import coil.request.ImageRequest
|
||||||
import com.tangem.common.ui.account.AccountNameUM
|
import com.tangem.common.ui.account.AccountNameUM
|
||||||
import com.tangem.common.ui.account.AccountTitle
|
import com.tangem.common.ui.account.AccountTitle
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
import com.tangem.common.ui.account.AccountTitleUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.core.ui.R
|
import com.tangem.core.ui.R
|
||||||
import com.tangem.core.ui.components.*
|
import com.tangem.core.ui.components.*
|
||||||
import com.tangem.core.ui.extensions.resourceReference
|
import com.tangem.core.ui.extensions.resourceReference
|
||||||
|
|
@ -604,7 +604,7 @@ private fun TransactionCardPreviewWithPriceImpact() {
|
||||||
accountTitleUM = AccountTitleUM.Account(
|
accountTitleUM = AccountTitleUM.Account(
|
||||||
prefixText = resourceReference(R.string.common_from),
|
prefixText = resourceReference(R.string.common_from),
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
amountEquivalent = "1 000 000",
|
amountEquivalent = "1 000 000",
|
||||||
|
|
@ -626,7 +626,7 @@ private fun TransactionCardPreviewWithoutPriceImpact() {
|
||||||
accountTitleUM = AccountTitleUM.Account(
|
accountTitleUM = AccountTitleUM.Account(
|
||||||
prefixText = resourceReference(R.string.common_from),
|
prefixText = resourceReference(R.string.common_from),
|
||||||
name = AccountNameUM.DefaultMain.value,
|
name = AccountNameUM.DefaultMain.value,
|
||||||
icon = CryptoPortfolioIcon.ofDefaultCustomAccount().toUM(),
|
icon = CryptoPortfolioIconConverter.convert(CryptoPortfolioIcon.ofDefaultCustomAccount()),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
amountEquivalent = "1 000 000",
|
amountEquivalent = "1 000 000",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,8 @@ import com.arkivanov.decompose.router.stack.StackNavigation
|
||||||
import com.arkivanov.decompose.router.stack.pop
|
import com.arkivanov.decompose.router.stack.pop
|
||||||
import com.arkivanov.decompose.router.stack.pushNew
|
import com.arkivanov.decompose.router.stack.pushNew
|
||||||
import com.domain.blockaid.models.dapp.CheckDAppResult
|
import com.domain.blockaid.models.dapp.CheckDAppResult
|
||||||
import com.tangem.common.ui.account.CryptoPortfolioIconUM
|
import com.tangem.common.ui.account.AccountIconUM
|
||||||
|
import com.tangem.common.ui.account.CryptoPortfolioIconConverter
|
||||||
import com.tangem.common.ui.account.PortfolioSelectUM
|
import com.tangem.common.ui.account.PortfolioSelectUM
|
||||||
import com.tangem.common.ui.account.toUM
|
import com.tangem.common.ui.account.toUM
|
||||||
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
import com.tangem.core.analytics.api.AnalyticsEventHandler
|
||||||
|
|
@ -276,10 +277,10 @@ internal class WcPairModel @Inject constructor(
|
||||||
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
is Account.Payment -> TODO("[REDACTED_JIRA]")
|
||||||
}
|
}
|
||||||
val isAccountMode = selectorController.isAccountMode.first()
|
val isAccountMode = selectorController.isAccountMode.first()
|
||||||
val icon: CryptoPortfolioIconUM?
|
val icon: AccountIconUM.CryptoPortfolio?
|
||||||
val name: TextReference
|
val name: TextReference
|
||||||
if (isAccountMode) {
|
if (isAccountMode) {
|
||||||
icon = account.icon.toUM()
|
icon = CryptoPortfolioIconConverter.convert(account.icon)
|
||||||
name = account.accountName.toUM().value
|
name = account.accountName.toUM().value
|
||||||
} else {
|
} else {
|
||||||
icon = null
|
icon = null
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.walletconnect.connections.model.transformers
|
package com.tangem.features.walletconnect.connections.model.transformers
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.domain.account.models.AccountList
|
import com.tangem.domain.account.models.AccountList
|
||||||
|
|
@ -70,7 +71,7 @@ internal class WcSessionsAccountModeTransformer(
|
||||||
val accountTitle = AccountTitleUM.Account(
|
val accountTitle = AccountTitleUM.Account(
|
||||||
prefixText = TextReference.EMPTY,
|
prefixText = TextReference.EMPTY,
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = accountIcon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(accountIcon),
|
||||||
)
|
)
|
||||||
|
|
||||||
val accountConnections = WcConnectionsItem.PortfolioConnections(
|
val accountConnections = WcConnectionsItem.PortfolioConnections(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.tangem.features.walletconnect.transaction.converter
|
package com.tangem.features.walletconnect.transaction.converter
|
||||||
|
|
||||||
import com.tangem.common.ui.account.AccountTitleUM
|
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.account.toUM
|
||||||
import com.tangem.core.ui.extensions.TextReference
|
import com.tangem.core.ui.extensions.TextReference
|
||||||
import com.tangem.core.ui.extensions.stringReference
|
import com.tangem.core.ui.extensions.stringReference
|
||||||
|
|
@ -32,7 +33,7 @@ internal class WcPortfolioNameDelegate @AssistedInject constructor(
|
||||||
AccountTitleUM.Account(
|
AccountTitleUM.Account(
|
||||||
prefixText = TextReference.EMPTY,
|
prefixText = TextReference.EMPTY,
|
||||||
name = account.accountName.toUM().value,
|
name = account.accountName.toUM().value,
|
||||||
icon = account.icon.toUM(),
|
icon = CryptoPortfolioIconConverter.convert(account.icon),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
AccountTitleUM.Text(stringReference(value.wallet.name))
|
AccountTitleUM.Text(stringReference(value.wallet.name))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue