From 4d0a8c6ab0e2542171b95cc18d70d58df5953147 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 3 Jun 2025 18:17:54 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/core/analytics/models/AnalyticsParam.kt | 2 ++ .../com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt | 8 +++++--- .../tangem/features/nft/details/model/NFTDetailsModel.kt | 5 ++++- .../wallet/model/intents/WalletContentClickIntents.kt | 5 ++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt index 26da2b1161..fc00d6b5bc 100644 --- a/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt +++ b/core/analytics/models/src/main/java/com/tangem/core/analytics/models/AnalyticsParam.kt @@ -217,5 +217,7 @@ sealed class AnalyticsParam { const val PAYMENT_METHOD = "Payment Method" const val WATCHED = "Watched" const val ACTION = "Action" + const val COLLECTIONS = "Collections" + const val NFT = "Nft" } } \ No newline at end of file diff --git a/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt b/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt index dbb2139d18..34bb1ab6f7 100644 --- a/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt +++ b/domain/nft/src/main/kotlin/com/tangem/domain/nft/analytics/NFTAnalyticsEvent.kt @@ -2,7 +2,8 @@ package com.tangem.domain.nft.analytics import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam.Key.BLOCKCHAIN -import com.tangem.core.analytics.models.AnalyticsParam.Key.COUNT +import com.tangem.core.analytics.models.AnalyticsParam.Key.COLLECTIONS +import com.tangem.core.analytics.models.AnalyticsParam.Key.NFT import com.tangem.core.analytics.models.AnalyticsParam.Key.STATE sealed class NFTAnalyticsEvent( @@ -21,13 +22,14 @@ sealed class NFTAnalyticsEvent( params = buildMap { put(STATE, state.value) if (state is State.Full) { - put(COUNT, state.count.toString()) + put(COLLECTIONS, state.collectionsCount.toString()) + put(NFT, state.assetsCount.toString()) } }, ) { sealed class State(val value: String) { data object Empty : State("Empty") - data class Full(val count: Int) : State("Full") + data class Full(val assetsCount: Int, val collectionsCount: Int) : State("Full") } } diff --git a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/model/NFTDetailsModel.kt b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/model/NFTDetailsModel.kt index 8cdbd19cb9..a8e34b30c7 100644 --- a/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/model/NFTDetailsModel.kt +++ b/features/nft/impl/src/main/kotlin/com/tangem/features/nft/details/model/NFTDetailsModel.kt @@ -62,7 +62,10 @@ internal class NFTDetailsModel @Inject constructor( appCurrency = appCurrency, onBackClick = { params.onBackClick() }, onReadMoreClick = ::onReadMoreClick, - onSeeAllTraitsClick = { params.onAllTraitsClick() }, + onSeeAllTraitsClick = { + analyticsEventHandler.send(NFTAnalyticsEvent.Details.ButtonSeeAll) + params.onAllTraitsClick() + }, onExploreClick = ::onExploreClick, onSendClick = ::onSendClick, onInfoBlockClick = ::onInfoBlockClick, 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 93572eb403..dacede164b 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 @@ -239,7 +239,10 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( override fun onNFTClick(userWallet: UserWallet) { val selectedWallet = stateHolder.getSelectedWallet() as? WalletState.MultiCurrency.Content ?: return val analyticsState = when (val nftState = selectedWallet.nftState) { - is WalletNFTItemUM.Content -> NFTAnalyticsEvent.NFTListScreenOpened.State.Full(nftState.assetsCount) + is WalletNFTItemUM.Content -> NFTAnalyticsEvent.NFTListScreenOpened.State.Full( + assetsCount = nftState.assetsCount, + collectionsCount = nftState.collectionsCount, + ) is WalletNFTItemUM.Empty -> NFTAnalyticsEvent.NFTListScreenOpened.State.Empty is WalletNFTItemUM.Failed, is WalletNFTItemUM.Hidden,