From 52e9f59e6f48733ff365343cd70a30d2ca1d4702 Mon Sep 17 00:00:00 2001 From: Nilanjan Chakrabarti Date: Wed, 10 Sep 2025 18:10:18 +0530 Subject: [PATCH] Transaction Details Bug Fixed --- assets/images/ipos_logo.png | Bin 0 -> 5900 bytes assets/images/uco_logo.png | Bin 0 -> 1990 bytes assets/images/yes_bank_logo.png | Bin 0 -> 16387 bytes .../screens/transaction_details_screen.dart | 16 ++- lib/features/auth/screens/login_screen.dart | 56 ++++---- .../card/screens/card_management_screen.dart | 135 ++++++++++-------- .../dashboard/screens/dashboard_screen.dart | 2 + .../fund_transfer_beneficiary_screen.dart | 4 +- .../service/screens/service_screen.dart | 117 ++++++++------- lib/l10n/app_en.arb | 3 +- lib/l10n/app_hi.arb | 3 +- lib/main.dart | 14 +- lib/widgets/bank_logos.dart | 26 +++- pubspec.lock | 80 +++++------ pubspec.yaml | 3 + 15 files changed, 264 insertions(+), 195 deletions(-) create mode 100644 assets/images/ipos_logo.png create mode 100644 assets/images/uco_logo.png create mode 100644 assets/images/yes_bank_logo.png diff --git a/assets/images/ipos_logo.png b/assets/images/ipos_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e4be1fc7f471918bfcc4db6f82de3beddb33fe83 GIT binary patch literal 5900 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 literal 0 HcmV?d00001 diff --git a/assets/images/uco_logo.png b/assets/images/uco_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f38806509e77f498b4f5571454a9db93344e969e GIT binary patch literal 1990 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 12) ...[ - _buildDetailRow(AppLocalizations.of(context).utrNo, - transaction.name.split("= ")[1].split(" ")[0] ?? ""), - _buildDetailRow( - AppLocalizations.of(context).beneficiaryAccountNo, - transaction.name.split("A/C ").last ?? "") - ] + // if (transaction.name.length > 12) ...[ + // _buildDetailRow(AppLocalizations.of(context).utrNo, + // transaction.name.split("= ")[1].split(" ")[0] ?? ""), + // _buildDetailRow( + // AppLocalizations.of(context).beneficiaryAccountNo, + // transaction.name.split("A/C ").last ?? "") + // ] + _buildDetailRow(AppLocalizations.of(context).details, + transaction.name), ], ), ), diff --git a/lib/features/auth/screens/login_screen.dart b/lib/features/auth/screens/login_screen.dart index 54169fc..0892214 100644 --- a/lib/features/auth/screens/login_screen.dart +++ b/lib/features/auth/screens/login_screen.dart @@ -200,38 +200,38 @@ class LoginScreenState extends State ), const SizedBox(height: 15), - Padding( - padding: const EdgeInsets.symmetric(vertical: 16), - child: Row( - children: [ - const Expanded(child: Divider()), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text(AppLocalizations.of(context).or), - ), - const Expanded(child: Divider()), - ], - ), - ), + // Padding( + // padding: const EdgeInsets.symmetric(vertical: 16), + // child: Row( + // children: [ + // const Expanded(child: Divider()), + // Padding( + // padding: const EdgeInsets.symmetric(horizontal: 8), + // child: Text(AppLocalizations.of(context).or), + // ), + // //const Expanded(child: Divider()), + // ], + // ), + // ), const SizedBox(height: 25), // Register Button - SizedBox( - width: 250, - child: ElevatedButton( - //disable until registration is implemented - onPressed: null, - style: OutlinedButton.styleFrom( - shape: const StadiumBorder(), - padding: const EdgeInsets.symmetric(vertical: 16), - backgroundColor: Theme.of(context).colorScheme.primary, - foregroundColor: Theme.of(context).colorScheme.onPrimary, - ), - child: Text(AppLocalizations.of(context).register, - style: TextStyle(color: Theme.of(context).colorScheme.onPrimary),), - ), - ), + // SizedBox( + // width: 250, + // child: ElevatedButton( + // //disable until registration is implemented + // onPressed: null, + // style: OutlinedButton.styleFrom( + // shape: const StadiumBorder(), + // padding: const EdgeInsets.symmetric(vertical: 16), + // backgroundColor: Theme.of(context).colorScheme.primary, + // foregroundColor: Theme.of(context).colorScheme.onPrimary, + // ), + // child: Text(AppLocalizations.of(context).register, + // style: TextStyle(color: Theme.of(context).colorScheme.onPrimary),), + // ), + // ), ], ), ), diff --git a/lib/features/card/screens/card_management_screen.dart b/lib/features/card/screens/card_management_screen.dart index 8d00d33..158dd62 100644 --- a/lib/features/card/screens/card_management_screen.dart +++ b/lib/features/card/screens/card_management_screen.dart @@ -17,86 +17,105 @@ class CardManagementScreen extends StatefulWidget { class _CardManagementScreen extends State { @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - automaticallyImplyLeading: false, - title: Text( - AppLocalizations.of(context).cardManagement, - ), - centerTitle: false, + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + title: Text( + AppLocalizations.of(context).cardManagement, ), - body: ListView( - children: [ - CardManagementTile( - icon: Symbols.add, - label: AppLocalizations.of(context).applyDebitCard, - onTap: () {}, - ), - const Divider(height: 1), - CardManagementTile( - icon: Symbols.remove_moderator, - label: AppLocalizations.of(context).blockUnblockCard, - onTap: () { - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) => const BlockCardScreen(), - // ), - // ); - }, - ), - const Divider(height: 1), - CardManagementTile( - icon: Symbols.password_2, - label: AppLocalizations.of(context).changeCardPin, - onTap: () { - Navigator.push( + centerTitle: false, + ), + body: ListView( + children: [ + CardManagementTile( + icon: Symbols.add, + label: AppLocalizations.of(context).applyDebitCard, + onTap: () {}, + disabled: true, // Add this + ), + const Divider(height: 1), + CardManagementTile( + icon: Symbols.remove_moderator, + label: AppLocalizations.of(context).blockUnblockCard, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const BlockCardScreen(), + ), + ); + }, + disabled: true, + ), + const Divider(height: 1), + CardManagementTile( + icon: Symbols.password_2, + label: AppLocalizations.of(context).changeCardPin, + onTap: () { + Navigator.push( context, MaterialPageRoute( builder: (context) => const CardPinChangeDetailsScreen(), ), ); - }, - ), - const Divider(height: 1), - CardManagementTile( - icon: Symbols.payment_card, - label: AppLocalizations.of(context).viewCardDeatils, - onTap: () { - // Navigator.push( - // context, - // MaterialPageRoute( - // builder: (context) => const CardDetailsScreen(), - // ), - // ); - }, - ), - const Divider(height: 1), - ], - ), - ); - } + }, + disabled: true, + ), + const Divider(height: 1), + CardManagementTile( + icon: Symbols.payment_card, + label: AppLocalizations.of(context).viewCardDeatils, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const CardDetailsScreen(), + ), + ); + }, + disabled: true, + ), + const Divider(height: 1), + ], + ), + ); + } } class CardManagementTile extends StatelessWidget { final IconData icon; final String label; final VoidCallback onTap; + final bool disabled; const CardManagementTile({ super.key, required this.icon, required this.label, required this.onTap, + this.disabled = false, }); @override Widget build(BuildContext context) { + final theme = Theme.of(context); return ListTile( - leading: Icon(icon), - title: Text(label), - trailing: const Icon(Symbols.arrow_right, size: 20), - onTap: onTap, + leading: Icon( + icon, + color: disabled ? theme.disabledColor : null, + ), + title: Text( + label, + style: TextStyle( + color: disabled ? theme.disabledColor : null, + ), + ), + trailing: Icon( + Symbols.arrow_right, + size: 20, + color: disabled ? theme.disabledColor : null, + ), + onTap: disabled ? null : onTap, ); } -} +} \ No newline at end of file diff --git a/lib/features/dashboard/screens/dashboard_screen.dart b/lib/features/dashboard/screens/dashboard_screen.dart index cf02b07..1ad530c 100644 --- a/lib/features/dashboard/screens/dashboard_screen.dart +++ b/lib/features/dashboard/screens/dashboard_screen.dart @@ -138,6 +138,8 @@ class _DashboardScreenState extends State { switch (accountType.toLowerCase()) { case 'sa': return AppLocalizations.of(context).savingsAccount; + case 'sb': + return AppLocalizations.of(context).savingsAccount; case 'ln': return AppLocalizations.of(context).loanAccount; case 'td': diff --git a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart index e05fb74..89a9c0a 100644 --- a/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart +++ b/lib/features/fund_transfer/screens/fund_transfer_beneficiary_screen.dart @@ -40,8 +40,8 @@ class _FundTransferBeneficiaryScreenState _beneficiaries = data .where((b) => widget.isOwnBank ? b.bankName == - 'THE KANGRA CENTRAL CO-OP BANK LIMITED' // Assuming 'KCCB' is your bank's name - : b.bankName != 'THE KANGRA CENTRAL CO-OP BANK LIMITED') + 'THE KANGRA CENTRAL COOPERATIVE BANK LIMITED' + : b.bankName != 'THE KANGRA CENTRAL COOPERATIVE BANK LIMITED') .toList(); _isLoading = false; }); diff --git a/lib/features/service/screens/service_screen.dart b/lib/features/service/screens/service_screen.dart index 0042b67..1a5de3c 100644 --- a/lib/features/service/screens/service_screen.dart +++ b/lib/features/service/screens/service_screen.dart @@ -13,72 +13,91 @@ class ServiceScreen extends StatefulWidget { } class _ServiceScreen extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - automaticallyImplyLeading: false, - title: Text( - AppLocalizations.of(context).services, +@override +Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + automaticallyImplyLeading: false, + title: Text( + AppLocalizations.of(context).services, + ), + centerTitle: false, + ), + body: ListView( + children: [ + ServiceManagementTile( + icon: Symbols.add, + label: AppLocalizations.of(context).accountOpeningDeposit, + onTap: () {}, + disabled: true, // Add this ), - centerTitle: false, - ), - body: ListView( - children: [ - ServiceManagementTile( - icon: Symbols.add, - label: AppLocalizations.of(context).accountOpeningDeposit, - onTap: () {}, - ), - const Divider(height: 1), - ServiceManagementTile( - icon: Symbols.add, - label: AppLocalizations.of(context).accountOpeningLoan, - onTap: () {}, - ), - const Divider(height: 1), - ServiceManagementTile( - icon: Symbols.captive_portal, - label: AppLocalizations.of(context).quickLinks, - onTap: () {}, - ), - const Divider(height: 1), - ServiceManagementTile( - icon: Symbols.missing_controller, - label: AppLocalizations.of(context).branchLocator, - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => const BranchLocatorScreen())); - }, - ), - const Divider(height: 1), - ], - ), - ); - } + const Divider(height: 1), + ServiceManagementTile( + icon: Symbols.add, + label: AppLocalizations.of(context).accountOpeningLoan, + onTap: () {}, + disabled: true, // Add this + ), + const Divider(height: 1), + ServiceManagementTile( + icon: Symbols.captive_portal, + label: AppLocalizations.of(context).quickLinks, + onTap: () {}, + disabled: true, // Add this + ), + const Divider(height: 1), + ServiceManagementTile( + icon: Symbols.missing_controller, + label: AppLocalizations.of(context).branchLocator, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const BranchLocatorScreen())); + }, + disabled: true, // Add this + ), + const Divider(height: 1), + ], + ), + ); +} } class ServiceManagementTile extends StatelessWidget { final IconData icon; final String label; final VoidCallback onTap; + final bool disabled; // Add this line const ServiceManagementTile({ super.key, required this.icon, required this.label, required this.onTap, + this.disabled = false, // Add this line }); @override Widget build(BuildContext context) { + final theme = Theme.of(context); return ListTile( - leading: Icon(icon), - title: Text(label), - trailing: const Icon(Symbols.arrow_right, size: 20), - onTap: onTap, + leading: Icon( + icon, + color: disabled ? theme.disabledColor : null, // Change color when disabled + ), + title: Text( + label, + style: TextStyle( + color: disabled ? theme.disabledColor : null, // Change color when disabled + ), + ), + trailing: Icon( + Symbols.arrow_right, + size: 20, + color: disabled ? theme.disabledColor : null, // Change color when disabled + ), + onTap: disabled ? null : onTap, // Disable onTap when disabled ); } -} +} \ No newline at end of file diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 4ff710f..c7b8f45 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -312,5 +312,6 @@ "selectThemeMode": "Select Theme Mode", "themeModeSystem": "System", "themeModeLight": "Light", - "themeModeDark": "Dark" + "themeModeDark": "Dark", + "details": "Details" } diff --git a/lib/l10n/app_hi.arb b/lib/l10n/app_hi.arb index 5e6e87f..759007d 100644 --- a/lib/l10n/app_hi.arb +++ b/lib/l10n/app_hi.arb @@ -313,5 +313,6 @@ "selectThemeMode": "थीम मोड चुनें", "themeModeSystem": "सिस्टम", "themeModeLight": "लाईट", - "themeModeDark": "डार्क" + "themeModeDark": "डार्क", +"details": "विवरण" } diff --git a/lib/main.dart b/lib/main.dart index a62f353..ad4c61c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -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(); diff --git a/lib/widgets/bank_logos.dart b/lib/widgets/bank_logos.dart index 17c48c5..b1b92bc 100644 --- a/lib/widgets/bank_logos.dart +++ b/lib/widgets/bank_logos.dart @@ -15,7 +15,7 @@ Widget getBankLogo(String? bankName, BuildContext context) { height: 40, ); } - if (bankName != null && bankName.toLowerCase().contains('hdfc bank ltd')) { + if (bankName != null && bankName.toLowerCase().contains('hdfc')) { return Image.asset( 'assets/images/hdfc_logo.png', width: 40, @@ -29,6 +29,13 @@ Widget getBankLogo(String? bankName, BuildContext context) { height: 40, ); } + if (bankName != null && bankName.toLowerCase().contains('uco')) { + return Image.asset( + 'assets/images/uco_logo.png', + width: 40, + height: 40, + ); + } if (bankName != null && bankName.toLowerCase().contains('punjab national bank')) { return Image.asset( @@ -71,7 +78,22 @@ Widget getBankLogo(String? bankName, BuildContext context) { width: 40, height: 40, ); - } else { + } + if (bankName != null && bankName.toLowerCase().contains('yes')) { + return Image.asset( + 'assets/images/yes_bank_logo.png', + width: 40, + height: 40, + ); + } + if (bankName != null && bankName.toLowerCase().contains('ipsbank') || bankName != null && bankName.toLowerCase().contains('india post') ) { + return Image.asset( + 'assets/images/ipos_logo.png', + width: 40, + height: 40, + ); + } + else { return Icon( Icons.account_balance, size: 40, diff --git a/pubspec.lock b/pubspec.lock index 072ec50..10b95d9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: async - sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.13.0" + version: "2.11.0" barcode: dependency: transitive description: @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.1" chalkdart: dependency: transitive description: @@ -69,10 +69,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.3.0" checked_yaml: dependency: transitive description: @@ -93,18 +93,18 @@ packages: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.1" collection: dependency: transitive description: name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.19.1" + version: "1.18.0" confetti: dependency: "direct main" description: @@ -181,10 +181,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dev" source: hosted - version: "1.3.3" + version: "1.3.1" ffi: dependency: transitive description: @@ -385,10 +385,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.20.2" + version: "0.19.0" jailbreak_root_detection: dependency: "direct main" description: @@ -417,18 +417,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.9" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -497,10 +497,10 @@ packages: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: @@ -521,10 +521,10 @@ packages: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.15.0" mime: dependency: transitive description: @@ -545,10 +545,10 @@ packages: dependency: transitive description: name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.9.0" path_parsing: dependency: transitive description: @@ -793,15 +793,15 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.0" + version: "0.0.99" source_span: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.0" sprintf: dependency: transitive description: @@ -814,42 +814,42 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dev" source: hosted - version: "1.2.2" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.2" typed_data: dependency: transitive description: @@ -966,10 +966,10 @@ packages: dependency: transitive description: name: vm_service - sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "15.0.0" + version: "14.2.5" web: dependency: transitive description: @@ -1019,5 +1019,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.5.0 <4.0.0" flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 3336c02..e869513 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -113,6 +113,9 @@ flutter: - assets/images/icici_logo.png - assets/images/hdfc_logo.png - assets/images/pnb_logo.png + - assets/images/yes_bank_logo.png + - assets/images/uco_logo.png + - assets/images/ipos_logo.png - assets/animations/rupee.json - assets/animations/error.json - assets/animations/done.json