NTP-60715 | cta redirection handling added (#16027)

This commit is contained in:
Shaurya Rehan
2025-05-02 14:54:19 +05:30
committed by GitHub
parent a87b0d62a2
commit 7698eb52aa
3 changed files with 26 additions and 8 deletions

View File

@@ -724,6 +724,13 @@ class NaviPayAnalytics private constructor() {
NaviTrackEvent.trackEventOnClickStream("NaviPay_Setup_ErrorRetryClick")
}
fun onErrorBSRedirectCtaClick(url: String) {
NaviTrackEvent.trackEventOnClickStream(
eventName = "NaviPay_Setup_ErrorBSRedirectCtaClick",
eventValues = mapOf("url" to url),
)
}
fun onErrorCancelClick() {
NaviTrackEvent.trackEventOnClickStream("NaviPay_Setup_ErrorCancelClick")
}

View File

@@ -156,6 +156,16 @@ fun NaviPayOnboardingBottomSheetContent(
onboardingAction = NaviPayOnBoardingActions.FinishScreen
)
},
onRedirectClick = { url ->
naviPayAnalytics.onErrorBSRedirectCtaClick(url = url)
DeepLinkManager.getDeepLinkListener()
?.navigateTo(
activity = naviPayOnboardingActivity,
ctaData = CtaData(url = url),
finish = true,
clearTask = true,
)
},
)
is NaviPayOnboardingBottomSheetType.SuccessBottomSheet -> {

View File

@@ -17,6 +17,7 @@ fun OnboardingErrorBottomSheetContent(
errorConfig: NaviPayErrorConfig,
onRetryClick: () -> Unit,
onCancelClick: () -> Unit,
onRedirectClick: (String) -> Unit,
) {
val primaryButtonConfig = errorConfig.firstPrimaryButtonConfig
val secondaryButtonConfig = errorConfig.firstSecondaryButtonConfig
@@ -28,19 +29,19 @@ fun OnboardingErrorBottomSheetContent(
secondaryButton = secondaryButtonConfig?.text,
onPrimaryButtonClicked = {
primaryButtonConfig?.let {
if (it.action is NaviPayButtonAction.Retry) {
onRetryClick()
} else {
onCancelClick()
when (it.action) {
is NaviPayButtonAction.Retry -> onRetryClick()
is NaviPayButtonAction.Dismiss -> onCancelClick()
is NaviPayButtonAction.Redirect -> onRedirectClick(it.action.url)
}
}
},
onSecondaryButtonClicked = {
secondaryButtonConfig?.let {
if (it.action is NaviPayButtonAction.Retry) {
onRetryClick()
} else {
onCancelClick()
when (it.action) {
is NaviPayButtonAction.Retry -> onRetryClick()
is NaviPayButtonAction.Dismiss -> onCancelClick()
is NaviPayButtonAction.Redirect -> onRedirectClick(it.action.url)
}
}
},