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 34386ffbda..0bddee75b0 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 @@ -38,12 +38,14 @@ sealed class MainScreenAnalyticsEvent( event = "Button - Receive", ) - class ButtonAddFunds : MainScreenAnalyticsEvent( + data class ButtonAddFunds(val status: AnalyticsParam.Status) : MainScreenAnalyticsEvent( event = "Button - Add Funds", + params = mapOf(AnalyticsParam.STATUS to status.value), ) - class ButtonTransfer : MainScreenAnalyticsEvent( + data class ButtonTransfer(val status: AnalyticsParam.Status) : MainScreenAnalyticsEvent( event = "Button - Transfer", + params = mapOf(AnalyticsParam.STATUS to status.value), ) class LimitsClicked : MainScreenAnalyticsEvent( diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletClickIntents.kt index 16cfe24897..eb0d29c06f 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/child/wallet/model/intents/WalletClickIntents.kt @@ -1,6 +1,7 @@ package com.tangem.feature.wallet.child.wallet.model.intents import com.tangem.core.analytics.api.AnalyticsEventHandler +import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.core.analytics.models.event.MainScreenAnalyticsEvent import com.tangem.core.decompose.di.ModelScoped import com.tangem.core.decompose.ui.UiMessageSender @@ -105,15 +106,21 @@ internal class WalletClickIntents @Inject constructor( } fun onAddFundsClick(userWalletId: UserWalletId) { - analyticsEventHandler.send(MainScreenAnalyticsEvent.ButtonAddFunds()) + analyticsEventHandler.send(MainScreenAnalyticsEvent.ButtonAddFunds(status = AnalyticsParam.Status.Success)) router.openAddFunds(userWalletId) } fun onTransferClick(userWalletId: UserWalletId) { - analyticsEventHandler.send(MainScreenAnalyticsEvent.ButtonTransfer()) - val selectedWallet = stateController.getSelectedWalletUM() as? WalletUM.Content - if (selectedWallet?.areActionsAvailable == false) { + val areActionsAvailable = selectedWallet?.areActionsAvailable != false + + analyticsEventHandler.send( + MainScreenAnalyticsEvent.ButtonTransfer( + status = if (areActionsAvailable) AnalyticsParam.Status.Success else AnalyticsParam.Status.Error, + ), + ) + + if (!areActionsAvailable) { uiMessageSender.send(WalletAlertUM.unavailableOperation()) return }