diff --git a/assets/images/ipos_logo.png b/assets/images/ipos_logo.png new file mode 100644 index 0000000..e4be1fc Binary files /dev/null and b/assets/images/ipos_logo.png differ diff --git a/assets/images/uco_logo.png b/assets/images/uco_logo.png new file mode 100644 index 0000000..f388065 Binary files /dev/null and b/assets/images/uco_logo.png differ diff --git a/assets/images/yes_bank_logo.png b/assets/images/yes_bank_logo.png new file mode 100644 index 0000000..a7943b6 Binary files /dev/null and b/assets/images/yes_bank_logo.png differ diff --git a/lib/features/accounts/screens/transaction_details_screen.dart b/lib/features/accounts/screens/transaction_details_screen.dart index efe595b..5041cbd 100644 --- a/lib/features/accounts/screens/transaction_details_screen.dart +++ b/lib/features/accounts/screens/transaction_details_screen.dart @@ -66,13 +66,15 @@ class TransactionDetailsScreen extends StatelessWidget { transaction.type ?? ""), _buildDetailRow(AppLocalizations.of(context).transferType, transaction.name.split("/").first ?? ""), - 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 ?? "") - ] + // 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