diff --git a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt index de0d5e70fe..9b7763de26 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt @@ -174,10 +174,12 @@ class TokenItemStateConverter( wrappedList(apy), ) } + val isActive = currencyStatus.value.yieldSupplyStatus?.isActive ?: false TokenItemState.TitleState.Content( text = stringReference(currencyStatus.currency.name), hasPending = value.hasCurrentNetworkTransactions, earnApy = earnApyText, + earnApyIsActive = isActive, ) } } @@ -186,10 +188,6 @@ class TokenItemStateConverter( private fun resolveEarnApy(cryptoCurrencyStatus: CryptoCurrencyStatus, apyMap: Map): String? { if (apyMap.isEmpty()) return null - val isYieldSupplyActive = (cryptoCurrencyStatus.value as? CryptoCurrencyStatus.Loaded) - ?.yieldSupplyStatus?.isActive == true - if (isYieldSupplyActive) return null - val token = cryptoCurrencyStatus.currency as? CryptoCurrency.Token ?: return null return apyMap[token.yieldSupplyKey()] diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/token/internal/TokenTitle.kt b/core/ui/src/main/java/com/tangem/core/ui/components/token/internal/TokenTitle.kt index 3fadd11e81..685f7696ee 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/token/internal/TokenTitle.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/token/internal/TokenTitle.kt @@ -63,6 +63,7 @@ private fun ContentTitle(state: TokenTitleState.Content, modifier: Modifier = Mo YieldSupplyApyLabel( apy = state.earnApy, + isActive = state.earnApyIsActive, modifier = Modifier.align(alignment = Alignment.CenterVertically), ) } @@ -81,18 +82,26 @@ private fun CurrencyNameText(name: String, isAvailable: Boolean, modifier: Modif } @Composable -private fun YieldSupplyApyLabel(apy: TextReference?, modifier: Modifier = Modifier) { +private fun YieldSupplyApyLabel(apy: TextReference?, isActive: Boolean, modifier: Modifier = Modifier) { AnimatedVisibility(visible = apy != null, modifier = modifier) { Box( - modifier = modifier.background( - color = TangemTheme.colors.text.accent.copy(alpha = 0.1f), - shape = TangemTheme.shapes.roundedCornersSmall2, - ), + modifier = if (isActive) { + modifier.background( + color = TangemTheme.colors.text.accent.copy(alpha = 0.1f), + shape = TangemTheme.shapes.roundedCornersSmall2, + ) + } else { + modifier + }, ) { Text( text = apy?.resolveReference().orEmpty(), style = TangemTheme.typography.caption1, - color = TangemTheme.colors.text.accent, + color = if (isActive) { + TangemTheme.colors.text.accent + } else { + TangemTheme.colors.text.tertiary + }, modifier = Modifier.padding(horizontal = 4.dp, vertical = 2.dp), ) } diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/token/state/TokenItemState.kt b/core/ui/src/main/java/com/tangem/core/ui/components/token/state/TokenItemState.kt index f86a303999..88fc97f796 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/token/state/TokenItemState.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/token/state/TokenItemState.kt @@ -169,6 +169,7 @@ sealed class TokenItemState { val hasPending: Boolean = false, val isAvailable: Boolean = true, val earnApy: TextReference? = null, + val earnApyIsActive: Boolean = false, ) : TitleState() data object Loading : TitleState()