NTP-9063 | Divyesh | tstore view detail crash fix (#13328)

This commit is contained in:
Divyesh Shinde
2024-10-24 15:44:30 +05:30
committed by GitHub
parent c88dc5775a
commit 226ae61c54
5 changed files with 74 additions and 20 deletions

View File

@@ -3129,6 +3129,7 @@ class NaviPayAnalytics private constructor() {
txnType: String,
purposeCode: String,
naviPaySessionAttributes: Map<String, String>,
orderReferenceId: String,
ctaName: String = "View details"
) {
NaviTrackEvent.trackEventOnClickStream(
@@ -3140,6 +3141,7 @@ class NaviPayAnalytics private constructor() {
"naviPaySessionId" to naviPaySessionAttributes["naviPaySessionId"].orEmpty(),
"naviPayCustomerStatus" to
naviPaySessionAttributes["naviPayCustomerStatus"].orEmpty(),
"orderReferenceId" to orderReferenceId,
"ctaName" to ctaName
)
)

View File

@@ -380,7 +380,8 @@ fun PaymentSummaryScreen(
upiUpSellBannerEntityList = upiUpSellBannerEntityList,
naviPaySessionAttributes = paymentSummaryViewModel.naviPaySessionAttributes,
widgetsRenderingOrder = widgetsRenderingOrder,
onShareReceiptCtaClicked = onShareReceiptCtaClicked
onShareReceiptCtaClicked = onShareReceiptCtaClicked,
orderReferenceId = orderReferenceId
)
}
}

View File

