Updated on 2026-08-14

This commit is contained in:
Tangem 2023-12-18 16:33:58 +02:00
parent b5b4122c5f
commit 946c8690f3
2 changed files with 27 additions and 12 deletions

View file

@ -3,6 +3,7 @@ package com.tangem.feature.swap.analytics
import com.tangem.core.analytics.models.AnalyticsEvent
import com.tangem.feature.swap.domain.models.domain.SwapProvider
import com.tangem.feature.swap.domain.models.ui.FeeType
import com.tangem.feature.swap.models.ApproveType
private const val SWAP_CATEGORY = "Swap"
@ -38,9 +39,17 @@ sealed class SwapEvents(
object ButtonGivePermissionClicked : SwapEvents(event = "Button - Give permission")
data class ButtonPermissionApproveClicked(val sendToken: String, val receiveToken: String) : SwapEvents(
data class ButtonPermissionApproveClicked(
val sendToken: String,
val receiveToken: String,
val approveType: ApproveType,
) : SwapEvents(
event = "Button - Permission Approve",
params = mapOf("Send Token" to sendToken, "Receive Token" to receiveToken),
params = mapOf(
"Send Token" to sendToken,
"Receive Token" to receiveToken,
"Type" to if (approveType == ApproveType.LIMITED) "Current Transaction" else "Unlimited"
),
)
object ButtonPermissionCancelClicked : SwapEvents(event = "Button - Permission Cancel")

View file

@ -733,16 +733,7 @@ internal class SwapViewModel @Inject constructor(
},
onGivePermissionClick = {
givePermissionsToSwap()
val sendTokenSymbol = dataState.fromCryptoCurrency?.currency?.symbol
val receiveTokenSymbol = dataState.toCryptoCurrency?.currency?.symbol
if (sendTokenSymbol != null && receiveTokenSymbol != null) {
analyticsEventHandler.send(
SwapEvents.ButtonPermissionApproveClicked(
sendToken = sendTokenSymbol,
receiveToken = receiveTokenSymbol,
),
)
}
sendPermissionApproveClickedEvent()
},
onChangeCardsClicked = {
onChangeCardsClicked()
@ -955,6 +946,21 @@ internal class SwapViewModel @Inject constructor(
.contains(chosen.currency)
}
private fun sendPermissionApproveClickedEvent() {
val sendTokenSymbol = dataState.fromCryptoCurrency?.currency?.symbol
val receiveTokenSymbol = dataState.toCryptoCurrency?.currency?.symbol
val approveType = dataState.approveType
if (sendTokenSymbol != null && receiveTokenSymbol != null && approveType != null) {
analyticsEventHandler.send(
SwapEvents.ButtonPermissionApproveClicked(
sendToken = sendTokenSymbol,
receiveToken = receiveTokenSymbol,
approveType = approveType,
),
)
}
}
companion object {
private const val loggingTag = "SwapViewModel"
private const val INITIAL_AMOUNT = ""