NTP-2285 | UAT fixes (#13018)
This commit is contained in:
@@ -17,6 +17,7 @@ import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
@@ -24,11 +25,14 @@ import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.layout.wrapContentHeight
|
||||
import androidx.compose.foundation.layout.wrapContentSize
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material.ModalBottomSheetState
|
||||
import androidx.compose.material.ModalBottomSheetValue
|
||||
import androidx.compose.material.rememberModalBottomSheetState
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
@@ -69,7 +73,6 @@ import com.navi.design.font.FontWeightEnum
|
||||
import com.navi.design.theme.getFontWeight
|
||||
import com.navi.design.theme.ttComposeFontFamily
|
||||
import com.navi.naviwidgets.extensions.NaviText
|
||||
import com.navi.naviwidgets.extensions.debounceClickable
|
||||
import com.navi.pay.R
|
||||
import com.navi.pay.analytics.NaviPayAnalytics
|
||||
import com.navi.pay.analytics.NaviPayAnalytics.Companion.NAVI_PAY_CHECK_BALANCE_SCREEN
|
||||
@@ -316,6 +319,7 @@ private fun RenderLinkedAccountBalanceScreen(
|
||||
) {
|
||||
|
||||
val context = LocalContext.current as Activity
|
||||
val scrollState = rememberScrollState()
|
||||
NaviPayModalBottomSheetLayout(
|
||||
sheetState = bottomSheetState,
|
||||
sheetContent = {
|
||||
@@ -329,62 +333,78 @@ private fun RenderLinkedAccountBalanceScreen(
|
||||
)
|
||||
}
|
||||
) {
|
||||
Column(modifier = Modifier.fillMaxWidth()) {
|
||||
NaviPayHeader(
|
||||
title = stringResource(id = getHeaderTitle(linkedAccountEntity.accountType)),
|
||||
onNavigationIconClick = { navigator.navigateUp() },
|
||||
modifier = Modifier,
|
||||
actionIconText = helpCtaText,
|
||||
onActionClick = onHelpClicked,
|
||||
backgroundColor = NaviPayColor.bgNonEditable
|
||||
)
|
||||
Scaffold(
|
||||
topBar = {
|
||||
NaviPayHeader(
|
||||
title = stringResource(id = getHeaderTitle(linkedAccountEntity.accountType)),
|
||||
onNavigationIconClick = { navigator.navigateUp() },
|
||||
modifier = Modifier,
|
||||
actionIconText = helpCtaText,
|
||||
onActionClick = onHelpClicked,
|
||||
backgroundColor = NaviPayColor.bgNonEditable
|
||||
)
|
||||
},
|
||||
content = { padding ->
|
||||
Column(
|
||||
modifier =
|
||||
Modifier.background(color = NaviPayColor.bgDefault)
|
||||
.fillMaxSize()
|
||||
.verticalScroll(scrollState)
|
||||
.padding(padding)
|
||||
) {
|
||||
AccountBalanceDetailHeader(
|
||||
linkedAccountEntity = linkedAccountEntity,
|
||||
onRefreshIconClicked = onRefreshIconClicked,
|
||||
showRefreshLoader = showRefreshLoader,
|
||||
currentBalance = currentBalance,
|
||||
outstandingBalance = outstandingBalance,
|
||||
showShimmer = showShimmer,
|
||||
hideBalance = hideBalance
|
||||
)
|
||||
|
||||
AccountBalanceDetailHeader(
|
||||
linkedAccountEntity = linkedAccountEntity,
|
||||
onRefreshIconClicked = onRefreshIconClicked,
|
||||
showRefreshLoader = showRefreshLoader,
|
||||
currentBalance = currentBalance,
|
||||
outstandingBalance = outstandingBalance,
|
||||
showShimmer = showShimmer,
|
||||
hideBalance = hideBalance
|
||||
)
|
||||
TransactionEntryPointCard(
|
||||
transactionEntrypointData = transactionEntrypointData,
|
||||
accountType = linkedAccountEntity.accountType,
|
||||
redirectOnClick = redirectOnClick
|
||||
)
|
||||
|
||||
TransactionEntryPointCard(
|
||||
transactionEntrypointData = transactionEntrypointData,
|
||||
accountType = linkedAccountEntity.accountType,
|
||||
redirectOnClick = redirectOnClick
|
||||
)
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
AdverseViewRoot(
|
||||
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
|
||||
activity = context,
|
||||
realEstateId =
|
||||
FirebaseRemoteConfigHelper.getString(
|
||||
NAVI_CHECK_BALANCE_CROSS_SELL_AD_RE_ID
|
||||
),
|
||||
timeoutInMillis =
|
||||
FirebaseRemoteConfigHelper.getLong(
|
||||
NAVI_CHECK_BALANCE_CROSS_SELL_AD_FALLBACK_TIMEOUT
|
||||
),
|
||||
loadingView = { CrossSellLoadingShimmer(it) }
|
||||
)
|
||||
|
||||
AdverseViewRoot(
|
||||
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp),
|
||||
activity = context,
|
||||
realEstateId =
|
||||
FirebaseRemoteConfigHelper.getString(NAVI_CHECK_BALANCE_CROSS_SELL_AD_RE_ID),
|
||||
timeoutInMillis =
|
||||
FirebaseRemoteConfigHelper.getLong(
|
||||
NAVI_CHECK_BALANCE_CROSS_SELL_AD_FALLBACK_TIMEOUT
|
||||
),
|
||||
loadingView = { CrossSellLoadingShimmer(it) }
|
||||
)
|
||||
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
|
||||
when (linkedAccountEntity.accountType) {
|
||||
AccountType.CREDIT.name -> {
|
||||
NaviPayCreditCardSponsorView(modifier = Modifier.fillMaxWidth())
|
||||
Spacer(modifier = Modifier.height(48.dp))
|
||||
}
|
||||
AccountType.UPICREDIT.name -> {
|
||||
NaviPayCreditLineSponsorView(modifier = Modifier.fillMaxWidth())
|
||||
}
|
||||
else -> {
|
||||
NaviPaySponsorView(modifier = Modifier.fillMaxWidth())
|
||||
},
|
||||
bottomBar = {
|
||||
Column(modifier = Modifier.background(NaviPayColor.ctaWhite)) {
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
when (linkedAccountEntity.accountType) {
|
||||
AccountType.CREDIT.name -> {
|
||||
NaviPayCreditCardSponsorView(modifier = Modifier.fillMaxWidth())
|
||||
}
|
||||
AccountType.UPICREDIT.name -> {
|
||||
NaviPayCreditLineSponsorView(modifier = Modifier.fillMaxWidth())
|
||||
}
|
||||
else -> {
|
||||
NaviPaySponsorView(modifier = Modifier.fillMaxWidth())
|
||||
}
|
||||
}
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
}
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(40.dp))
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -748,7 +768,7 @@ fun CreditDetailsHeaderUI(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
if (showShimmer) {
|
||||
Box(modifier = Modifier.height(24.dp).width(144.dp).shimmerEffect())
|
||||
Box(modifier = Modifier.height(20.dp).width(144.dp).shimmerEffect())
|
||||
} else {
|
||||
NaviText(
|
||||
modifier = Modifier.weight(1f, false),
|
||||
@@ -795,7 +815,7 @@ fun TransactionEntryPointCard(
|
||||
val account = remember { AccountType.getAccountType(accountType).name }
|
||||
Box(modifier = Modifier.fillMaxWidth().background(NaviPayColor.bgNonEditable)) {
|
||||
Row(
|
||||
horizontalArrangement = Arrangement.spacedBy(16.dp, Alignment.CenterHorizontally),
|
||||
horizontalArrangement = Arrangement.SpaceEvenly,
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp, vertical = 24.dp)
|
||||
) {
|
||||
@@ -805,7 +825,7 @@ fun TransactionEntryPointCard(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier =
|
||||
Modifier.wrapContentSize()
|
||||
.debounceClickable(
|
||||
.clickableDebounce(
|
||||
onClick = { redirectOnClick.invoke(itemData.ctaData) }
|
||||
)
|
||||
) {
|
||||
@@ -814,7 +834,7 @@ fun TransactionEntryPointCard(
|
||||
backgroundColor = NaviPayColor.bgAlt,
|
||||
fallbackIconUrl = CommonR.drawable.ic_upi_bbps_default_bank_logo,
|
||||
boxSize = 64.dp,
|
||||
imageSize = 36.dp,
|
||||
imageSize = 32.dp,
|
||||
borderWidth = 1.dp,
|
||||
borderColor = NaviPayColor.borderDefault
|
||||
)
|
||||
@@ -827,7 +847,9 @@ fun TransactionEntryPointCard(
|
||||
fontFamily = ttComposeFontFamily,
|
||||
maxLines = 2,
|
||||
fontWeight = getFontWeight(FontWeightEnum.NAVI_HEADLINE_REGULAR),
|
||||
textAlign = TextAlign.Center
|
||||
textAlign = TextAlign.Center,
|
||||
modifier = Modifier.width(70.dp),
|
||||
overflow = TextOverflow.Ellipsis
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -891,7 +913,7 @@ private fun AvailableBalanceView(
|
||||
if (showRefreshLoader) {
|
||||
NaviPayLottieAnimation(
|
||||
lottieFileName = NAVI_PAY_PURPLE_CTA_LOADER_LOTTIE,
|
||||
modifier = Modifier
|
||||
modifier = Modifier.size(20.dp)
|
||||
)
|
||||
} else {
|
||||
Image(
|
||||
@@ -936,14 +958,14 @@ private fun HideBalanceView(
|
||||
if (showRefreshLoader) {
|
||||
NaviPayLottieAnimation(
|
||||
lottieFileName = NAVI_PAY_PURPLE_CTA_LOADER_LOTTIE,
|
||||
modifier = Modifier
|
||||
modifier = Modifier.size(20.dp)
|
||||
)
|
||||
} else {
|
||||
NaviText(
|
||||
text = stringResource(R.string.check_balance),
|
||||
fontSize = 14.sp,
|
||||
fontFamily = ttComposeFontFamily,
|
||||
color = NaviPayColor.textPrimary,
|
||||
color = NaviPayColor.ctaPrimary,
|
||||
fontWeight = getFontWeight(FontWeightEnum.NAVI_HEADLINE_REGULAR),
|
||||
textDecoration = TextDecoration.Underline,
|
||||
modifier = Modifier.clickableDebounce { onCheckBalanceClicked() }
|
||||
|
||||
@@ -1494,10 +1494,9 @@ constructor(
|
||||
)
|
||||
}
|
||||
|
||||
@OptIn(DelicateCoroutinesApi::class)
|
||||
private fun syncLiteAccountInfo() {
|
||||
viewModelScope.safeLaunch(coroutineDispatcherProvider.io) {
|
||||
liteAccountSyncUseCase.execute()
|
||||
}
|
||||
GlobalScope.safeLaunch(coroutineDispatcherProvider.io) { liteAccountSyncUseCase.execute() }
|
||||
}
|
||||
|
||||
fun updateCdsPermissionStatus() {
|
||||
|
||||
Reference in New Issue
Block a user