NTP-11357 | Shiv Natani | NB Double Loader Fix (#13542)
This commit is contained in:
@@ -74,6 +74,7 @@ fun NetBankingScreenListSection(
|
||||
allBanks: List<BankDetails>,
|
||||
onBankSelected: (bankDetails: BankDetails, isPopularBank: Boolean) -> Unit,
|
||||
selectedBank: BankDetails?,
|
||||
isSelectedFromPopularBanks: Boolean
|
||||
) {
|
||||
val lazyListState = rememberLazyListState()
|
||||
val needToShowShadow by remember {
|
||||
@@ -96,7 +97,8 @@ fun NetBankingScreenListSection(
|
||||
PopularBanksListSection(
|
||||
popularBanks = popularBanks,
|
||||
onBankSelected = onBankSelected,
|
||||
selectedBank = selectedBank
|
||||
selectedBank = selectedBank,
|
||||
isSelectedFromPopularBanks = isSelectedFromPopularBanks
|
||||
)
|
||||
Spacer(modifier = Modifier.height(24.dp))
|
||||
}
|
||||
@@ -120,7 +122,8 @@ fun NetBankingScreenListSection(
|
||||
RegularBanksListItem(
|
||||
bankEntity = bankEntity,
|
||||
onBankSelected = onBankSelected,
|
||||
selectedBank = selectedBank
|
||||
selectedBank = selectedBank,
|
||||
isSelectedFromPopularBanks = isSelectedFromPopularBanks
|
||||
)
|
||||
}
|
||||
item { Spacer(modifier = Modifier.height(8.dp)) }
|
||||
@@ -154,6 +157,7 @@ fun PopularBanksListSection(
|
||||
popularBanks: List<BankDetails>,
|
||||
onBankSelected: (bankDetails: BankDetails, isPopularBank: Boolean) -> Unit,
|
||||
selectedBank: BankDetails?,
|
||||
isSelectedFromPopularBanks: Boolean
|
||||
) {
|
||||
Column {
|
||||
NaviText(
|
||||
@@ -183,7 +187,8 @@ fun PopularBanksListSection(
|
||||
bankEntity = bankEntity,
|
||||
height = 100.dp,
|
||||
onBankSelected = onBankSelected,
|
||||
selectedBank = selectedBank
|
||||
selectedBank = selectedBank,
|
||||
isSelectedFromPopularBanks = isSelectedFromPopularBanks
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -196,6 +201,7 @@ fun PopularBanksGridItem(
|
||||
height: Dp = 100.dp,
|
||||
onBankSelected: (bankDetails: BankDetails, isPopularBank: Boolean) -> Unit,
|
||||
selectedBank: BankDetails?,
|
||||
isSelectedFromPopularBanks: Boolean
|
||||
) {
|
||||
Card(
|
||||
modifier =
|
||||
@@ -220,7 +226,7 @@ fun PopularBanksGridItem(
|
||||
imageSize = 28.dp
|
||||
)
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
if (selectedBank?.bankCode == bankEntity.bankCode) {
|
||||
if (selectedBank?.bankCode == bankEntity.bankCode && isSelectedFromPopularBanks) {
|
||||
ShowNetBankingSelectLottie()
|
||||
} else {
|
||||
NaviText(
|
||||
@@ -245,6 +251,7 @@ fun RegularBanksListItem(
|
||||
bankEntity: BankDetails,
|
||||
onBankSelected: (bankDetails: BankDetails, isPopularBank: Boolean) -> Unit,
|
||||
selectedBank: BankDetails?,
|
||||
isSelectedFromPopularBanks: Boolean
|
||||
) {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
@@ -276,7 +283,7 @@ fun RegularBanksListItem(
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
modifier = Modifier.weight(1f)
|
||||
)
|
||||
if (selectedBank?.bankCode == bankEntity.bankCode) {
|
||||
if (selectedBank?.bankCode == bankEntity.bankCode && !isSelectedFromPopularBanks) {
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
ShowNetBankingSelectLottie()
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ data class NetBankingScreenState(
|
||||
val showPopularBanks: Boolean,
|
||||
val paymentAmount: Double,
|
||||
val selectedBank: BankDetails?,
|
||||
val isSelectedFromPopularBanks: Boolean,
|
||||
) : UiState
|
||||
|
||||
sealed interface NetBankingScreenEvent : UiEvent {
|
||||
|
||||
@@ -188,7 +188,8 @@ fun NetBankingScreen(
|
||||
)
|
||||
},
|
||||
showPopularBanks = screenState.showPopularBanks,
|
||||
selectedBank = screenState.selectedBank
|
||||
selectedBank = screenState.selectedBank,
|
||||
isSelectedFromPopularBanks = screenState.isSelectedFromPopularBanks
|
||||
)
|
||||
} else {
|
||||
NoBanksFoundView()
|
||||
|
||||
@@ -102,7 +102,8 @@ constructor(
|
||||
showPopularBanks = true,
|
||||
paymentAmount = 0.0,
|
||||
selectedBank = null,
|
||||
isLoading = false
|
||||
isLoading = false,
|
||||
isSelectedFromPopularBanks = false
|
||||
)
|
||||
}
|
||||
|
||||
@@ -165,7 +166,12 @@ constructor(
|
||||
)
|
||||
viewModelScope.safeLaunch(Dispatchers.IO) {
|
||||
if (state.value.selectedBank == null) {
|
||||
_state.update { it.copy(selectedBank = event.bankDetails) }
|
||||
_state.update {
|
||||
it.copy(
|
||||
selectedBank = event.bankDetails,
|
||||
isSelectedFromPopularBanks = event.isPopularBank
|
||||
)
|
||||
}
|
||||
handleStartPayment()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user