Updated on 2026-08-14

This commit is contained in:
Tangem 2025-11-07 10:48:16 +03:00
commit 714eb51ce5
34 changed files with 345 additions and 114 deletions

View file

@ -48,8 +48,11 @@ class TokenItemStateConverter(
private val iconStateProvider: (CryptoCurrencyStatus) -> CurrencyIconState = {
CryptoCurrencyToIconStateConverter().convert(it)
},
private val onApyLabelClick: ((CryptoCurrencyStatus) -> Unit)? = null,
private val titleStateProvider: (CryptoCurrencyStatus) -> TokenItemState.TitleState = {
createTitleState(it, yieldModuleApyMap, stakingApyMap)
createTitleState(it, yieldModuleApyMap, stakingApyMap, {
onApyLabelClick?.invoke(it)
})
},
private val subtitleStateProvider: (CryptoCurrencyStatus) -> TokenItemState.SubtitleState? = {
createSubtitleState(it, appCurrency)
@ -102,6 +105,9 @@ class TokenItemStateConverter(
onItemLongClick = onItemLongClick?.let { onItemLongClick ->
{ onItemLongClick(it, this) }
},
onApyLabelClick = onApyLabelClick?.let { onApyLabelClick ->
{ onApyLabelClick(this) }
},
)
}
@ -160,6 +166,7 @@ class TokenItemStateConverter(
currencyStatus: CryptoCurrencyStatus,
yieldModuleApyMap: Map<String, String>,
stakingApyMap: Map<String, List<Yield.Validator>>,
onApyLabelClick: () -> Unit,
): TokenItemState.TitleState {
return when (val value = currencyStatus.value) {
is CryptoCurrencyStatus.Loading,
@ -184,6 +191,7 @@ class TokenItemStateConverter(
hasPending = value.hasCurrentNetworkTransactions,
earnApy = earnApyText,
earnApyIsActive = isActive,
onApyLabelClick = onApyLabelClick,
)
}
}