diff --git a/lib/di/injection.dart b/lib/di/injection.dart index 37b1fb7..9f650de 100644 --- a/lib/di/injection.dart +++ b/lib/di/injection.dart @@ -74,9 +74,9 @@ 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 - 'https://kccbmbnk.net', //prod small + // '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 + 'https://kccbmbnk.net', //prod small connectTimeout: const Duration(seconds: 60), receiveTimeout: const Duration(seconds: 60), headers: { diff --git a/lib/features/accounts/screens/account_info_screen.dart b/lib/features/accounts/screens/account_info_screen.dart index fa4567b..d578eaa 100644 --- a/lib/features/accounts/screens/account_info_screen.dart +++ b/lib/features/accounts/screens/account_info_screen.dart @@ -17,20 +17,16 @@ class AccountInfoScreen extends StatefulWidget { } class _AccountInfoScreen extends State { - late User selectedUser; @override - void initState() { - super.initState(); selectedUser = widget.users[widget.selectedIndex]; - } - - String getFullAccountType(String? accountType) { + + String getFullAccountType(String? accountType) { if (accountType == null || accountType.isEmpty) return 'N/A'; // Convert to title case switch (accountType.toLowerCase()) { @@ -51,245 +47,130 @@ class _AccountInfoScreen extends State { } } - @override - Widget build(BuildContext context) { - final users = widget.users; int selectedIndex = widget.selectedIndex; return Scaffold( - appBar: AppBar( - title: Text(AppLocalizations.of(context) - .accountInfo - .replaceFirst(RegExp('\n'), '')), - ), - body: Stack( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - children: [ - Card( - elevation: 4, - margin: const EdgeInsets.symmetric(vertical: 8.0), - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - AppLocalizations.of(context).accountNumber, - style: const TextStyle( - fontWeight: FontWeight.bold, fontSize: 18), - ), - DropdownButton( - value: selectedUser, - onChanged: (User? newUser) { - if (newUser != null) { - setState(() { - selectedUser = newUser; - }); - } - }, - items: widget.users.map((user) { - return DropdownMenuItem( - value: user, - child: Text( - user.accountNo.toString(), - style: const TextStyle( - fontSize: 20, fontWeight: FontWeight.bold), - ), - ); - }).toList(), - isExpanded: true, - ), - ], - ), - ), - ), - Expanded( - child: Card( - elevation: 4, - margin: const EdgeInsets.symmetric(vertical: 8.0), - child: Padding( - padding: const EdgeInsets.all(16.0), - child: ListView( - children: [ - InfoRow( - title: AppLocalizations.of(context).customerNumber, - value: selectedUser.cifNumber ?? 'N/A', - ), - InfoRow( - title: AppLocalizations.of(context).accountType, - value: getFullAccountType(selectedUser.accountType), - ), - InfoRow( - title: AppLocalizations.of(context).productName, - value: selectedUser.productType ?? 'N/A', - ), - InfoRow( - title: AppLocalizations.of(context).accountStatus, - value: 'OPEN', - ), - InfoRow( - title: - AppLocalizations.of(context).availableBalance, - value: selectedUser.availableBalance ?? 'N/A', - ), - InfoRow( - title: AppLocalizations.of(context).currentBalance, - value: selectedUser.currentBalance ?? 'N/A', - ), - if (users[selectedIndex].approvedAmount != null) - InfoRow( - title: - AppLocalizations.of(context).approvedAmount, - value: selectedUser.approvedAmount ?? 'N/A', - ), - ], - ), - ), - ), - ), - ], - ), - ), - IgnorePointer( - child: Center( - child: Opacity( - opacity: 0.07, // Reduced opacity child: ClipOval( - child: Image.asset( - 'assets/images/logo.png', width: 200, // Adjust size as needed height: 200, // Adjust size as needed - ), - ), - ), - ), - ), - ], - ), - ); - } - } class InfoRow extends StatelessWidget { diff --git a/lib/features/accounts/screens/account_statement_screen.dart b/lib/features/accounts/screens/account_statement_screen.dart index 62f068c..84674f3 100644 --- a/lib/features/accounts/screens/account_statement_screen.dart +++ b/lib/features/accounts/screens/account_statement_screen.dart @@ -55,7 +55,7 @@ class _AccountStatementScreen extends State { try { final repo = getIt(); final txs = await repo.fetchTransactions( - selectedUser.accountNo?? '', + selectedUser.accountNo ?? '', fromDate: fromDate, toDate: toDate, ); diff --git a/lib/features/enquiry/screens/enquiry_screen.dart b/lib/features/enquiry/screens/enquiry_screen.dart index 113e0cf..432a379 100644 --- a/lib/features/enquiry/screens/enquiry_screen.dart +++ b/lib/features/enquiry/screens/enquiry_screen.dart @@ -53,27 +53,54 @@ class _EnquiryScreen extends State { } Widget _buildContactItem(String role, String email, String phone) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(role, - style: TextStyle(color: Theme.of(context).colorScheme.onSurface)), - const SizedBox(height: 4), - GestureDetector( - onTap: () => _launchEmailAddress(email), - child: Text(email, - style: TextStyle(color: Theme.of(context).colorScheme.primary)), + return Card( + elevation: 4, + margin: const EdgeInsets.symmetric(vertical: 8), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(role, + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + fontSize: 15, + fontWeight: FontWeight.bold)), + const SizedBox(height: 8), + GestureDetector( + onTap: () => _launchEmailAddress(email), + child: Row( + children: [ + const Icon(Icons.email), + const SizedBox(width: 8), + Expanded( + child: Text(email, + style: TextStyle( + color: Theme.of(context).colorScheme.primary, + fontSize: 14)), + ), + ], + ), + ), + const SizedBox(height: 8), + GestureDetector( + onTap: () => _launchPhoneNumber(phone), + child: Row( + children: [ + const Icon(Icons.phone), + const SizedBox(width: 8), + Expanded( + child: Text(phone, + style: TextStyle( + color: Theme.of(context).colorScheme.primary, + fontSize: 14)), + ), + ], + ), + ), + ], ), - const SizedBox(height: 4), - GestureDetector( - onTap: () => _launchPhoneNumber(phone), - child: Text(phone, - style: TextStyle( - color: Theme.of(context) - .colorScheme - .primary)), // Changed color for visibility - ), - ], + ), ); } @@ -91,62 +118,67 @@ class _EnquiryScreen extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const SizedBox(height: 20), - GestureDetector( + Card( + elevation: 4, + child: InkWell( onTap: () => _launchUrl("https://kccbhp.bank.in/complaint-form/"), - child: Row(mainAxisSize: MainAxisSize.min, children: [ - Text( - "Complaint Form", - style: TextStyle( - fontSize: 17, - color: Theme.of(context).colorScheme.primary, - decoration: TextDecoration - .underline, // Added underline for link clarity - decorationColor: - Theme.of(context).colorScheme.primary, - ), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Complaint Form", + style: TextStyle( + fontSize: 15, + color: Theme.of(context).colorScheme.primary, + ), + ), + Icon( + Icons.open_in_new, + color: Theme.of(context).colorScheme.primary, + size: 16.0, + ), + ], ), - const SizedBox(width: 4), - Icon( - Icons.open_in_new, - color: Theme.of(context).colorScheme.primary, - size: 16.0, - ), - ])), - const SizedBox(height: 40), + ), + ), + ), + const Divider(height: 32), Text( AppLocalizations.of(context).keyContacts, - style: TextStyle( - fontSize: 17, - color: Theme.of(context).colorScheme.primary, + style: const TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, ), - // horizontal line - ), - Divider(color: Theme.of(context).colorScheme.outline), - const SizedBox(height: 16), - _buildContactItem( - AppLocalizations.of(context).chairman, - "chairman@kccb.in", - "01892-222677", ), const SizedBox(height: 16), - _buildContactItem( - AppLocalizations.of(context).managingDirector, - "md@kccb.in", - "01892-224969", - ), - const SizedBox(height: 16), - _buildContactItem( - AppLocalizations.of(context).gmWest, - "gmw@kccb.in", - "01892-223280", - ), - const SizedBox(height: 16), - _buildContactItem( - AppLocalizations.of(context).gmNorth, - "gmn@kccb.in", - "01892-224607", + Expanded( + child: ListView( + children: [ + _buildContactItem( + AppLocalizations.of(context).chairman, + "chairman@kccb.in", + "01892-222677", + ), + _buildContactItem( + AppLocalizations.of(context).managingDirector, + "md@kccb.in", + "01892-224969", + ), + _buildContactItem( + AppLocalizations.of(context).gmWest, + "gmw@kccb.in", + "01892-223280", + ), + _buildContactItem( + AppLocalizations.of(context).gmNorth, + "gmn@kccb.in", + "01892-224607", + ), + ], + ), ), ], ),