diff --git a/android/app/.cxx/Debug/2d1206wq/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/Debug/2d1206wq/arm64-v8a/configure_fingerprint.bin index ffb20a20..3375cb61 100644 --- a/android/app/.cxx/Debug/2d1206wq/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/2d1206wq/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logc a _C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ׈2  瘝2` +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  瘝2` ^ -\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\android_gradle_build.json  ׈2 2e +\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\android_gradle_build.json  2 2e c -aC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\android_gradle_build_mini.json  ׈2 ث2R +aC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\android_gradle_build_mini.json  2 ث2R P -NC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build.ninja  ׈2 ̨2V +NC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build.ninja  2 ̨2V T -RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build.ninja.txt  ؈2[ +RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build.ninja.txt  2[ Y -WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build_file_index.txt  ؈2 S 諤2\ +WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\build_file_index.txt  2 S 諤2\ Z -XC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\compile_commands.json  ؈2` +XC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\compile_commands.json  2` ^ -\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\compile_commands.json.bin  ؈2 f +\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\compile_commands.json.bin  2 f d -bC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\metadata_generation_command.txt  ؈2 +bC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\metadata_generation_command.txt  2  ޫ2Y W -UC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\prefab_config.json  ؈2  ( 櫤2^ +UC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\prefab_config.json  2  ( 櫤2^ \ -ZC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\symbol_folder_index.txt  ؈2  Q 諤2W +ZC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\arm64-v8a\symbol_folder_index.txt  2  Q 諤2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ؈2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/2d1206wq/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/Debug/2d1206wq/armeabi-v7a/configure_fingerprint.bin index d7836f4d..ccf38ea6 100644 --- a/android/app/.cxx/Debug/2d1206wq/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/2d1206wq/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Loge c aC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2b +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2b ` -^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\android_gradle_build.json  2 2g +^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\android_gradle_build.json  2 2g e -cC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\android_gradle_build_mini.json  2 2T +cC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\android_gradle_build_mini.json  2 2T R -PC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build.ninja  2 2X +PC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build.ninja  2 2X V -TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build.ninja.txt  2] +TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build.ninja.txt  2] [ -YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build_file_index.txt  2 S 2^ +YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\build_file_index.txt  2 S 2^ \ -ZC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\compile_commands.json  2b +ZC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\compile_commands.json  2b ` -^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\compile_commands.json.bin  2 h +^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\compile_commands.json.bin  2 h f -dC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\metadata_generation_command.txt  2 +dC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\metadata_generation_command.txt  2  2[ Y -WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\prefab_config.json  2  ( 2` +WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\prefab_config.json  2  ( 2` ^ -\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\symbol_folder_index.txt  2  S 2W +\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\armeabi-v7a\symbol_folder_index.txt  2  S 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/2d1206wq/x86/configure_fingerprint.bin b/android/app/.cxx/Debug/2d1206wq/x86/configure_fingerprint.bin index 49a07d88..969247be 100644 --- a/android/app/.cxx/Debug/2d1206wq/x86/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/2d1206wq/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log] [ YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  щ2  2Z +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2Z X -VC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\android_gradle_build.json  щ2 2_ +VC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\android_gradle_build.json  2 2_ ] -[C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\android_gradle_build_mini.json  щ2 2L +[C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\android_gradle_build_mini.json  2 2L J -HC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build.ninja  щ2 2P +HC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build.ninja  2 2P N -LC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build.ninja.txt  щ2U +LC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build.ninja.txt  2U S -QC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build_file_index.txt  щ2 S 2V +QC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\build_file_index.txt  2 S 2V T -RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\compile_commands.json  щ2Z +RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\compile_commands.json  2Z X -VC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\compile_commands.json.bin  щ2 ` +VC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\compile_commands.json.bin  2 ` ^ -\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\metadata_generation_command.txt  щ2 +\C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\metadata_generation_command.txt  2  2S Q -OC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\prefab_config.json  щ2  ( 2X +OC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\prefab_config.json  2  ( 2X V -TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\symbol_folder_index.txt  ҉2  K 2W +TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86\symbol_folder_index.txt  2  K 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  Ӊ2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/2d1206wq/x86_64/configure_fingerprint.bin b/android/app/.cxx/Debug/2d1206wq/x86_64/configure_fingerprint.bin index e934e293..22448754 100644 --- a/android/app/.cxx/Debug/2d1206wq/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/2d1206wq/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log` ^ \C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  צ2] +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  צ2] [ -YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\android_gradle_build.json  2 ئ2b +YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\android_gradle_build.json  2 ئ2b ` -^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\android_gradle_build_mini.json  2 ئ2O +^C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\android_gradle_build_mini.json  2 ئ2O M -KC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build.ninja  2 ֦2S +KC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build.ninja  2 ֦2S Q -OC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build.ninja.txt  2X +OC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build.ninja.txt  2X V -TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build_file_index.txt  2 S ئ2Y +TC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\build_file_index.txt  2 S ئ2Y W -UC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\compile_commands.json  2] +UC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\compile_commands.json  2] [ -YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\compile_commands.json.bin  2 c +YC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\compile_commands.json.bin  2 c a -_C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\metadata_generation_command.txt  2 +_C:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\metadata_generation_command.txt  2  ئ2V T -RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\prefab_config.json  2  ( ئ2[ +RC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\prefab_config.json  2  ( ئ2[ Y -WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\symbol_folder_index.txt  2  N ئ2W +WC:\flutter code\new\FCSC\android\app\.cxx\Debug\2d1206wq\x86_64\symbol_folder_index.txt  2  N ئ2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/common_packages/external_repos/lib/src/domain/entities/indicators/indicator_topic.dart b/common_packages/external_repos/lib/src/domain/entities/indicators/indicator_topic.dart index 7b512870..2f9eefaa 100644 --- a/common_packages/external_repos/lib/src/domain/entities/indicators/indicator_topic.dart +++ b/common_packages/external_repos/lib/src/domain/entities/indicators/indicator_topic.dart @@ -1,6 +1,6 @@ enum IndicatorTopic { economy(nameAR: 'الاقتصاد', nameEN: 'Economy'), - social(nameAR: 'الاجتماعي', nameEN: 'Social'), + social(nameAR: 'لاجتماعي', nameEN: 'Social'), environment(nameAR: 'البيئة', nameEN: 'Environment'); const IndicatorTopic({ diff --git a/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/uae_numbers.dart b/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/uae_numbers.dart index 1c5d7f2d..88f61558 100644 --- a/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/uae_numbers.dart +++ b/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/uae_numbers.dart @@ -71,7 +71,6 @@ class uaenumberWidget extends ConsumerStatefulWidget { } class _UaenumberWidgetState extends ConsumerState { - @override TextEditingController _searchController = TextEditingController(); List homePageData = []; List filteredData = []; @@ -100,7 +99,6 @@ class _UaenumberWidgetState extends ConsumerState { } Future fetchData(locale) async { - // const baseUrl = 'https://pb.venbait.in/api/getHomePageData'; const baseUrl = '$apiUrl/api/getUAENumbersData'; try { final response = await http.get(Uri.parse(baseUrl + '?language=$locale')); @@ -109,11 +107,7 @@ class _UaenumberWidgetState extends ConsumerState { homePageData = (json.decode(response.body) as List) .map((e) => Map.from(e)) .toList(); - filteredData = List.from(homePageData); - // Show all initially - - // print("HomeDAta $homePageData"); isLoading = false; }); } else { @@ -130,7 +124,7 @@ class _UaenumberWidgetState extends ConsumerState { void filterData(String query) { if (query.isEmpty) { setState(() { - filteredData = List.from(homePageData); // Reset if empty + filteredData = List.from(homePageData); }); return; } @@ -180,14 +174,13 @@ class _UaenumberWidgetState extends ConsumerState { setState(() { filteredData = tempList; - print(filteredData); // Debugging: Check filtered output in console }); } + @override Widget build(BuildContext context) { final isConnected = ref.watch(connectivityProvider); - // If no internet, redirect to InternetCheckScreen ref.listen>(connectivityProvider, (previous, hasInternet) { if (hasInternet.value == false) { context.push('/internetcheck'); @@ -195,7 +188,7 @@ class _UaenumberWidgetState extends ConsumerState { }); ref.listen(localeProvider, (previous, next) async { - final localeCode = next?.languageCode ?? 'en'; // Default to 'en' if null + final localeCode = next?.languageCode ?? 'en'; setState(() { isLoading = true; }); @@ -208,31 +201,26 @@ class _UaenumberWidgetState extends ConsumerState { if (isLoading) { return Container( - color: Color(0x98FFFCE5), // Semi-transparent background + color: Color(0x98FFFCE5), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - margin: - EdgeInsets.symmetric(horizontal: 40), // Left & Right space + margin: EdgeInsets.symmetric(horizontal: 40), child: LinearProgressIndicator( - minHeight: 5, // Adjust thickness - backgroundColor: Colors.grey[100], // Optional: Background color - valueColor: AlwaysStoppedAnimation( - Color(0xFFAA8E83)), // Loader color + minHeight: 5, + backgroundColor: Colors.grey[100], + valueColor: AlwaysStoppedAnimation(Color(0xFFAA8E83)), ), ), ], ), ); - } else if (filteredData.isEmpty) { - return Center(child: Text("No data available")); } return Padding( - padding: - const EdgeInsets.only(left: 16.0, right: 16.0, top: 5.0, bottom: 5.0), - child: ListView( + padding: const EdgeInsets.only(left: 16.0, right: 16.0, top: 5.0, bottom: 5.0), + child: Column( children: [ Container( height: 40, @@ -246,17 +234,15 @@ class _UaenumberWidgetState extends ConsumerState { child: TextField( controller: _searchController, onChanged: (value) { - filterData( - value); // Call filter function directly on input change - }, // Ensures vertical alignment - // Centers text horizontally + filterData(value); + }, decoration: InputDecoration( hintText: AppLocalizations.of(context)!.search, hintStyle: TextStyle( color: Color(0xFFAA8E83), fontFamily: context.translate('Roboto', 'NotoKufi'), fontSize: 14, - height: 2.5, // This helps align it with the icon + height: 2.0, ), prefixIconConstraints: BoxConstraints( maxWidth: 42, @@ -264,7 +250,7 @@ class _UaenumberWidgetState extends ConsumerState { ), prefixIcon: Container( padding: EdgeInsets.only(right: 5, left: 5), - alignment: Alignment.center, // Ensures the SVG is centered + alignment: Alignment.center, child: SvgPicture.asset( MiscIconAssetPath.Search, semanticsLabel: 'Search', @@ -273,72 +259,88 @@ class _UaenumberWidgetState extends ConsumerState { width: 18, ), ), + suffixIcon: _searchController.text.isNotEmpty + ? IconButton( + icon: Icon( + Icons.clear, + color: Color(0xFFAA8E83), + size: 18, + ), + onPressed: () { + _searchController.clear(); + filterData(''); + }, + ) + : null, contentPadding: EdgeInsets.symmetric(vertical: 9, horizontal: 18.0), border: InputBorder.none, ), - ), ), ), - SizedBox( - height: myheight / 40, - ), - ...filteredData.map((mainTopic) { - String colorPattern = mainTopic['color_pattern']; - print('colorPattern $colorPattern'); - Color backgroundColor = Color(int.parse(colorPattern)); - print('backgroundColor $backgroundColor'); - Color borderColor = backgroundColor; - int index = filteredData.indexOf(mainTopic); - bool isFirstTile = index == 0; + SizedBox(height: myheight / 40), + Expanded( + child: filteredData.isEmpty + ? Center(child: Text("No data available")) + : ListView( + children: [ + ...filteredData.map((mainTopic) { + String colorPattern = mainTopic['color_pattern']; + Color backgroundColor = Color(int.parse(colorPattern)); + Color borderColor = backgroundColor; + int index = filteredData.indexOf(mainTopic); - return CustomExpandableTile( - index: index, - isExpanded: expandedIndex == index, // Compare with expandedIndex - onTap: (index) { - setState(() { - expandedIndex = (expandedIndex == index) ? null : index; - }); - }, - title: mainTopic['main_topic'], - titleBackgroundColor: backgroundColor, - children: _buildSubTopics(mainTopic['sub_topics'] ?? [], mywidth, - myheight, borderColor, colorPattern, mainTopic['main_topic']), - ); - }), + return CustomExpandableTile( + index: index, + isExpanded: expandedIndex == index, + onTap: (index) { + setState(() { + expandedIndex = (expandedIndex == index) ? null : index; + }); + }, + title: mainTopic['main_topic'], + titleBackgroundColor: backgroundColor, + children: _buildSubTopics( + mainTopic['sub_topics'] ?? [], + mywidth, + myheight, + borderColor, + colorPattern, + mainTopic['main_topic']), + ); + }), + ], + ), + ), ], ), ); } - List _buildSubTopics(List subTopics, double myWidth, - myheight, Color borderColor, String colorPattern, mainTopic) { - print('colorPattern123 $borderColor'); - // Sort sub-topics based on `sub_topic_list_order` - subTopics.sort((a, b) => (a['sub_topic_list_order'] ?? 0) - .compareTo(b['sub_topic_list_order'] ?? 0)); + List _buildSubTopics(List subTopics, double myWidth, myheight, + Color borderColor, String colorPattern, mainTopic) { + subTopics.sort((a, b) => + (a['sub_topic_list_order'] ?? 0).compareTo(b['sub_topic_list_order'] ?? 0)); return subTopics .map((subTopic) => Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - buildCategoryTitle(subTopic['sub_topic'], borderColor), - ..._buildDataSetCards(subTopic['tile_data'] ?? [], myWidth, - borderColor, colorPattern, mainTopic), - ], - )) + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + buildCategoryTitle(subTopic['sub_topic'], borderColor), + ..._buildDataSetCards(subTopic['tile_data'] ?? [], myWidth, + borderColor, colorPattern, mainTopic), + ], + )) .toList(); } List _buildDataSetCards(List tileData, double myWidth, Color borderColor, colorPattern, mainTopic) { - // Sort datasets based on `data_set_list_order` - tileData.sort((a, b) => (a['data_set_list_order'] ?? 0) - .compareTo(b['data_set_list_order'] ?? 0)); + tileData.sort((a, b) => + (a['data_set_list_order'] ?? 0).compareTo(b['data_set_list_order'] ?? 0)); List rows = []; for (int i = 0; i < tileData.length; i += 2) { - // Take 1 or 2 items for the row final rowItems = tileData.sublist( i, i + 2 > tileData.length ? tileData.length : i + 2, @@ -348,15 +350,13 @@ class _UaenumberWidgetState extends ConsumerState { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: rowItems.map((data) { - // Calculate width: full width for one item, half for two items final cardWidth = rowItems.length == 1 ? myWidth - : (myWidth - 16) / 2.6; // Subtract spacing for padding + : (myWidth - 16) / 2.6; return Expanded( child: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 5.0), // Add spacing + padding: const EdgeInsets.symmetric(horizontal: 5.0), child: buildCard( context, data['data_set_tile_heading'] ?? '', @@ -367,8 +367,7 @@ class _UaenumberWidgetState extends ConsumerState { borderColor, colorPattern, cardWidth, - mainTopic // Pass the calculated width - ), + mainTopic), ), ); }).toList(), @@ -380,22 +379,22 @@ class _UaenumberWidgetState extends ConsumerState { Widget buildCategoryTitle(String title, Color color) { return Padding( - padding: const EdgeInsets.only(top: 1.2, bottom: 1.2), - // padding: const EdgeInsets.symmetric(vertical: 8.0), - child: Center( - child: Text( - title, - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - fontWeight: FontWeight.w600, - color: color, + padding: const EdgeInsets.only(top: 1.2, bottom: 1.2), + child: Center( + child: Text( + title, + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', ), + fontSize: 16, + fontWeight: FontWeight.w600, + color: color, ), - )); + ), + ), + ); } Widget buildCardRow(List cards) { @@ -423,11 +422,7 @@ class _UaenumberWidgetState extends ConsumerState { colorPattern, double mywidth, String mainTopic) { - print('UAE Numbers $value , $title'); - // Check if title is "Population Growth" bool isPopulationGrowth = title == "Population Growth"; - - // Convert value to double for checking positive or negative (only for Population Growth) double parsedValue = isPopulationGrowth ? double.tryParse(value.replaceAll('%', '')) ?? 0.0 : 0.0; @@ -435,31 +430,23 @@ class _UaenumberWidgetState extends ConsumerState { return GestureDetector( onTap: () { - // print('checking data'); - // print(mainTopic); - // print(title); - // print(subtitle); - // print(data_set); final encodedMainTopic = Uri.encodeComponent(mainTopic); final encodedTitle = Uri.encodeComponent(title); final encodedKey = Uri.encodeQueryComponent('uaenumbers'); - // Pass mainTopic and title as query parameters context.push( '/chartScreen/$data_set?bgColor=$colorPattern&mainTopic=$encodedMainTopic&title=$encodedTitle&key=$encodedKey'); - // context.go('/chartScreen/$data_set'); }, child: Card( elevation: 1, child: Container( width: mywidth, decoration: BoxDecoration( - color: Colors.white, // Background color + color: Colors.white, border: Border.all( - color: bordercolor, // Border color - width: 1, // Border width + color: bordercolor, + width: 1, ), - borderRadius: - BorderRadius.circular(12), // Optional: Rounded corners + borderRadius: BorderRadius.circular(12), ), padding: const EdgeInsets.only( top: 3.0, bottom: 3.0, left: 5.0, right: 5.0), diff --git a/lib/presentation/Screens/charts/widgets/chart_widget.dart b/lib/presentation/Screens/charts/widgets/chart_widget.dart index 93ae342e..50e49228 100644 --- a/lib/presentation/Screens/charts/widgets/chart_widget.dart +++ b/lib/presentation/Screens/charts/widgets/chart_widget.dart @@ -89,9 +89,9 @@ class ChartWidget extends StatelessWidget { // Function to get colors for both English & Arabic keys List get uniqueColors { final Map translations = { - 'اقتصاد': 'ECONOMY', - 'اجتماعي': 'SOCIAL', - 'بيئة': 'ENVIRONMENT', + 'الاقتصاد': 'ECONOMY', + 'الاجتماعي': 'SOCIAL', + 'البيئة': 'ENVIRONMENT', }; String key = translations[chartHeader] ?? chartHeader; @@ -100,9 +100,9 @@ class ChartWidget extends StatelessWidget { List get uniqueColorsForTwo { final Map translations = { - 'اقتصاد': 'ECONOMY', - 'اجتماعي': 'SOCIAL', - 'بيئة': 'ENVIRONMENT', + 'الاقتصاد': 'ECONOMY', + 'الاجتماعي': 'SOCIAL', + 'البيئة': 'ENVIRONMENT', }; String key = translations[chartHeader] ?? chartHeader; @@ -111,9 +111,9 @@ class ChartWidget extends StatelessWidget { List get uniqueColorsForThree { final Map translations = { - 'اقتصاد': 'ECONOMY', - 'اجتماعي': 'SOCIAL', - 'بيئة': 'ENVIRONMENT', + 'الاقتصاد': 'ECONOMY', + 'الاجتماعي': 'SOCIAL', + 'البيئة': 'ENVIRONMENT', }; String key = translations[chartHeader] ?? chartHeader; diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart index 69892d1e..007e6d18 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart @@ -108,9 +108,9 @@ class _BookMarkState extends ConsumerState { List> fetchedData) { // Define the required order List order = [ - context.translate('ECONOMY', 'اقتصاد'), - context.translate('SOCIAL', 'اجتماعي'), - context.translate('ENVIRONMENT', 'بيئة') + context.translate('ECONOMY', 'الاقتصاد'), + context.translate('SOCIAL', 'الاجتماعي'), + context.translate('ENVIRONMENT', 'البيئة') ]; // Create a list to store sorted data @@ -118,9 +118,9 @@ class _BookMarkState extends ConsumerState { // Group data based on categories Map>> groupedData = { - context.translate('ECONOMY', 'اقتصاد'): [], - context.translate('SOCIAL', 'اجتماعي'): [], - context.translate('ENVIRONMENT', 'بيئة'): [] + context.translate('ECONOMY', 'الاقتصاد'): [], + context.translate('SOCIAL', 'الاجتماعي'): [], + context.translate('ENVIRONMENT', 'البيئة'): [] }; // Categorize data