From 9869f3059d9d8c9af7a18107a371a87c9b66b7cf Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 7 Apr 2026 12:58:49 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../ui/tokens/TokenItemStateConverter.kt | 25 +---- .../models/event/MainScreenAnalyticsEvent.kt | 17 ---- .../components/token/internal/TokenTitle.kt | 6 +- .../components/token/state/TokenItemState.kt | 10 -- .../core/ui/ds/row/token/TangemTokenRowUM.kt | 1 - .../ui/ds/row/token/internal/TokenRowTitle.kt | 6 -- .../intents/WalletContentClickIntents.kt | 97 +++---------------- .../converter/EarnApyConverter.kt | 7 +- .../converter/TokenListStateConverter.kt | 18 +--- .../WalletTokenCurrencyItemConverter.kt | 20 +--- 10 files changed, 20 insertions(+), 187 deletions(-) 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 4ffc157fb0..da7e2748eb 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 @@ -49,16 +49,14 @@ class TokenItemStateConverter( private val iconStateProvider: (CryptoCurrencyStatus) -> CurrencyIconState = { CryptoCurrencyToIconStateConverter().convert(it) }, - private val onApyLabelClick: ((CryptoCurrencyStatus, ApySource, String) -> Unit)? = null, private val onYieldPromoCloseClick: (() -> Unit)? = null, private val onYieldPromoShown: ((cryptoCurrency: CryptoCurrency) -> Unit)? = null, - private val onYieldPromoClicked: ((cryptoCurrency: CryptoCurrency) -> Unit)? = null, + private val onYieldPromoClicked: ((cryptoCurrencyStatus: CryptoCurrencyStatus, apy: String) -> Unit)? = null, private val titleStateProvider: (CryptoCurrencyStatus) -> TokenItemState.TitleState = { currencyStatus -> createTitleState( currencyStatus = currencyStatus, yieldModuleApyMap = yieldModuleApyMap, stakingApyMap = stakingApyMap, - onApyLabelClick = onApyLabelClick, ) }, private val subtitleStateProvider: (CryptoCurrencyStatus) -> TokenItemState.SubtitleState? = { @@ -75,7 +73,6 @@ class TokenItemStateConverter( status = status, yieldModuleApyMap = yieldModuleApyMap, promoCryptoCurrencyStatus = promoCryptoCurrencyStatus, - onApyLabelClick = onApyLabelClick, onYieldPromoCloseClick = onYieldPromoCloseClick, onYieldPromoShown = onYieldPromoShown, onYieldPromoClicked = onYieldPromoClicked, @@ -159,7 +156,6 @@ class TokenItemStateConverter( currencyStatus: CryptoCurrencyStatus, yieldModuleApyMap: Map, stakingApyMap: Map, - onApyLabelClick: ((CryptoCurrencyStatus, ApySource, String) -> Unit)?, ): TokenItemState.TitleState { return when (val value = currencyStatus.value) { is CryptoCurrencyStatus.Loading, @@ -184,11 +180,6 @@ class TokenItemStateConverter( hasPending = value.hasCurrentNetworkTransactions, earnApy = apyInfo?.text, earnApyIsActive = apyInfo?.isActive == true, - onApyLabelClick = if (apyInfo?.apy != null && onApyLabelClick != null) { - { onApyLabelClick.invoke(currencyStatus, apyInfo.source, apyInfo.apy) } - } else { - null - }, ) } } @@ -217,7 +208,6 @@ class TokenItemStateConverter( ), isActive = isActive, apy = yieldSupplyApy.toString(), - source = ApySource.YIELD_SUPPLY, ) } } @@ -243,7 +233,6 @@ class TokenItemStateConverter( ), isActive = stakingInfo.isActive, apy = apyString, - source = ApySource.STAKING, ) } } @@ -388,10 +377,9 @@ class TokenItemStateConverter( status: CryptoCurrencyStatus, yieldModuleApyMap: Map, promoCryptoCurrencyStatus: CryptoCurrencyStatus?, - onApyLabelClick: ((CryptoCurrencyStatus, ApySource, String) -> Unit)?, onYieldPromoCloseClick: (() -> Unit)?, onYieldPromoShown: ((cryptoCurrency: CryptoCurrency) -> Unit)?, - onYieldPromoClicked: ((cryptoCurrency: CryptoCurrency) -> Unit)?, + onYieldPromoClicked: ((cryptoCurrencyStatus: CryptoCurrencyStatus, apy: String) -> Unit)?, ): TokenItemState.PromoBannerState { val token = status.currency as? CryptoCurrency.Token ?: return TokenItemState.PromoBannerState.Empty if (status.value !is CryptoCurrencyStatus.Loaded) { @@ -413,8 +401,7 @@ class TokenItemStateConverter( wrappedList(yieldSupplyApy), ), onPromoBannerClick = { - onYieldPromoClicked?.invoke(status.currency) - onApyLabelClick?.invoke(status, ApySource.YIELD_SUPPLY, yieldSupplyApy.toString()) + onYieldPromoClicked?.invoke(status, yieldSupplyApy.toString()) }, onCloseClick = { onYieldPromoCloseClick?.invoke() @@ -464,11 +451,5 @@ class TokenItemStateConverter( val text: TextReference?, val isActive: Boolean, val apy: String?, - val source: ApySource, ) - - enum class ApySource { - STAKING, - YIELD_SUPPLY, - } } \ No newline at end of file diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/MainScreenAnalyticsEvent.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/MainScreenAnalyticsEvent.kt index 956ae894c9..c95cd337df 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/MainScreenAnalyticsEvent.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/event/MainScreenAnalyticsEvent.kt @@ -2,10 +2,8 @@ package com.tangem.core.analytics.models.event import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam -import com.tangem.core.analytics.models.AnalyticsParam.Key.ACTION import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN import com.tangem.core.analytics.models.AnalyticsParam.Key.ERROR_CODE -import com.tangem.core.analytics.models.AnalyticsParam.Key.STATE import com.tangem.core.analytics.models.AnalyticsParam.Key.TOKEN_PARAM /** @@ -124,21 +122,6 @@ sealed class MainScreenAnalyticsEvent( params = mapOf(ERROR_CODE to errorCode), ) - data class ApyClicked( - val token: String, - val blockchain: String, - val action: String, - val state: String, - ) : MainScreenAnalyticsEvent( - event = "APY Clicked", - params = mapOf( - TOKEN_PARAM to token, - BLOCKCHAIN to blockchain, - ACTION to action, - STATE to state, - ), - ) - data class YieldPromo( val token: String, val blockchain: String, 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 6c4a0dea38..fa1d2aa36f 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 @@ -3,7 +3,6 @@ package com.tangem.core.ui.components.token.internal import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.Image import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -68,10 +67,7 @@ private fun ContentTitle(state: TokenTitleState.Content, textStyle: TextStyle, m apy = state.earnApy, isActive = state.earnApyIsActive, modifier = Modifier - .align(alignment = Alignment.CenterVertically) - .clickable { - state.onApyLabelClick?.invoke() - }, + .align(alignment = Alignment.CenterVertically), ) } } 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 d4e8f3e33e..beec4ce551 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 @@ -42,9 +42,6 @@ sealed class TokenItemState { /** Callback which will be called when an item is long clicked */ abstract val onItemLongClick: ((TokenItemState) -> Unit)? - /** Callback which will be called when an apy label is clicked */ - abstract val onApyLabelClick: ((TokenItemState) -> Unit)? - /** * Loading token state * @@ -64,7 +61,6 @@ sealed class TokenItemState { override val promoBannerState: PromoBannerState = PromoBannerState.Empty override val onItemClick: ((TokenItemState) -> Unit)? = null override val onItemLongClick: ((TokenItemState) -> Unit)? = null - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null } /** @@ -81,7 +77,6 @@ sealed class TokenItemState { override val promoBannerState: PromoBannerState = PromoBannerState.Empty override val onItemClick: ((TokenItemState) -> Unit)? = null override val onItemLongClick: ((TokenItemState) -> Unit)? = null - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null } /** @@ -106,7 +101,6 @@ sealed class TokenItemState { override val promoBannerState: PromoBannerState = PromoBannerState.Empty, override val onItemClick: ((TokenItemState) -> Unit)?, override val onItemLongClick: ((TokenItemState) -> Unit)?, - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null, ) : TokenItemState() /** @@ -128,7 +122,6 @@ sealed class TokenItemState { override val promoBannerState: PromoBannerState = PromoBannerState.Empty override val onItemClick: ((TokenItemState) -> Unit)? = null override val onItemLongClick: ((TokenItemState) -> Unit)? = null - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null } /** @@ -146,7 +139,6 @@ sealed class TokenItemState { override val iconState: CurrencyIconState, override val titleState: TitleState, override val subtitleState: SubtitleState? = null, - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null, override val onItemClick: ((TokenItemState) -> Unit)?, override val onItemLongClick: ((TokenItemState) -> Unit)?, ) : TokenItemState() { @@ -174,7 +166,6 @@ sealed class TokenItemState { override val fiatAmountState: FiatAmountState? = null override val subtitle2State: Subtitle2State? = null override val onItemClick: ((TokenItemState) -> Unit)? = null - override val onApyLabelClick: ((TokenItemState) -> Unit)? = null override val promoBannerState: PromoBannerState = PromoBannerState.Empty } @@ -187,7 +178,6 @@ sealed class TokenItemState { val isAvailable: Boolean = true, val earnApy: TextReference? = null, val earnApyIsActive: Boolean = false, - val onApyLabelClick: (() -> Unit)? = null, ) : TitleState() data object Loading : TitleState() diff --git a/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/TangemTokenRowUM.kt b/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/TangemTokenRowUM.kt index b246291079..4c7cb6ba41 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/TangemTokenRowUM.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/TangemTokenRowUM.kt @@ -128,7 +128,6 @@ sealed class TangemTokenRowUM : TangemRowUM { val hasPending: Boolean = false, val isAvailable: Boolean = true, val badge: TangemBadgeUM? = null, - val onBadgeClick: (() -> Unit)? = null, ) : TitleUM() @Serializable diff --git a/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/internal/TokenRowTitle.kt b/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/internal/TokenRowTitle.kt index 7d641d8d4c..03fe55b0cc 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/internal/TokenRowTitle.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/ds/row/token/internal/TokenRowTitle.kt @@ -3,7 +3,6 @@ package com.tangem.core.ui.ds.row.token.internal import android.content.res.Configuration import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.Image -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth @@ -23,7 +22,6 @@ import com.tangem.core.ui.components.TextShimmer import com.tangem.core.ui.ds.badge.TangemBadge import com.tangem.core.ui.ds.placeholder.TextPlaceholder import com.tangem.core.ui.ds.row.token.TangemTokenRowUM -import com.tangem.core.ui.extensions.conditional import com.tangem.core.ui.extensions.resolveAnnotatedReference import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreviewRedesign @@ -82,10 +80,6 @@ private fun ContentTitle(titleUM: TangemTokenRowUM.TitleUM.Content, modifier: Mo AnimatedVisibility( visible = titleUM.badge != null, - modifier = Modifier.conditional( - condition = titleUM.onBadgeClick != null, - modifier = { clickable(onClick = requireNotNull(titleUM.onBadgeClick)) }, - ), ) { val wrappedBadge = remember(this) { requireNotNull(titleUM.badge) } TangemBadge(wrappedBadge) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt index 8158d28f2b..8f880da28c 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletContentClickIntents.kt @@ -4,7 +4,6 @@ import androidx.compose.ui.geometry.Offset import arrow.core.getOrElse import com.tangem.utils.logging.TangemLogger import com.tangem.common.ui.expressStatus.ExpressStatusBottomSheetConfig -import com.tangem.common.ui.tokens.TokenItemStateConverter.ApySource import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.core.analytics.models.event.MainScreenAnalyticsEvent @@ -16,13 +15,11 @@ import com.tangem.domain.models.account.Account import com.tangem.domain.models.account.AccountId import com.tangem.domain.models.currency.CryptoCurrency import com.tangem.domain.models.currency.CryptoCurrencyStatus -import com.tangem.domain.models.staking.StakingBalance import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.nft.analytics.NFTAnalyticsEvent import com.tangem.domain.settings.ShouldShowMarketsTooltipUseCase import com.tangem.domain.tokens.GetCryptoCurrencyActionsUseCase -import com.tangem.domain.tokens.model.details.NavigationAction import com.tangem.domain.txhistory.usecase.GetExplorerTransactionUrlUseCase import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.domain.yield.supply.usecase.YieldSupplySetShouldShowMainPromoUseCase @@ -66,13 +63,11 @@ internal interface WalletContentClickIntents { tokenRowUM: TangemTokenRowUM, ) - fun onApyLabelClick(accountId: AccountId, currencyStatus: CryptoCurrencyStatus, apySource: ApySource, apy: String) - fun onYieldPromoCloseClick() fun onYieldPromoShown(cryptoCurrency: CryptoCurrency) - fun onYieldPromoClicked(cryptoCurrency: CryptoCurrency) + fun onYieldPromoClicked(accountId: AccountId, cryptoCurrencyStatus: CryptoCurrencyStatus, apy: String) fun onAccountExpandClick(account: Account) @@ -209,36 +204,6 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( } } - override fun onApyLabelClick( - accountId: AccountId, - currencyStatus: CryptoCurrencyStatus, - apySource: ApySource, - apy: String, - ) { - val navigationAction = when (apySource) { - ApySource.STAKING -> NavigationAction.Staking - ApySource.YIELD_SUPPLY -> { - NavigationAction.YieldSupply(currencyStatus.value.yieldSupplyStatus?.isActive == true) - } - } - - sendApyLabelClickAnalytics(navigationAction, currencyStatus) - - when (navigationAction) { - is NavigationAction.Staking -> router.openTokenDetails( - accountId.userWalletId, - currencyStatus, - navigationAction, - ) - is NavigationAction.YieldSupply -> openYieldSupply( - userWalletId = accountId.userWalletId, - cryptoCurrencyStatus = currencyStatus, - apy = apy, - ) - is NavigationAction.CloreMigration -> Unit - } - } - override fun onYieldPromoCloseClick() { modelScope.launch { yieldSupplySetShouldShowMainPromoUseCase(false) @@ -255,15 +220,18 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( } } - override fun onYieldPromoClicked(cryptoCurrency: CryptoCurrency) { - modelScope.launch(dispatchers.io) { - analyticsEventHandler.send( - MainScreenAnalyticsEvent.YieldPromoClicked( - token = cryptoCurrency.symbol, - blockchain = cryptoCurrency.network.name, - ), - ) - } + override fun onYieldPromoClicked(accountId: AccountId, cryptoCurrencyStatus: CryptoCurrencyStatus, apy: String) { + analyticsEventHandler.send( + MainScreenAnalyticsEvent.YieldPromoClicked( + token = cryptoCurrencyStatus.currency.symbol, + blockchain = cryptoCurrencyStatus.currency.network.name, + ), + ) + router.openYieldSupplyEntryScreen( + userWalletId = accountId.userWalletId, + cryptoCurrency = cryptoCurrencyStatus.currency, + apy = apy, + ) } override fun onAccountExpandClick(account: Account) { @@ -287,45 +255,6 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( ) } - private fun openYieldSupply(userWalletId: UserWalletId, cryptoCurrencyStatus: CryptoCurrencyStatus, apy: String) { - router.openYieldSupplyEntryScreen( - userWalletId = userWalletId, - cryptoCurrency = cryptoCurrencyStatus.currency, - apy = apy, - ) - } - - private fun sendApyLabelClickAnalytics(navigationAction: NavigationAction, currencyStatus: CryptoCurrencyStatus) { - val event = when (navigationAction) { - is NavigationAction.YieldSupply -> { - MainScreenAnalyticsEvent.ApyClicked( - token = currencyStatus.currency.symbol, - blockchain = currencyStatus.currency.network.name, - action = "Earning", - state = if (currencyStatus.value.yieldSupplyStatus?.isActive == true) { - "Enabled" - } else { - "Disabled" - }, - ) - } - is NavigationAction.Staking -> { - MainScreenAnalyticsEvent.ApyClicked( - token = currencyStatus.currency.symbol, - blockchain = currencyStatus.currency.network.name, - action = "Staking", - state = if (currencyStatus.value.stakingBalance is StakingBalance.Data) { - "Enabled" - } else { - "Disabled" - }, - ) - } - is NavigationAction.CloreMigration -> return - } - analyticsEventHandler.send(event) - } - override fun onTransactionClick(txHash: String) { modelScope.launch(dispatchers.main) { val currency = singleAccountStatusListSupplier.unwrap( diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/EarnApyConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/EarnApyConverter.kt index 25f9f9df7b..050519fc12 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/EarnApyConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/EarnApyConverter.kt @@ -1,7 +1,6 @@ package com.tangem.feature.wallet.presentation.wallet.state.transformers.converter import com.tangem.common.ui.R -import com.tangem.common.ui.tokens.TokenItemStateConverter import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.wrappedList @@ -15,7 +14,6 @@ import com.tangem.domain.staking.model.StakingAvailability import com.tangem.domain.staking.model.StakingOption import com.tangem.domain.staking.model.common.RewardInfo import com.tangem.domain.staking.model.common.RewardType -import com.tangem.feature.wallet.presentation.wallet.state.transformers.converter.EarnApyConverter.EarnApyInfo import com.tangem.lib.crypto.BlockchainUtils import com.tangem.utils.converter.Converter import java.math.BigDecimal @@ -23,7 +21,7 @@ import java.math.BigDecimal internal class EarnApyConverter( val yieldModuleApyMap: Map, val stakingApyMap: Map, -) : Converter { +) : Converter { override fun convert(value: CryptoCurrencyStatus): EarnApyInfo? { val token = value.currency as? CryptoCurrency.Token @@ -43,7 +41,6 @@ internal class EarnApyConverter( ), isActive = isActive, apy = yieldSupplyApy.toString(), - source = TokenItemStateConverter.ApySource.YIELD_SUPPLY, ) } } @@ -69,7 +66,6 @@ internal class EarnApyConverter( ), isActive = stakingInfo.isActive, apy = apyString, - source = TokenItemStateConverter.ApySource.STAKING, ) } } @@ -134,6 +130,5 @@ internal class EarnApyConverter( val text: TextReference?, val isActive: Boolean, val apy: String?, - val source: TokenItemStateConverter.ApySource, ) } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenListStateConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenListStateConverter.kt index b9bbb76f34..926fdead7a 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenListStateConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/TokenListStateConverter.kt @@ -58,21 +58,6 @@ internal class TokenListStateConverter( clickIntents.onTokenItemLongClick(accountId, currencyStatus) } - private val onApyLabelClick: ( - currencyStatus: CryptoCurrencyStatus, - accountId: AccountId, - apySource: TokenItemStateConverter.ApySource, - apy: String, - ) -> Unit = - { currencyStatus, accountId, apySource, apy -> - clickIntents.onApyLabelClick( - accountId = accountId, - currencyStatus = currencyStatus, - apySource = apySource, - apy = apy, - ) - } - private fun tokenStatusConverter(accountId: AccountId) = TokenItemStateConverter( appCurrency = appCurrency, yieldModuleApyMap = yieldModuleApyMap, @@ -80,10 +65,9 @@ internal class TokenListStateConverter( stakingApyMap = stakingAvailabilityMap, onItemClick = { _, status -> onTokenClick(accountId, status) }, onItemLongClick = { _, status -> onTokenLongClick(accountId, status) }, - onApyLabelClick = { status, apySource, apy -> onApyLabelClick(status, accountId, apySource, apy) }, onYieldPromoCloseClick = clickIntents::onYieldPromoCloseClick, onYieldPromoShown = clickIntents::onYieldPromoShown, - onYieldPromoClicked = clickIntents::onYieldPromoClicked, + onYieldPromoClicked = { status, apy -> clickIntents.onYieldPromoClicked(accountId, status, apy) }, ) override fun convert(value: WalletTokensListState): WalletTokensListState { diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt index 8697f5a9eb..77c5ee9b32 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/WalletTokenCurrencyItemConverter.kt @@ -120,18 +120,6 @@ internal class WalletTokenCurrencyItemConverter( shape = TangemBadgeShape.Rounded, size = TangemBadgeSize.X4, text = earnApyInfo.text, - onClick = if (earnApyInfo.apy != null) { - { - clickIntents.onApyLabelClick( - accountId = accountId, - currencyStatus = currencyStatus, - apySource = earnApyInfo.source, - apy = earnApyInfo.apy, - ) - } - } else { - null - }, ) } else { null @@ -288,13 +276,7 @@ internal class WalletTokenCurrencyItemConverter( iconRes = R.drawable.ic_yield_mode_mini_12, type = TangemTokenRowUM.PromoBannerUM.Content.Type.Yield, onPromoBannerClick = { - clickIntents.onYieldPromoClicked(currency) - clickIntents.onApyLabelClick( - accountId = accountId, - currencyStatus = currencyStatus, - apySource = earnApyInfo.source, - apy = earnApyInfo.apy, - ) + clickIntents.onYieldPromoClicked(accountId, currencyStatus, earnApyInfo.apy) }, onCloseClick = clickIntents::onYieldPromoCloseClick, onPromoShown = {