From 26ef4efe63313160547b8d52db8f6b69eb84e4d1 Mon Sep 17 00:00:00 2001 From: Kalonkarthik Date: Mon, 10 Mar 2025 14:36:27 +0530 Subject: [PATCH] all bookmarks rearranged --- .../Screens/charts/screens/chart_screen.dart | 1 + .../tab_routes/home_route.dart | 24 +++-- .../drawer_routes/Drawer Items/bookmark.dart | 37 ++++++++ .../notification/notification.dart | 2 +- .../drawer_routes/custom_drawer_routes.dart | 5 -- pubspec.lock | 90 +++++++++---------- 6 files changed, 99 insertions(+), 60 deletions(-) diff --git a/lib/presentation/Screens/charts/screens/chart_screen.dart b/lib/presentation/Screens/charts/screens/chart_screen.dart index 5c14c40b..e05b42ce 100644 --- a/lib/presentation/Screens/charts/screens/chart_screen.dart +++ b/lib/presentation/Screens/charts/screens/chart_screen.dart @@ -2470,6 +2470,7 @@ class _ChartScreen1State extends ConsumerState { padding: const EdgeInsets.only( top: 8.0, left: 1.0, right: 1.0), child: LayoutBuilder( + key: cardKey, builder: (context, constraints) { List rows = []; List tempRow = []; diff --git a/lib/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart b/lib/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart index 8e142b0a..cd05075c 100644 --- a/lib/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart +++ b/lib/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart @@ -400,8 +400,11 @@ class EconomyStatsState extends ConsumerState { ref.read(homeTourProvider.notifier).state = true; ref.read(chartsTourProvider.notifier).state = false; debugPrint('Home Tutorial Finished'); + locale.languageCode == 'ar'? context.go( - '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments'); + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=null&title=المنشآت الفندقية',): + context.go( + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments',); }, )..show(context: context); } else if (!previousHomeTour) { @@ -415,8 +418,11 @@ class EconomyStatsState extends ConsumerState { onFinish: () { ref.read(previousHomeTourProvider.notifier).state = true; debugPrint('Previous Home Tutorial Finished'); + locale.languageCode == 'ar'? context.go( - '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments'); + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=null&title=المنشآت الفندقية',): + context.go( + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments',); }, )..show(context: context); } @@ -814,9 +820,11 @@ class EconomyStatsState extends ConsumerState { .read( chartsTourProvider.notifier) .state = false; + locale.languageCode == 'ar'? context.go( - '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments', - ); + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=null&title=المنشآت الفندقية',): + context.go( + '/chartScreen/hotels?bgColor=0xFF90B0D5&mainTopic=ECONOMY&title=Hotel+Establishments',); } else { tutorialCoachMark.next(); } @@ -1142,7 +1150,7 @@ class EconomyStatsState extends ConsumerState { } else if (data.isEmpty) { return Center(child: Text("No data available")); } - + String firstMainTopic=data.first['main_topic']??''; return Container( height: myheight, // color: Colors.cyan, @@ -1187,8 +1195,7 @@ class EconomyStatsState extends ConsumerState { crossAxisAlignment: CrossAxisAlignment.start, children: [ RoundedCornerContainer( - key: mainTopic['main_topic'] == 'ECONOMY' || - mainTopic['main_topic'] == 'اقتصاد' + key: mainTopic['main_topic'] == firstMainTopic ? cardTopicKey : null, text: mainTopic['main_topic'], @@ -1202,8 +1209,7 @@ class EconomyStatsState extends ConsumerState { SizedBox( height: myheight / 4.8, // Set dynamic height child: Container( - key: mainTopic['main_topic'] == 'ECONOMY' || - mainTopic['main_topic'] == 'اقتصاد' + key: mainTopic['main_topic'] == firstMainTopic ? cardsKey : null, // color: Colors.grey[200], // Set a background color for the scrollable container diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart index a3c79491..6b38a317 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart @@ -100,6 +100,43 @@ class _BookMarkState extends ConsumerState { }).toList(); // print('dataList $dataList'); }); + + List> transformAndStore(List> fetchedData) { + // Define the required order + List order = [context.translate('ECONOMY','اقتصاد'), context.translate('SOCIAL', 'اجتماعي'), context.translate('ENVIRONMENT', 'بيئة')]; + + // Create a list to store sorted data + List> sortedList = []; + + // Group data based on categories + Map>> groupedData = { + context.translate('ECONOMY','اقتصاد'): [], + context.translate('SOCIAL', 'اجتماعي'): [], + context.translate('ENVIRONMENT', 'بيئة'): [] + }; + + // Categorize data + for (var item in fetchedData) { + String mainTopic = item["main_topic"]?.toString()?? ""; + if (groupedData.containsKey(mainTopic)) { + groupedData[mainTopic]!.add(item); + } + } + + // Store sorted data in the correct order + for (String topic in order) { + if (groupedData.containsKey(topic)) { + sortedList.addAll(groupedData[topic]!); + } + } + + // Store the sorted list (replace this with your storage method) + return sortedList; + } + setState(() { + dataList = transformAndStore(dataList); + }); + groupedMap = {}; for (var item in dataList) { String? mainTopic = item['main_topic']; diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart b/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart index 6f8c3470..a04b0ecc 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart @@ -267,7 +267,7 @@ class NotificationTile extends StatelessWidget { return GestureDetector( onTap: () { final encodedKey = Uri.encodeQueryComponent('notification'); - context.go('/notification_details', extra: { + context.push('/notification_details', extra: { 'title': title, 'message': message, 'date': date, diff --git a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart index e4c94822..1374ec9b 100644 --- a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart +++ b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart @@ -784,12 +784,7 @@ class _BaseScaffoldState extends ConsumerState { color: widget.colorChange ? Colors.white : Colors.black, icon: const Icon(Icons.arrow_back_ios_new, size: 24), onPressed: () { - if ((widget.navBackArrow as Text).data == - 'notification') { - context.go('/notification'); - } else { context.pop(); - } }, ), ), diff --git a/pubspec.lock b/pubspec.lock index a9e54001..41c720b7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -93,18 +93,18 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.1" boxy: dependency: "direct main" description: @@ -181,10 +181,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: @@ -213,10 +213,10 @@ packages: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.1" code_builder: dependency: transitive description: @@ -229,10 +229,10 @@ packages: dependency: transitive description: name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.19.1" + version: "1.19.0" connectivity_plus: dependency: "direct main" description: @@ -404,10 +404,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.1" fast_immutable_collections: dependency: "direct main" description: @@ -420,10 +420,10 @@ packages: dependency: transitive description: name: ffi - sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.3" file: dependency: transitive description: @@ -912,10 +912,10 @@ packages: dependency: transitive description: name: js - sha256: "53385261521cc4a0c4658fd0ad07a7d14591cf8fc33abbceae306ddb974888dc" + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.1" json_annotation: dependency: "direct main" description: @@ -944,18 +944,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1000,10 +1000,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_charts: dependency: "direct main" description: @@ -1024,10 +1024,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: @@ -1080,10 +1080,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: @@ -1144,10 +1144,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.0.2" platform: dependency: transitive description: @@ -1403,10 +1403,10 @@ packages: 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: @@ -1419,10 +1419,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.0" state_notifier: dependency: transitive description: @@ -1435,10 +1435,10 @@ packages: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1451,10 +1451,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.3.0" syncfusion_flutter_charts: dependency: "direct main" description: @@ -1475,18 +1475,18 @@ packages: 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: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.3" the_validator: dependency: "direct main" description: @@ -1675,10 +1675,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "14.3.0" watcher: dependency: transitive description: @@ -1747,10 +1747,10 @@ packages: dependency: transitive description: name: win32 - sha256: b89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef + sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e url: "https://pub.dev" source: hosted - version: "5.11.0" + version: "5.10.1" xdg_directories: dependency: transitive description: @@ -1776,5 +1776,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.7.0 <4.0.0" + dart: ">=3.6.0 <4.0.0" flutter: ">=3.27.0"