@@ -71,6 +71,7 @@ import com.navi.pay.common.theme.color.NaviPayColor.ctaWhite
import com.navi.pay.common.ui.NaviPayLottieAnimation
import com.navi.pay.common.ui.ThemeRoundedButtonV2
import com.navi.pay.common.ui.ThemeRoundedButtonWithImage
import com.navi.pay.destinations.OrderDetailsScreenDestination
import com.navi.pay.destinations.TransactionHistoryDetailScreenV2Destination
import com.navi.pay.entry.NaviPayActivity
import com.navi.pay.management.common.paymentsummary.model.view.BottomBarCtaStateForRewards
@@ -116,7 +117,8 @@ fun PaymentSummaryTransactionDetailSection(
upiUpSellBannerEntityList: List<UpiUpSellBannerEntity>,
naviPaySessionAttributes: Map<String, String>,
widgetsRenderingOrder: Map<String, Int>,
onShareReceiptCtaClicked: () -> Unit
onShareReceiptCtaClicked: () -> Unit,
orderReferenceId: String
) {
val onViewDetailCtaClicked = {
@@ -125,21 +127,27 @@ fun PaymentSummaryTransactionDetailSection(
txnType = transactionEntity?.transactionDetailEntity?.metaData?.txnType.orEmpty(),
purposeCode =
transactionEntity?.transactionDetailEntity?.metaData?.purposeCode.orEmpty(),
naviPaySessionAttributes = naviPaySessionAttributes
naviPaySessionAttributes = naviPaySessionAttributes,
orderReferenceId = orderReferenceId
)
navigator.navigate(
TransactionHistoryDetailScreenV2Destination(
transactionDetailSectionSource =
TransactionDetailSectionSourceV2.PAYMENT_SUMMARY_SCREEN,
upiRequestId = transactionEntity?.transactionDetailEntity?.metaData?.upiReqId ?: "",
transactionEventType =
getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType(
upiRequestIdEventType =
transactionEntity?.upiRequestIdTxnEventType.orEmpty()
)
.second
if (orderReferenceId.isEmpty()) {
navigator.navigate(
TransactionHistoryDetailScreenV2Destination(
transactionDetailSectionSource =
TransactionDetailSectionSourceV2.PAYMENT_SUMMARY_SCREEN,
upiRequestId =
transactionEntity?.transactionDetailEntity?.metaData?.upiReqId ?: "",
transactionEventType =
getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType(
upiRequestIdEventType =
transactionEntity?.upiRequestIdTxnEventType.orEmpty()
)
.second
)
)
)
} else {
navigator.navigate(OrderDetailsScreenDestination(orderReferenceId = orderReferenceId))
}
}
val scrollState = rememberScrollState()

View File

@@ -84,6 +84,7 @@ import com.navi.pay.common.theme.color.NaviPayColor.ctaWhite
import com.navi.pay.common.ui.ThemeRoundedButtonV2
import com.navi.pay.common.ui.ThemeRoundedButtonWithImage
import com.navi.pay.destinations.OrderDetailsScreenDestination
import com.navi.pay.destinations.TransactionHistoryDetailScreenV2Destination
import com.navi.pay.entry.NaviPayActivity
import com.navi.pay.management.common.paymentsummary.REWARDS_CTA_SOURCE_BOTTOM_STRIP_SECTION
import com.navi.pay.management.common.paymentsummary.REWARDS_CTA_SOURCE_SCRATCH_AND_WIN_BUTTON
@@ -91,8 +92,10 @@ import com.navi.pay.management.common.paymentsummary.SCRATCH_CARD_SHARED_ELEMENT
import com.navi.pay.management.common.paymentsummary.model.view.PaymentSummaryRewardsGratificationUIStateV2
import com.navi.pay.management.common.paymentsummary.model.view.UpiUpSellBannerEntity
import com.navi.pay.management.common.paymentsummary.model.view.UpiUpSellBannerType
import com.navi.pay.management.common.transaction.util.getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType
import com.navi.pay.management.common.ui.TransactionInfoCardV2
import com.navi.pay.management.transactionhistory.model.view.TransactionDetailItemProperty
import com.navi.pay.management.transactionhistory.model.view.TransactionDetailSectionSourceV2
import com.navi.pay.management.transactionhistory.model.view.TransactionEntity
import com.navi.pay.utils.NAVI_PAY_CROSS_SELL_SECTION
import com.navi.pay.utils.NAVI_PAY_ENGAGEMENT_WIDGET_SECTION
@@ -140,7 +143,7 @@ fun SharedTransitionScope.PaymentSummaryTransactionDetailSectionDiwali(
isRewardsCtaVisible: Boolean,
scratchCardRotationAnimationDuration: Int,
rewardsBottomStripeSectionAnimationDuration: Int,
scratchCardBottomMovementAnimationDuration: Int
scratchCardBottomMovementAnimationDuration: Int,
) {
val onViewDetailCtaClicked = {
@@ -149,9 +152,27 @@ fun SharedTransitionScope.PaymentSummaryTransactionDetailSectionDiwali(
txnType = transactionEntity?.transactionDetailEntity?.metaData?.txnType.orEmpty(),
purposeCode =
transactionEntity?.transactionDetailEntity?.metaData?.purposeCode.orEmpty(),
naviPaySessionAttributes = naviPaySessionAttributes
naviPaySessionAttributes = naviPaySessionAttributes,
orderReferenceId = orderReferenceId
)
navigator.navigate(OrderDetailsScreenDestination(orderReferenceId = orderReferenceId))
if (orderReferenceId.isEmpty()) {
navigator.navigate(
TransactionHistoryDetailScreenV2Destination(
transactionDetailSectionSource =
TransactionDetailSectionSourceV2.PAYMENT_SUMMARY_SCREEN,
upiRequestId =
transactionEntity?.transactionDetailEntity?.metaData?.upiReqId ?: "",
transactionEventType =
getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType(
upiRequestIdEventType =
transactionEntity?.upiRequestIdTxnEventType.orEmpty()
)
.second
)
)
} else {
navigator.navigate(OrderDetailsScreenDestination(orderReferenceId = orderReferenceId))
}
}
val scrollState = rememberScrollState()

View File

@@ -84,6 +84,7 @@ import com.navi.pay.common.theme.color.NaviPayColor.ctaWhite
import com.navi.pay.common.ui.ThemeRoundedButtonV2
import com.navi.pay.common.ui.ThemeRoundedButtonWithImage
import com.navi.pay.destinations.OrderDetailsScreenDestination
import com.navi.pay.destinations.TransactionHistoryDetailScreenV2Destination
import com.navi.pay.entry.NaviPayActivity
import com.navi.pay.management.common.paymentsummary.REWARDS_CTA_SOURCE_BOTTOM_STRIP_SECTION
import com.navi.pay.management.common.paymentsummary.REWARDS_CTA_SOURCE_SCRATCH_AND_WIN_BUTTON
@@ -91,8 +92,10 @@ import com.navi.pay.management.common.paymentsummary.SCRATCH_CARD_SHARED_ELEMENT
import com.navi.pay.management.common.paymentsummary.model.view.PaymentSummaryRewardsGratificationUIStateV2
import com.navi.pay.management.common.paymentsummary.model.view.UpiUpSellBannerEntity
import com.navi.pay.management.common.paymentsummary.model.view.UpiUpSellBannerType
import com.navi.pay.management.common.transaction.util.getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType
import com.navi.pay.management.common.ui.TransactionInfoCardV2
import com.navi.pay.management.transactionhistory.model.view.TransactionDetailItemProperty
import com.navi.pay.management.transactionhistory.model.view.TransactionDetailSectionSourceV2
import com.navi.pay.management.transactionhistory.model.view.TransactionEntity
import com.navi.pay.utils.NAVI_PAY_CROSS_SELL_SECTION
import com.navi.pay.utils.NAVI_PAY_ENGAGEMENT_WIDGET_SECTION
@@ -149,9 +152,28 @@ fun SharedTransitionScope.PaymentSummaryTransactionDetailSectionV2(
txnType = transactionEntity?.transactionDetailEntity?.metaData?.txnType.orEmpty(),
purposeCode =
transactionEntity?.transactionDetailEntity?.metaData?.purposeCode.orEmpty(),
naviPaySessionAttributes = naviPaySessionAttributes
naviPaySessionAttributes = naviPaySessionAttributes,
orderReferenceId = orderReferenceId
)
navigator.navigate(OrderDetailsScreenDestination(orderReferenceId = orderReferenceId))
if (orderReferenceId.isEmpty()) {
navigator.navigate(
TransactionHistoryDetailScreenV2Destination(
transactionDetailSectionSource =
TransactionDetailSectionSourceV2.PAYMENT_SUMMARY_SCREEN,
upiRequestId =
transactionEntity?.transactionDetailEntity?.metaData?.upiReqId ?: "",
transactionEventType =
getUpiRequestIdAndTransactionEventTypePairFromMergedUpiRequestIdEventType(
upiRequestIdEventType =
transactionEntity?.upiRequestIdTxnEventType.orEmpty()
)
.second
)
)
} else {
navigator.navigate(OrderDetailsScreenDestination(orderReferenceId = orderReferenceId))
}
}
val scrollState = rememberScrollState()