Updated on 2026-08-14
This commit is contained in:
parent
1169ea6d84
commit
3d33a141d3
4 changed files with 25 additions and 8 deletions
|
|
@ -38,7 +38,10 @@ internal sealed class Learn2earnEvents(
|
|||
params = mapOf(AnalyticsParam.CLIENT_TYPE to clientType.value),
|
||||
)
|
||||
|
||||
class NoticeClaimSuccess : MainScreen("Notice - Claim Successed")
|
||||
class NoticeClaimSuccess(clientType: AnalyticsParam.ClientType) : MainScreen(
|
||||
event = "Notice - Successful Claim",
|
||||
params = mapOf(AnalyticsParam.CLIENT_TYPE to clientType.value),
|
||||
)
|
||||
}
|
||||
|
||||
sealed class PromoScreen(
|
||||
|
|
@ -65,6 +68,6 @@ internal sealed class AnalyticsParam {
|
|||
}
|
||||
|
||||
companion object Key {
|
||||
const val CLIENT_TYPE = "Client type"
|
||||
const val CLIENT_TYPE = "Client Type"
|
||||
}
|
||||
}
|
||||
|
|
@ -141,11 +141,11 @@ class Learn2earnViewModel @Inject constructor(
|
|||
}
|
||||
|
||||
private fun onButtonMainClick() {
|
||||
if (interactor.isUserHadPromoCode() || interactor.isUserRegisteredInPromotion()) {
|
||||
analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.Old()))
|
||||
val isUserHasPromo = interactor.isUserHadPromoCode()
|
||||
analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(getAnalyticsClientType(isUserHasPromo)))
|
||||
if (isUserHasPromo || interactor.isUserRegisteredInPromotion()) {
|
||||
requestAward()
|
||||
} else {
|
||||
analytics.send(Learn2earnEvents.MainScreen.NoticeLear2earn(AnalyticsParam.ClientType.New()))
|
||||
subscribeToWebViewResultEvents()
|
||||
router.openWebView(interactor.buildUriForOldUser(), interactor.getBasicAuthHeaders())
|
||||
}
|
||||
|
|
@ -159,7 +159,13 @@ class Learn2earnViewModel @Inject constructor(
|
|||
.onSuccess { requestAwardResult ->
|
||||
requestAwardResult.fold(
|
||||
onSuccess = {
|
||||
analytics.send(Learn2earnEvents.MainScreen.NoticeClaimSuccess())
|
||||
analytics.send(
|
||||
Learn2earnEvents.MainScreen.NoticeClaimSuccess(
|
||||
clientType = getAnalyticsClientType(
|
||||
isUserHasPromo = interactor.isUserHadPromoCode(),
|
||||
),
|
||||
),
|
||||
)
|
||||
val onHideDialog = {
|
||||
uiState = uiState.updateViewsVisibility(isVisible = false)
|
||||
.hideDialog()
|
||||
|
|
@ -203,6 +209,14 @@ class Learn2earnViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
private fun getAnalyticsClientType(isUserHasPromo: Boolean): AnalyticsParam.ClientType {
|
||||
return if (isUserHasPromo) {
|
||||
AnalyticsParam.ClientType.New()
|
||||
} else {
|
||||
AnalyticsParam.ClientType.Old()
|
||||
}
|
||||
}
|
||||
|
||||
private fun createErrorDialog(error: PromotionError): MainScreenState.Dialog? {
|
||||
return when (error) {
|
||||
is PromotionError.CodeWasNotAppliedInShop -> {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue