Test APK with cheque
This commit is contained in:
@@ -496,7 +496,7 @@ class _FundTransferAmountScreenState extends State<FundTransferAmountScreen> {
|
||||
Text(AppLocalizations.of(context).fetchingDailyLimit),
|
||||
if (!_isLoadingLimit && _limit != null)
|
||||
Text(
|
||||
'Remaining Daily Limit: ${_formatCurrency.format(_limit!.dailyLimit - _limit!.usedLimit)}',
|
||||
'${AppLocalizations.of(context).remainingDailyLimit} ${_formatCurrency.format(_limit!.dailyLimit - _limit!.usedLimit)}',
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
const Spacer(),
|
||||
|
||||
@@ -198,7 +198,8 @@ class _FundTransferBeneficiaryScreenState
|
||||
child: TextField(
|
||||
controller: _searchController,
|
||||
decoration: InputDecoration(
|
||||
hintText: "Search by name or account number",
|
||||
hintText:
|
||||
AppLocalizations.of(context).searchByNameOrAccountHint,
|
||||
prefixIcon: const Icon(Icons.search),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
|
||||
@@ -42,7 +42,7 @@ class FundTransferScreen extends StatelessWidget {
|
||||
Expanded(
|
||||
child: FundTransferManagementTile(
|
||||
icon: Symbols.person,
|
||||
label: "Self Pay",
|
||||
label: AppLocalizations.of(context).selfPay,
|
||||
subtitle:
|
||||
AppLocalizations.of(context).ftselfpaysubtitle,
|
||||
onTap: () {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:kmobile/data/models/user.dart';
|
||||
import 'package:kmobile/features/fund_transfer/screens/fund_transfer_self_amount_screen.dart';
|
||||
import 'package:kmobile/l10n/app_localizations.dart';
|
||||
import 'package:kmobile/widgets/bank_logos.dart';
|
||||
|
||||
class FundTransferSelfAccountsScreen extends StatelessWidget {
|
||||
@@ -43,7 +44,7 @@ class FundTransferSelfAccountsScreen extends StatelessWidget {
|
||||
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text("Select Account"),
|
||||
title: Text(AppLocalizations.of(context).selectAccount),
|
||||
),
|
||||
body: Stack(
|
||||
children: [
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:kmobile/data/models/user.dart';
|
||||
import 'package:kmobile/di/injection.dart';
|
||||
import 'package:kmobile/features/fund_transfer/screens/payment_animation.dart';
|
||||
import 'package:kmobile/features/fund_transfer/screens/transaction_pin_screen.dart';
|
||||
import 'package:kmobile/l10n/app_localizations.dart';
|
||||
import 'package:kmobile/widgets/bank_logos.dart';
|
||||
|
||||
class FundTransferSelfAmountScreen extends StatefulWidget {
|
||||
@@ -134,7 +135,7 @@ class _FundTransferSelfAmountScreenState
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: const Text("Fund Transfer"),
|
||||
title: Text(AppLocalizations.of(context).fundTransferTitle),
|
||||
),
|
||||
body: SafeArea(
|
||||
child: Stack(
|
||||
@@ -148,7 +149,7 @@ class _FundTransferSelfAmountScreenState
|
||||
children: [
|
||||
// Debit Account (User)
|
||||
Text(
|
||||
"Debit From",
|
||||
AppLocalizations.of(context).debitFromLabel,
|
||||
style: Theme.of(context).textTheme.titleSmall,
|
||||
),
|
||||
Card(
|
||||
@@ -168,7 +169,7 @@ class _FundTransferSelfAmountScreenState
|
||||
|
||||
// Credit Account (Self)
|
||||
Text(
|
||||
"Credited To",
|
||||
AppLocalizations.of(context).creditedTo,
|
||||
style: Theme.of(context).textTheme.titleSmall,
|
||||
),
|
||||
Card(
|
||||
@@ -186,9 +187,10 @@ class _FundTransferSelfAmountScreenState
|
||||
// Remarks
|
||||
TextFormField(
|
||||
controller: _remarksController,
|
||||
decoration: const InputDecoration(
|
||||
labelText: "Remarks (Optional)",
|
||||
border: OutlineInputBorder(),
|
||||
decoration: InputDecoration(
|
||||
labelText:
|
||||
AppLocalizations.of(context).remarksOptionalHint,
|
||||
border: const OutlineInputBorder(),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
@@ -197,18 +199,18 @@ class _FundTransferSelfAmountScreenState
|
||||
TextFormField(
|
||||
controller: _amountController,
|
||||
keyboardType: TextInputType.number,
|
||||
decoration: const InputDecoration(
|
||||
labelText: "Amount",
|
||||
border: OutlineInputBorder(),
|
||||
prefixIcon: Icon(Icons.currency_rupee),
|
||||
decoration: InputDecoration(
|
||||
labelText: AppLocalizations.of(context).amountLabel,
|
||||
border: const OutlineInputBorder(),
|
||||
prefixIcon: const Icon(Icons.currency_rupee),
|
||||
),
|
||||
validator: (value) {
|
||||
if (value == null || value.isEmpty) {
|
||||
return "Amount is required";
|
||||
return AppLocalizations.of(context).amountRequired;
|
||||
}
|
||||
if (double.tryParse(value) == null ||
|
||||
double.parse(value) <= 0) {
|
||||
return "Please enter a valid amount";
|
||||
return AppLocalizations.of(context).validAmountError;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -216,10 +218,12 @@ class _FundTransferSelfAmountScreenState
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Daily Limit Display
|
||||
if (_isLoadingLimit) const Text('Fetching daily limit...'),
|
||||
if (_isLoadingLimit)
|
||||
Text(AppLocalizations.of(context)
|
||||
.fetchingDailyLimitLoader),
|
||||
if (!_isLoadingLimit && _limit != null)
|
||||
Text(
|
||||
'Remaining Daily Limit: ${_formatCurrency.format(_limit!.dailyLimit - _limit!.usedLimit)}',
|
||||
'${AppLocalizations.of(context).remainingDailyLimit} ${_formatCurrency.format(_limit!.dailyLimit - _limit!.usedLimit)}',
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
const Spacer(),
|
||||
@@ -232,7 +236,7 @@ class _FundTransferSelfAmountScreenState
|
||||
style: ElevatedButton.styleFrom(
|
||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||
),
|
||||
child: const Text("Proceed"),
|
||||
child: Text(AppLocalizations.of(context).proceedButton),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
|
||||
Reference in New Issue
Block a user