Updated on 2026-08-14
This commit is contained in:
parent
8632680f20
commit
e024d739b7
87 changed files with 386 additions and 374 deletions
|
|
@ -4,12 +4,12 @@ import com.tangem.core.analytics.models.AnalyticsEvent
|
|||
|
||||
sealed class ReferralEvents(event: String) : AnalyticsEvent(REFERRAL_PROGRAM_CATEGORY, event) {
|
||||
|
||||
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")
|
||||
class ReferralScreenOpened : ReferralEvents(event = "Referral Screen Opened")
|
||||
class ClickParticipate : ReferralEvents(event = "Button - Participate")
|
||||
class ClickCopy : ReferralEvents(event = "Button - Copy")
|
||||
class ClickShare : ReferralEvents(event = "Button - Share")
|
||||
class ClickTaC : ReferralEvents(event = "Link - TaC")
|
||||
class ParticipateSuccessful : ReferralEvents(event = "Participate Successful")
|
||||
}
|
||||
|
||||
private const val REFERRAL_PROGRAM_CATEGORY = "Referral Program"
|
||||
|
|
@ -90,7 +90,7 @@ internal class ReferralModel @Inject constructor(
|
|||
}
|
||||
|
||||
init {
|
||||
analyticsEventHandler.send(ReferralEvents.ReferralScreenOpened)
|
||||
analyticsEventHandler.send(ReferralEvents.ReferralScreenOpened())
|
||||
if (accountsFeatureToggles.isFeatureEnabled) {
|
||||
combine(
|
||||
flow = referralData.filterNotNull().onEach(::selectAccount),
|
||||
|
|
@ -178,7 +178,7 @@ internal class ReferralModel @Inject constructor(
|
|||
if (userWallet is UserWallet.Cold && isDemoCardUseCase(cardId = userWallet.cardId)) {
|
||||
showErrorSnackbar(DemoModeException())
|
||||
} else {
|
||||
analyticsEventHandler.send(ReferralEvents.ClickParticipate)
|
||||
analyticsEventHandler.send(ReferralEvents.ClickParticipate())
|
||||
val lastInfoState = uiState.referralInfoState
|
||||
uiState = uiState.copy(referralInfoState = ReferralInfoState.Loading)
|
||||
modelScope.launch {
|
||||
|
|
@ -187,9 +187,9 @@ internal class ReferralModel @Inject constructor(
|
|||
false -> PortfolioId(params.userWalletId)
|
||||
}
|
||||
runCatching { referralInteractor.startReferral(portfolioId) }
|
||||
.onSuccess {
|
||||
analyticsEventHandler.send(ReferralEvents.ParticipateSuccessful)
|
||||
referralData.value = it
|
||||
.onSuccess { referral ->
|
||||
analyticsEventHandler.send(ReferralEvents.ParticipateSuccessful())
|
||||
referralData.value = referral
|
||||
}
|
||||
.onFailure { throwable ->
|
||||
if (throwable is ReferralError.UserCancelledException) {
|
||||
|
|
@ -213,17 +213,17 @@ internal class ReferralModel @Inject constructor(
|
|||
}
|
||||
|
||||
private fun onAgreementClicked() {
|
||||
analyticsEventHandler.send(ReferralEvents.ClickTaC)
|
||||
analyticsEventHandler.send(ReferralEvents.ClickTaC())
|
||||
|
||||
lastReferralData?.tosLink?.let(urlOpener::openUrl)
|
||||
}
|
||||
|
||||
private fun onCopyClicked() {
|
||||
analyticsEventHandler.send(ReferralEvents.ClickCopy)
|
||||
analyticsEventHandler.send(ReferralEvents.ClickCopy())
|
||||
}
|
||||
|
||||
private fun onShareClicked(text: String) {
|
||||
analyticsEventHandler.send(ReferralEvents.ClickShare)
|
||||
analyticsEventHandler.send(ReferralEvents.ClickShare())
|
||||
|
||||
shareManager.shareText(text = text)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue