@@ -56,11 +56,22 @@ import androidx.compose.ui.unit.dp
5656import androidx.lifecycle.compose.collectAsStateWithLifecycle
5757import mobile_wallet.feature.send_money.generated.resources.Res
5858import mobile_wallet.feature.send_money.generated.resources.feature_send_money_amount
59+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_bottom_bar
60+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_close
61+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_loading
62+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_no_accounts_found
63+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_oops
64+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_proceed
65+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_scan_qr
66+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_selected
5967import mobile_wallet.feature.send_money.generated.resources.feature_send_money_send
68+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_something_went_wrong
69+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_to_account
70+ import mobile_wallet.feature.send_money.generated.resources.feature_send_money_vpa_mobile_account_number
6071import org.jetbrains.compose.resources.stringResource
6172import org.koin.compose.viewmodel.koinViewModel
6273import org.mifospay.core.common.utils.maskString
63- import org.mifospay.core.designsystem.component.BasicDialogState
74+ import org.mifospay.core.designsystem.component.BasicDialogState.Shown
6475import org.mifospay.core.designsystem.component.LoadingDialogState
6576import org.mifospay.core.designsystem.component.MifosBasicDialog
6677import org.mifospay.core.designsystem.component.MifosButton
@@ -149,7 +160,7 @@ private fun SendMoneyScreen(
149160 ) {
150161 Icon (
151162 imageVector = MifosIcons .Scan ,
152- contentDescription = " Scan QR " ,
163+ contentDescription = stringResource( Res .string.feature_send_money_scan_qr) ,
153164 )
154165 }
155166 },
@@ -216,7 +227,7 @@ private fun SendMoneyBottomBar(
216227 ) {
217228 AnimatedVisibility (
218229 visible = showDetails && selectedAccount != null ,
219- label = " BottomBar " ,
230+ label = stringResource( Res .string.feature_send_money_bottom_bar) ,
220231 enter = fadeIn() + slideInVertically(
221232 initialOffsetY = { fullHeight ->
222233 fullHeight / 4
@@ -242,7 +253,7 @@ private fun SendMoneyBottomBar(
242253 enabled = showDetails,
243254 modifier = Modifier .fillMaxWidth(),
244255 ) {
245- Text (text = " Proceed " )
256+ Text (text = stringResource( Res .string.feature_send_money_proceed) )
246257 }
247258 }
248259 }
@@ -260,7 +271,7 @@ private fun SelectedAccountCard(
260271 verticalArrangement = Arrangement .spacedBy(8 .dp),
261272 ) {
262273 Text (
263- text = " To Account " ,
274+ text = stringResource( Res .string.feature_send_money_to_account) ,
264275 style = MaterialTheme .typography.labelLarge,
265276 )
266277
@@ -304,7 +315,7 @@ private fun SelectedAccountCard(
304315 ) {
305316 Icon (
306317 imageVector = Icons .Default .Close ,
307- contentDescription = " Close " ,
318+ contentDescription = stringResource( Res .string.feature_send_money_close) ,
308319 )
309320 }
310321 }
@@ -374,7 +385,7 @@ private fun SendMoneyCard(
374385 )
375386
376387 MifosTextField (
377- label = " VPA/Mobile/Account Number " ,
388+ label = stringResource( Res .string.feature_send_money_vpa_mobile_account_number) ,
378389 value = state.accountNumber,
379390 onValueChange = remember(onAction) {
380391 { onAction(SendMoneyAction .AccountNumberChanged (it)) }
@@ -399,16 +410,16 @@ private fun LazyListScope.accountListContent(
399410 modifier = Modifier .fillParentMaxWidth(),
400411 contentAlignment = Alignment .Center ,
401412 ) {
402- MifosLoadingWheel (contentDesc = " Loading " )
413+ MifosLoadingWheel (contentDesc = stringResource( Res .string.feature_send_money_loading) )
403414 }
404415 }
405416 }
406417
407418 is ViewState .Error -> {
408419 item {
409420 EmptyContentScreen (
410- title = " Oops! " ,
411- subTitle = " Something went wrong! " ,
421+ title = stringResource( Res .string.feature_send_money_oops) ,
422+ subTitle = stringResource( Res .string.feature_send_money_something_went_wrong) ,
412423 modifier = Modifier .fillParentMaxSize(),
413424 iconTint = MaterialTheme .colorScheme.error,
414425 )
@@ -418,8 +429,8 @@ private fun LazyListScope.accountListContent(
418429 is ViewState .Empty -> {
419430 item {
420431 EmptyContentScreen (
421- title = " Oops! " ,
422- subTitle = " No accounts found! " ,
432+ title = stringResource( Res .string.feature_send_money_oops) ,
433+ subTitle = stringResource( Res .string.feature_send_money_no_accounts_found) ,
423434 modifier = Modifier .fillParentMaxSize(),
424435 )
425436 }
@@ -477,7 +488,7 @@ private fun AccountCard(
477488 ) {
478489 Icon (
479490 imageVector = MifosIcons .Check ,
480- contentDescription = " Selected " ,
491+ contentDescription = stringResource( Res .string.feature_send_money_selected) ,
481492 )
482493 }
483494 },
@@ -496,7 +507,7 @@ private fun SendMoneyDialogs(
496507) {
497508 when (dialogState) {
498509 is SendMoneyState .DialogState .Error -> MifosBasicDialog (
499- visibilityState = BasicDialogState . Shown (
510+ visibilityState = Shown (
500511 message = dialogState.message,
501512 ),
502513 onDismissRequest = onDismissRequest,
@@ -506,6 +517,13 @@ private fun SendMoneyDialogs(
506517 visibilityState = LoadingDialogState .Shown ,
507518 )
508519
520+ is SendMoneyState .DialogState .ValidationError -> MifosBasicDialog (
521+ visibilityState = Shown (
522+ message = stringResource(dialogState.res),
523+ ),
524+ onDismissRequest = onDismissRequest,
525+ )
526+
509527 null -> Unit
510528 }
511529}
0 commit comments