Updated on 2026-08-14

This commit is contained in:
Tangem 2025-05-15 11:39:28 +03:00
parent a72837204d
commit 96b4a46462
8 changed files with 30 additions and 24 deletions

View file

@ -4,11 +4,12 @@ import com.tangem.core.analytics.models.AnalyticsEvent
sealed class ReferralEvents(event: String) : AnalyticsEvent(REFERRAL_PROGRAM_CATEGORY, event) {
object ReferralScreenOpened : ReferralEvents(event = "Referral Screen Opened")
object ClickParticipate : ReferralEvents(event = "Button - Participate")
object ClickCopy : ReferralEvents(event = "Button - Copy")
object ClickShare : ReferralEvents(event = "Button - Share")
object ClickTaC : ReferralEvents(event = "Link - TaC")
data object ReferralScreenOpened : ReferralEvents(event = "Referral Screen Opened")
data object ClickParticipate : ReferralEvents(event = "Button - Participate")
data object ClickCopy : ReferralEvents(event = "Button - Copy")
data object ClickShare : ReferralEvents(event = "Button - Share")
data object ClickTaC : ReferralEvents(event = "Link - TaC")
data object ParticipateSuccessful : ReferralEvents(event = "Participate Successful")
}
private const val REFERRAL_PROGRAM_CATEGORY = "Referral Program"

View file

@ -91,7 +91,10 @@ internal class ReferralModel @Inject constructor(
uiState = uiState.copy(referralInfoState = ReferralInfoState.Loading)
modelScope.launch {
runCatching { referralInteractor.startReferral(params.userWalletId) }
.onSuccess(::showContent)
.onSuccess {
analyticsEventHandler.send(ReferralEvents.ParticipateSuccessful)
showContent(it)
}
.onFailure { throwable ->
if (throwable is ReferralError.UserCancelledException) {
lastReferralData?.let { referralData ->

View file

@ -39,7 +39,7 @@ internal data class ReferralStateHolder(
val onParticipateClicked: () -> Unit,
) : ReferralInfoState, ReferralInfoContentState
object Loading : ReferralInfoState
data object Loading : ReferralInfoState
}
data class ErrorSnackbar(