NTP-907 | Sohan Reddy | BLNT Empathy (#11815)

Co-authored-by: Kishan Kumar <kishan.kumar@navi.com>
This commit is contained in:
Sohan Reddy Atukula
2024-07-22 19:09:27 +05:30
committed by GitHub
parent cba341f3c4
commit 4b67cf1482
5 changed files with 36 additions and 5 deletions

View File

@@ -363,10 +363,13 @@ fun ScratchCardHistoryScreen(
},
onBackPress = {
viewModel.clearScratchCardList()
viewModel.refreshData(scratchCardHistoryList)
if (viewModel.userHasScratchedCard) {
viewModel.refreshData(scratchCardHistoryList)
}
}
) { response ->
scratchAnalyticsTrigger(response, analyticsHandler)
viewModel.userHasScratchedCard = true
viewModel.previousBalance =
viewModel.previousBalance?.plus(
currentScratchCard.rewardAmount.orZero()
@@ -415,6 +418,7 @@ fun ScratchCardHistoryScreen(
}
) { response ->
scratchAnalyticsTrigger(response, analyticsHandler)
viewModel.userHasScratchedCard = true
viewModel.previousBalance =
viewModel.previousBalance?.plus(
nextScratchCard.rewardAmount.orZero()
@@ -441,7 +445,8 @@ fun ScratchCardHistoryScreen(
modifier =
Modifier.clickable(disableRipple = true) {
viewModel.clearScratchCardList()
viewModel.refreshData(scratchCardHistoryList)
if (viewModel.userHasScratchedCard)
viewModel.refreshData(scratchCardHistoryList)
},
painter = painterResource(CommonR.drawable.ic_close_cross_white),
contentDescription = null

View File

@@ -77,6 +77,8 @@ constructor(
var previousBalance: Int? = null
var userHasScratchedCard: Boolean = false
init {
launch {
getActionCallback().collect { action -> handleScratchCardHistoryScreenActions(action) }
@@ -104,6 +106,7 @@ constructor(
launch {
scratchCardHistoryListSource.refresh()
fetchScratchCardTopUiTronConfigs()
userHasScratchedCard = false
cancelAllTimer(scratchCardHistoryList)
}
}

View File

@@ -65,10 +65,13 @@ import com.navi.rr.scratchcard.model.ScratchCardBackResponse
import com.navi.rr.scratchcard.model.states.ScratchCardScreenUIState
import com.navi.rr.scratchcard.utils.getActivity
import com.navi.rr.scratchcard.vm.ScratchCardVM
import com.navi.rr.utils.NaviRRAnalytics
import com.navi.rr.utils.NaviRRAnalytics.Companion.REWARD_SCRATCH_CARD_DISMISS_OUTSIDE
import com.navi.rr.utils.composeutils.Init
import com.navi.rr.utils.constants.Constants.BACK
import com.navi.rr.utils.constants.Constants.LOTTIE
import com.navi.rr.utils.constants.Constants.SCRATCH_STARTED
import com.navi.rr.utils.ext.clickable
import com.navi.uitron.model.action.TriggerApiAction
import com.navi.uitron.model.data.UiTronActionData
import com.navi.uitron.utils.pxToDp
@@ -194,7 +197,12 @@ fun ScratchCardComposable(
bottom = 0.dp
)
.background(Color.Transparent)
.graphicsLayer { translationY = translateYState },
.graphicsLayer { translationY = translateYState }
.clickable(disableRipple = true) {
backHandling?.invoke(
scratchCardVM.scratchCardBackResponse.value
)
},
horizontalAlignment = Alignment.CenterHorizontally,
) {
screenDefinition.screenStructure?.content?.widgets?.let { uiTronWidget ->
@@ -442,6 +450,9 @@ private fun ScratchCardScreenHeader(
Image(
modifier =
Modifier.clickable(interactionSource = interactionSource, indication = null) {
NaviRRAnalytics.naviRRAnalytics
.Rewards()
.sendEvent(REWARD_SCRATCH_CARD_DISMISS_OUTSIDE)
handleScratchCardBackPress(
context,
backCtaAction,

View File

@@ -48,8 +48,11 @@ import com.navi.rr.scratchcard.model.GratificationResponse
import com.navi.rr.scratchcard.model.ScratchCardBackData
import com.navi.rr.scratchcard.model.ScratchCardBackResponse
import com.navi.rr.scratchcard.vm.ScratchCardVM
import com.navi.rr.utils.NaviRRAnalytics
import com.navi.rr.utils.NaviRRAnalytics.Companion.REWARD_SCRATCH_CARD_DISMISS_OUTSIDE
import com.navi.rr.utils.composeutils.Init
import com.navi.rr.utils.constants.Constants
import com.navi.rr.utils.ext.clickable
import com.navi.rr.utils.rememberCoroutineScope
import com.navi.uitron.model.action.TriggerApiAction
import com.navi.uitron.utils.pxToDp
@@ -93,7 +96,7 @@ fun ScratchCardRenderer(
viewModel = scratchCardVM
)
BackHandler { onBackPress?.invoke() }
BackHandler(shouldRender) { onBackPress?.invoke() }
if (shouldRender) {
CtaActionHandler(
@@ -157,7 +160,13 @@ fun ScratchCardRenderer(
)
}
Column(
modifier = modifier,
modifier =
modifier.clickable(disableRipple = true) {
NaviRRAnalytics.naviRRAnalytics
.Rewards()
.sendEvent(REWARD_SCRATCH_CARD_DISMISS_OUTSIDE)
onBackPress?.invoke()
},
horizontalAlignment = Alignment.CenterHorizontally,
) {
screenDefinition.screenStructure?.content?.widgets?.let { uiTronWidgets ->

View File

@@ -481,6 +481,9 @@ class NaviRRAnalytics private constructor() {
const val REFERRAL_LEADERBOARD_PAGE_DISAPPEARS = "referral_leaderboard_page_disappears"
private const val DEFAULT_EVENT_NAME = "DEFAULT_EVENT_NAME"
private const val RR_GLOBAL_ERROR = "rr_global_errors"
const val REWARD_SCRATCH_CARD_DISMISS_OUTSIDE = "reward_scratch_card_dismiss_outside"
val naviRRAnalytics: NaviRRAnalytics by lazy { Holder.INSTANCE }
}
}