Remarks Field in Transaction Page

This commit is contained in:
2025-09-16 12:11:57 +05:30
parent bf23627e0a
commit db39cfbcc9
9 changed files with 81 additions and 12 deletions

View File

@@ -6,6 +6,7 @@ class ImpsTransaction {
final String? remitterName;
final String beneficiaryName;
final String tpin;
final String? remarks;
ImpsTransaction({
required this.fromAccount,
@@ -15,6 +16,7 @@ class ImpsTransaction {
this.remitterName,
required this.beneficiaryName,
required this.tpin,
this.remarks,
});
Map<String, dynamic> toJson() {
@@ -26,6 +28,7 @@ class ImpsTransaction {
'remitterName': remitterName,
'beneficiaryName': beneficiaryName,
'tpin': tpin,
'remarks': remarks,
};
}
}

View File

@@ -6,6 +6,7 @@ class NeftTransaction {
final String remitterName;
final String beneficiaryName;
final String tpin;
final String? remarks;
NeftTransaction({
required this.fromAccount,
@@ -15,6 +16,7 @@ class NeftTransaction {
required this.remitterName,
required this.beneficiaryName,
required this.tpin,
this.remarks,
});
Map<String, dynamic> toJson() {
@@ -26,6 +28,7 @@ class NeftTransaction {
'remitterName': remitterName,
'beneficiaryName': beneficiaryName,
'tpin': tpin,
'remarks': remarks,
};
}
}

View File

@@ -6,6 +6,7 @@ class RtgsTransaction {
final String remitterName;
final String beneficiaryName;
final String tpin;
final String? remarks;
RtgsTransaction({
required this.fromAccount,
@@ -15,6 +16,7 @@ class RtgsTransaction {
required this.remitterName,
required this.beneficiaryName,
required this.tpin,
this.remarks,
});
Map<String, dynamic> toJson() {
@@ -26,6 +28,7 @@ class RtgsTransaction {
'remitterName': remitterName,
'beneficiaryName': beneficiaryName,
'tpin': tpin,
'remarks': remarks,
};
}
}

View File

@@ -4,6 +4,7 @@ class Transfer {
final String toAccountType;
final String amount;
String? tpin;
String? remarks;
Transfer({
required this.fromAccount,
@@ -11,6 +12,7 @@ class Transfer {
required this.toAccountType,
required this.amount,
this.tpin,
this.remarks,
});
Map<String, dynamic> toJson() {
@@ -20,6 +22,7 @@ class Transfer {
'toAccountType': toAccountType,
'amount': amount,
'tpin': tpin,
'remarks': remarks,
};
}
}

View File

@@ -65,8 +65,8 @@ Dio _createDioClient() {
final dio = Dio(
BaseOptions(
baseUrl:
//'http://lb-test-mobile-banking-app-192209417.ap-south-1.elb.amazonaws.com:8080', //test
'http://lb-kccb-mobile-banking-app-848675342.ap-south-1.elb.amazonaws.com', //prod
'http://lb-test-mobile-banking-app-192209417.ap-south-1.elb.amazonaws.com:8080', //test
//'http://lb-kccb-mobile-banking-app-848675342.ap-south-1.elb.amazonaws.com', //prod
connectTimeout: const Duration(seconds: 60),
receiveTimeout: const Duration(seconds: 60),

View File

@@ -41,12 +41,14 @@ class FundTransferAmountScreen extends StatefulWidget {
class _FundTransferAmountScreenState extends State<FundTransferAmountScreen> {
final _amountController = TextEditingController();
final _remarksController = TextEditingController();
final _formKey = GlobalKey<FormState>();
TransactionMode _selectedMode = TransactionMode.neft;
@override
void dispose() {
_amountController.dispose();
_remarksController.dispose();
super.dispose();
}
@@ -396,6 +398,15 @@ class _FundTransferAmountScreenState extends State<FundTransferAmountScreen> {
),
const SizedBox(height: 24),
],
//Remarks
TextFormField(
controller: _remarksController,
decoration: const InputDecoration(
labelText: 'Remarks (Optional)',
border: OutlineInputBorder(),
),
),
const SizedBox(height: 24),
// Amount
TextFormField(
controller: _amountController,

View File

@@ -38,6 +38,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
final ifscController = TextEditingController();
final phoneController = TextEditingController();
final amountController = TextEditingController();
final remarksController = TextEditingController();
final service = getIt<BeneficiaryService>();
late String accountType;
@@ -136,6 +137,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
ifscController.dispose();
phoneController.dispose();
amountController.dispose();
remarksController.dispose();
super.dispose();
}
@@ -188,6 +190,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
remitterName: "Unknown",
beneficiaryName: nameController.text,
tpin: tpin,
remarks: remarksController.text,
);
final neftService = getIt<NeftService>();
final completer = Completer<PaymentResponse>();
@@ -253,6 +256,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
remitterName: "Unknown",
beneficiaryName: nameController.text,
tpin: tpin,
remarks: remarksController.text,
);
final impsService = getIt<ImpsService>();
final completer = Completer<PaymentResponse>();
@@ -312,6 +316,7 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
remitterName: "Unknown",
beneficiaryName: nameController.text,
tpin: tpin,
remarks: remarksController.text,
);
final rtgsService = getIt<RtgsService>();
final completer = Completer<PaymentResponse>();
@@ -668,6 +673,25 @@ class _QuickPayOutsideBankScreen extends State<QuickPayOutsideBankScreen> {
},
),
const SizedBox(height: 25),
TextFormField(
controller: remarksController,
decoration: InputDecoration(
labelText: 'Remarks (Optional)',
border: const OutlineInputBorder(),
isDense: true,
filled: true,
fillColor: Theme.of(context).scaffoldBackgroundColor,
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).colorScheme.outline),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).colorScheme.primary, width: 2),
),
),
),
const SizedBox(height: 25),
Row(
children: [
Expanded(

View File

@@ -24,6 +24,7 @@ class _QuickPayWithinBankScreen extends State<QuickPayWithinBankScreen> {
final TextEditingController confirmAccountNumberController =
TextEditingController();
final TextEditingController amountController = TextEditingController();
final TextEditingController remarksController = TextEditingController();
String? _selectedAccountType;
String? _beneficiaryName;
@@ -57,6 +58,7 @@ class _QuickPayWithinBankScreen extends State<QuickPayWithinBankScreen> {
accountNumberController.dispose();
confirmAccountNumberController.dispose();
amountController.dispose();
remarksController.dispose();
super.dispose();
}
@@ -276,6 +278,25 @@ class _QuickPayWithinBankScreen extends State<QuickPayWithinBankScreen> {
},
),
const SizedBox(height: 25),
TextFormField(
controller: remarksController,
decoration: InputDecoration(
labelText: 'Remarks (Optional)',
border: const OutlineInputBorder(),
isDense: true,
filled: true,
fillColor: Theme.of(context).scaffoldBackgroundColor,
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).colorScheme.outline),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).colorScheme.primary, width: 2),
),
),
),
const SizedBox(height: 25),
TextFormField(
decoration: InputDecoration(
labelText: AppLocalizations.of(context).amount,
@@ -343,6 +364,7 @@ class _QuickPayWithinBankScreen extends State<QuickPayWithinBankScreen> {
toAccountType: _selectedAccountType!,
amount: amountController.text,
tpin: tpin,
remarks: remarksController.text,
);
final paymentService = getIt<PaymentService>();

View File

@@ -17,13 +17,13 @@ void main() async {
]);
// Check for device compromise
final compromisedMessage = await SecurityService.deviceCompromisedMessage;
if (compromisedMessage != null) {
runApp(MaterialApp(
home: SecurityErrorScreen(message: compromisedMessage),
));
return;
}
// final compromisedMessage = await SecurityService.deviceCompromisedMessage;
// if (compromisedMessage != null) {
// runApp(MaterialApp(
// home: SecurityErrorScreen(message: compromisedMessage),
// ));
// return;
// }
// Initialize dependencies
await setupDependencies();