diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconState.kt b/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconState.kt
index 85e49532fc..f19975ab9e 100644
--- a/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconState.kt
+++ b/core/ui/src/main/java/com/tangem/core/ui/components/currency/icon/CurrencyIconState.kt
@@ -38,7 +38,7 @@ sealed class CurrencyIconState {
* Represents a token icon.
*
* @property url The URL where the token icon can be fetched from. May be `null` if not found.
- * @property topBadgeIconResId The drawable resource ID for the network badge.
+ * @property topBadgeIconResId The drawable resource ID for the network badge. May be `null`.
* @property isGrayscale Specifies whether to show the icon in grayscale.
* @property showCustomBadge Specifies whether to show the custom token badge.
* @property fallbackTint The color to be used for tinting the fallback icon.
@@ -46,7 +46,7 @@ sealed class CurrencyIconState {
*/
data class TokenIcon(
val url: String?,
- @DrawableRes override val topBadgeIconResId: Int,
+ @DrawableRes override val topBadgeIconResId: Int?,
override val isGrayscale: Boolean,
override val showCustomBadge: Boolean,
val fallbackTint: Color,
@@ -81,4 +81,28 @@ sealed class CurrencyIconState {
override val showCustomBadge: Boolean = false
override val topBadgeIconResId: Int? = null
}
+
+ fun copySealed(
+ isGrayscale: Boolean = this.isGrayscale,
+ showCustomBadge: Boolean = this.showCustomBadge,
+ topBadgeIconResId: Int? = this.topBadgeIconResId,
+ ): CurrencyIconState = when (this) {
+ is CoinIcon -> copy(
+ isGrayscale = isGrayscale,
+ showCustomBadge = showCustomBadge,
+ )
+ is CustomTokenIcon -> copy(
+ isGrayscale = isGrayscale,
+ showCustomBadge = showCustomBadge,
+ topBadgeIconResId = topBadgeIconResId ?: this.topBadgeIconResId,
+ )
+ is TokenIcon -> copy(
+ isGrayscale = isGrayscale,
+ showCustomBadge = showCustomBadge,
+ topBadgeIconResId = topBadgeIconResId,
+ )
+ is Loading,
+ is Locked,
+ -> this
+ }
}
\ No newline at end of file
diff --git a/core/ui/src/main/res/drawable/ic_tether_24.xml b/core/ui/src/main/res/drawable/ic_tether_24.xml
new file mode 100644
index 0000000000..3c53fbab8e
--- /dev/null
+++ b/core/ui/src/main/res/drawable/ic_tether_24.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
diff --git a/core/ui/src/main/res/drawable/ic_tether_28.xml b/core/ui/src/main/res/drawable/ic_tether_28.xml
deleted file mode 100644
index e3f94b5dbb..0000000000
--- a/core/ui/src/main/res/drawable/ic_tether_28.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
diff --git a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt
index 7d6614a7aa..9fe33b7bd6 100644
--- a/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt
+++ b/features/referral/presentation/src/main/java/com/tangem/feature/referral/ui/ReferralScreen.kt
@@ -195,7 +195,7 @@ private fun ReferralInfo(
}
is ReferralInfoState.Loading -> {
- LoadingCondition(iconResId = R.drawable.ic_tether_28)
+ LoadingCondition(iconResId = R.drawable.ic_tether_24)
SpacerH32()
LoadingCondition(iconResId = R.drawable.ic_discount_28)
}
@@ -211,7 +211,7 @@ private fun Conditions(state: ReferralInfoContentState) {
@Composable
private fun ConditionForYou(state: ReferralInfoContentState) {
- Condition(iconResId = R.drawable.ic_tether_28) {
+ Condition(iconResId = R.drawable.ic_tether_24) {
when (state) {
is ReferralInfoState.ParticipantContent -> InfoForYou(
award = state.award,