diff --git a/android/app/build.gradle b/android/app/build.gradle index 7798729d..6938a51f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -15,12 +15,12 @@ if (localPropertiesFile.exists()) { def flutterVersionCode = localProperties.getProperty("flutter.versionCode") if (flutterVersionCode == null) { - flutterVersionCode = "10" + flutterVersionCode = "11" } def flutterVersionName = localProperties.getProperty("flutter.versionName") if (flutterVersionName == null) { - flutterVersionName = "1.0.9" + flutterVersionName = "1.0.10" } def keystorePropertiesFile = rootProject.file("key.properties") diff --git a/assets/icons/misc/group.png b/assets/icons/misc/group.png new file mode 100644 index 00000000..e515f120 Binary files /dev/null and b/assets/icons/misc/group.png differ diff --git a/assets/icons/misc/search.png b/assets/icons/misc/search.png new file mode 100644 index 00000000..15c86a6a Binary files /dev/null and b/assets/icons/misc/search.png differ diff --git a/lib/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart b/lib/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart index 7912f789..0b01da5f 100644 --- a/lib/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart +++ b/lib/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart @@ -10,5 +10,7 @@ abstract class MiscIconAssetPath { static const visibleOn = '$_basePath/visible_on.png'; static const visibilityOff = '$_basePath/visibility_off.png'; static const save = '$_basePath/save.png'; + static const group = '$_basePath/group.png'; + static const search = '$_basePath/search.png'; } diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index 8766c03b..2834090b 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -1,6 +1,20 @@ { - "feedback_title": "التعليقات", + "feedback_title": "تعليق", "feedback_failed_msg": "لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى.", + "thankYou": "شكراً", + "feedback_message": "لملاحظاتك القيمة، نحن نقدر مساهمتك حقًا!", + "failed_to_sharefeedback": "فشل في مشاركة الملاحظات", + "feedback_submitted": "تم إرسال الملاحظات بنجاح!", + "formError": "يرجى تصحيح الأخطاء قبل الإرسال.", + "feedback_failed": "فشل في إرسال التعليق: {error}", + "skip": "تخطي", + "got_it": "فهمت", + "exit_app": "الخروج من التطبيق", + "exit_confirmation": "هل أنت متأكد أنك تريد الخروج؟", + "cancel": "إلغاء", + "exit": "خروج", + + "bookmark_title": "إشارة مرجعية", "guide_title": "نموذج الملاحظات", diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 0e9f3c2d..e4efd016 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,8 +1,21 @@ { - "feedback_title": "Feedback", +"feedback_title": "Feedback", "feedback_failed_msg": "Your feedback could not be \n submitted. Please try again", + "thankYou": "Thank you", + "feedback_message": "For your valuable feedback, we truly appreciate your input!", + "failed_to_sharefeedback": "Failed to Share Feedback", + "feedback_submitted": "Feedback submitted successfully!", + "formError": "Please correct the errors before submitting.", + "feedback_failed": "Failed to submit feedback: {error}", + "skip": "Skip", + "got_it": "Got it", + "exit_app": "Exit App", + "exit_confirmation": "Are you sure you want to exit?", + "cancel": "Cancel", + "exit": "Exit", + "bookmark_title": "Bookmark", "register_title": "Register", "register_details": "Please enter your details", 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 989d5a05..ce3ef28f 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 @@ -3,6 +3,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; +import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; @@ -105,9 +106,10 @@ class _UaenumberWidgetState extends ConsumerState { child: TextField( decoration: InputDecoration( hintText: "Search", - prefixIcon: Icon( - Icons.search, - color: Color(0xFFAA8E83), + prefixIcon: Image.asset( + MiscIconAssetPath.search, + width: 20, + height: 20, ), border: InputBorder.none, contentPadding: @@ -381,12 +383,13 @@ class _CustomExpandableTileState extends State { duration: Duration(milliseconds: 300), curve: Curves.easeInOut, width: double.infinity, + color: Colors.white, height: widget.isExpanded ? myheight * 0.52 : 0, child: widget.isExpanded ? SingleChildScrollView( child: Container( decoration: BoxDecoration( - // color: Colors.white, + color: Colors.white, // borderRadius: BorderRadius.all(Radius.circular(20)) ), padding: const EdgeInsets.all(1), diff --git a/lib/presentation/Screens/auth_verification/registration.dart b/lib/presentation/Screens/auth_verification/registration.dart index cd1babd9..01389fc0 100644 --- a/lib/presentation/Screens/auth_verification/registration.dart +++ b/lib/presentation/Screens/auth_verification/registration.dart @@ -838,7 +838,7 @@ class _RegisterScreenState extends State { SizedBox(height: 10), Padding( padding: const EdgeInsets.only( - top: 1.0, bottom: 10, left: 25, right: 30), + top: 0, bottom: 10, left: 25, right: 30), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -858,45 +858,57 @@ class _RegisterScreenState extends State { ), ), Expanded( + child: Padding( + padding: const EdgeInsets.only(top:11.0), child: Text.rich( TextSpan( text: AppLocalizations.of(context)!.agree, // text: 'I agree to ', + style: TextStyle( + color: Color(0xFF898C81), // Change to your desired color + ), children: [ TextSpan( text: AppLocalizations.of(context)! .terms_conditions, // text: 'Terms & Conditions', style: TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, color: Color(0xFF985400), // Makes the text bold - decoration: - TextDecoration.underline, + // decoration: + // TextDecoration.underline, decorationColor: Color(0xFF985400), decorationThickness: 1), ), TextSpan( text: AppLocalizations.of(context)! - .t_and), + .t_and, + style: TextStyle( + color: Color(0xFF898C81), // Change to your desired color + ),), TextSpan( text: AppLocalizations.of(context)! .privacy_policy, style: TextStyle( - fontWeight: FontWeight.bold, + fontWeight: FontWeight.w500, fontSize: 14, fontFamily: 'Roboto', color: Color(0xFF985400), - decoration: - TextDecoration.underline, + // decoration: + // TextDecoration.underline, decorationColor: Color(0xFF648CBA), decorationThickness: 1), ), TextSpan( text: AppLocalizations.of(context)! - .conditions), + .conditions, + style: TextStyle( + color: Color(0xFF898C81), // Change to your desired color + ),), ], ), + ), ), ), ], diff --git a/lib/presentation/Screens/profilepage.dart b/lib/presentation/Screens/profilepage.dart index 6b43a080..51d6605a 100644 --- a/lib/presentation/Screens/profilepage.dart +++ b/lib/presentation/Screens/profilepage.dart @@ -632,7 +632,7 @@ class _ProfileScreenState extends State { }, side: BorderSide( color: - showError ? Color(0xFFb22222) : Color(0xFF92722A), + showError ? Color(0xFFb22222) : Color(0xFF7296BE), width: 1, ), ), @@ -648,18 +648,19 @@ class _ProfileScreenState extends State { TextSpan( text: AppLocalizations.of( context)! - .agree, style: TextStyle(color: Colors.black), + .agree, + style: TextStyle(color: Color(0xFF898C81)), children: [ TextSpan( text: AppLocalizations.of( context, )! .terms_conditions, style: TextStyle( - color: Color(0xFF648CBA), - decoration: TextDecoration.underline, + color: Color(0xFF985400), + // decoration: TextDecoration.underline, fontWeight: FontWeight - .bold, // Makes the text bold - decorationColor: Color(0xFF648CBA), + .w600, // Makes the text bold + decorationColor: Color(0xFF985400), decorationThickness: 1, ), recognizer: TapGestureRecognizer() @@ -670,17 +671,17 @@ class _ProfileScreenState extends State { TextSpan( text: AppLocalizations.of( context, - )!.t_and, style: TextStyle(color: Colors.black), + )!.t_and, + style: TextStyle(color: Color(0xFF898C81)), ), TextSpan( text: AppLocalizations.of( context, )!.privacy_policy, style: TextStyle( - color: Color(0xFF648CBA), - decoration: TextDecoration.underline, - fontWeight: FontWeight - .bold, // Makes the text bold - decorationColor: Color(0xFF648CBA), + color: Color(0xFF985400), + // decoration: TextDecoration.underline, + fontWeight: FontWeight.w600, // Makes the text bold + decorationColor: Color(0xFF985400), decorationThickness: 1, ), recognizer: TapGestureRecognizer() @@ -693,7 +694,7 @@ class _ProfileScreenState extends State { context, )! .conditions, - style: TextStyle(color: Colors.black), + style: TextStyle(color: Color(0xFF898C81)), ), ], ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart b/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart index 83beb9bc..d102df56 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart @@ -544,15 +544,14 @@ class _FeedbackFormState extends State // Icon(Icons.thumb_up, size: 80, color: Color(0xFF7DAFBC)), const SizedBox(height: 20), - Text( - // "Thank you", - 'Thank you $userName !', + Text( + '${AppLocalizations.of(context)!.thankYou} $userName !', style: const TextStyle(fontSize: 24, fontWeight: FontWeight.bold), ), const SizedBox(height: 15), - const Text( - "For your valuable feedback, we truly \n appreciate your input!", + Text( +AppLocalizations.of(context)!.feedback_message, style: TextStyle(fontSize: 16, color: Color(0xFF898C81)), textAlign: TextAlign.center, ), @@ -603,9 +602,9 @@ class _FeedbackFormState extends State // Icon(Icons.error, size: 80, color: Colors.red), const SizedBox(height: 20), - const Text( - "Failed to Share Feedback", - style: TextStyle( + Text( + AppLocalizations.of(context)!.failed_to_sharefeedback, + style: TextStyle( fontSize: 24, fontWeight: FontWeight.bold, color: Color(0xFF414042)), @@ -752,8 +751,12 @@ class _FeedbackFormState extends State if (_hasError) { ScaffoldMessenger.of(context).showSnackBar( - const SnackBar( - content: Text("Please correct the errors before submitting.")), + SnackBar( + content: Text( + AppLocalizations.of(context)!.formError, + // "Please correct the errors before submitting." + ) + ), ); return; } @@ -783,8 +786,10 @@ class _FeedbackFormState extends State // await sendFeedbackEmail(feedbackData, createdTime); await _removeFeedbackText(); ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text("Feedback submitted successfully!")), - ); + SnackBar( + content: Text(AppLocalizations.of(context)!.feedback_submitted), + ), + ); setState(() { _isFeedbackSubmitted = true; _isFeedbackFailed = false; @@ -793,7 +798,12 @@ class _FeedbackFormState extends State } } catch (e) { ScaffoldMessenger.of(context).showSnackBar( - SnackBar(content: Text("Failed to submit feedback: $e")), + SnackBar(content: Text( + // "Failed to submit feedback: $e" + AppLocalizations.of(context)!.feedback_failed(e.toString()), + ) + + ), ); setState(() { _isFeedbackFailed = true; // Update state to show failure message diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart b/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart index 37655d7c..acea3a4d 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:intl/intl.dart'; import 'package:pocketbase/pocketbase.dart'; +import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; + import 'package:uae_stat/presentation/components/my_bottom_nav_bar.dart'; import 'package:uae_stat/presentation/components/my_drawer.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; @@ -131,31 +133,49 @@ class _ManageUserRouterState extends State { SizedBox( height: myheight / 30, ), - Text( - // 'Are you sure you want to change \n the status to $newStatus?', - AppLocalizations.of(context)!.approve_msg(newStatus), - style: TextStyle(fontSize: 15), - textAlign: TextAlign.center, - ), + Text.rich( + TextSpan( + text: 'Are you sure you want to change the status to ', + style: TextStyle( + fontSize: 18, + color: Color(0xFF898C81), + ), + children: [ + TextSpan( + text: newStatus, + style: TextStyle( + fontWeight: FontWeight.bold, // Makes newStatus bold + fontSize: 18, + color: Color(0xFF898C81), + ), + ), + TextSpan(text: '?'), + ], + ), + textAlign: TextAlign.center, // Centers the text + ) ], ), ), - Positioned( - right: 0, - top: 0, - child: IconButton( - icon: Icon(Icons.close), - onPressed: () { - Navigator.of(context).pop(); // Close the dialog - }, - ), - ), + // Positioned( + // right: 0, + // top: 0, + // child: IconButton( + // icon: Icon(Icons.close), + // onPressed: () { + // Navigator.of(context).pop(); // Close the dialog + // }, + // ), + // ), ], ), actions: [ Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ + SizedBox( + width: 100, // Set the desired width + child: TextButton( onPressed: () { Navigator.of(context) @@ -167,13 +187,20 @@ class _ManageUserRouterState extends State { 10.0), // Adjust the radius as needed ), side: BorderSide( - color: Colors.blue, // Set the outline color - width: 2.0, // Set the border width + color: Color(0xFFAA8E83), // Set the outline color + width: 1, // Set the border width ), ), - child: Text(AppLocalizations.of(context)!.no), + child: Text(AppLocalizations.of(context)!.no, + style: TextStyle(color: Color(0xFFAA8E83), + fontSize: 16, + ),), ), - TextButton( + ), + SizedBox( + width: 100, // Set the desired width + child: + TextButton( onPressed: () async { try { // Update status in PocketBase @@ -202,7 +229,7 @@ class _ManageUserRouterState extends State { Navigator.of(context).pop(); // Close dialog }, style: TextButton.styleFrom( - backgroundColor: Colors.blue, // Set background color + backgroundColor: Color(0xFFAA8E83), // Set background color foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: @@ -212,9 +239,10 @@ class _ManageUserRouterState extends State { child: Text( // 'Yes', AppLocalizations.of(context)!.yes, - style: TextStyle(color: Colors.white), + style: TextStyle(color: Colors.white, + fontSize: 16), ), - ), + ),), ], ) ], @@ -248,18 +276,83 @@ class _ManageUserRouterState extends State { padding: const EdgeInsets.only(left: 10.0, right: 10.0, top: 3.0), child: Column( children: [ - TextField( + // TextField( + // decoration: InputDecoration( + // prefixIcon: const Icon(Icons.search), + // hintText: 'Search', + // border: OutlineInputBorder( + // borderRadius: BorderRadius.all(Radius.circular(20)), + // ), + // ), + // onChanged: filterUsers, + // ), + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(30.0), + border: Border.all(width: 2, color: Color(0xFFAA8E83)), + ), + child: TextField( decoration: InputDecoration( - prefixIcon: const Icon(Icons.search), - hintText: 'Search', - border: OutlineInputBorder( - borderRadius: BorderRadius.all(Radius.circular(20)), + hintText: AppLocalizations.of(context)!.search, + prefixIcon: Image.asset( + MiscIconAssetPath.search, + width: 20, + height: 20, ), + // ,prefixIcon: Icon( + // Icons.search, + // color: Color(0xFFAA8E83), + // ), + border: InputBorder.none, + contentPadding: + EdgeInsets.symmetric(vertical: 15.0, horizontal: 20.0), ), onChanged: filterUsers, ), - SizedBox(height: myheight / 40), - SingleChildScrollView( + ), + SizedBox(height: myheight / 40), + filteredUserData.isEmpty + ? Center( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox(height: myheight/5), + + // Icon(Icons.search, + // size: 60, color: Colors.grey), + Image.asset( + MiscIconAssetPath.group, + width: 60, + height: 60, + ), + + SizedBox(height: 15), + // Space between icon and text + Text( + "No results found", + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.grey[700], + ), + ), + + SizedBox(height: 12), // Space between texts + FittedBox( + child: Text( + "We couldn't find anything matching your search.", + style: TextStyle( + fontSize: 18, color: Color(0xFF898C81)), + textAlign: TextAlign.center, + ),), + ], + ), + ), + ) + : SingleChildScrollView( scrollDirection: Axis.horizontal, child: ConstrainedBox( constraints: BoxConstraints( @@ -320,7 +413,8 @@ class _ManageUserRouterState extends State { ? Text( 'No results found', style: TextStyle( - fontStyle: FontStyle.italic), + fontStyle: + FontStyle.italic), ) : const Text( ''), // Empty cells for other columns @@ -338,14 +432,15 @@ class _ManageUserRouterState extends State { DataCell( DropdownButton( value: user.status, - items: - statusOptions.entries.map((status) { + items: statusOptions.entries + .map((status) { return DropdownMenuItem( value: status.key, child: Text( status.value, style: TextStyle( - color: getStatusColor(status.key), + color: getStatusColor( + status.key), ), ), ); @@ -366,9 +461,9 @@ class _ManageUserRouterState extends State { ), ), ], - ), ), ), + ), ), ); } diff --git a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart index 9f95fbbf..3faf6977 100644 --- a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart +++ b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:math'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -180,8 +181,8 @@ class _BaseScaffoldState extends ConsumerState { backgroundColor: Colors.transparent, elevation: 0, ), - child: const Text( - 'Skip', + child: Text( + AppLocalizations.of(context)!.skip, style: TextStyle( color: Colors.white, fontSize: 14, @@ -295,8 +296,9 @@ class _BaseScaffoldState extends ConsumerState { backgroundColor: Colors.transparent, elevation: 0, ), - child: const Text( - 'Skip', + child: Text( + // 'Skip', + AppLocalizations.of(context)!.skip, style: TextStyle( color: Colors.white, fontSize: 14, @@ -429,8 +431,9 @@ class _BaseScaffoldState extends ConsumerState { backgroundColor: Colors.transparent, elevation: 0, ), - child: const Text( - 'Skip', + child: Text( + // 'Skip', + AppLocalizations.of(context)!.skip, style: TextStyle( color: Colors.white, fontSize: 14, @@ -486,8 +489,8 @@ class _BaseScaffoldState extends ConsumerState { backgroundColor: Colors.white, elevation: 0, ), - child: const Text( - 'Got it', + child: Text( + AppLocalizations.of(context)!.got_it, style: TextStyle( color: Color(0xFF7DAFBC), fontSize: 14, @@ -624,7 +627,12 @@ class _BaseScaffoldState extends ConsumerState { return Scaffold( backgroundColor: Colors.white, appBar: AppBar( - title: widget.title, + // title: widget.title, + title: Align( + alignment: Alignment.centerLeft, // Aligns the title to the left + child: widget.title, + ), + titleSpacing: 0, backgroundColor: Colors.white, leadingWidth: widget.showBackButton ? mywidth * 0.25 : null, bottom: widget.showDivider @@ -634,8 +642,7 @@ class _BaseScaffoldState extends ConsumerState { color: widget.dividerColor, // Line color height: 1, // Line thickness ), - ) - : null, + ): null, actions: widget.actions ?? [ // IconButton( @@ -668,6 +675,7 @@ class _BaseScaffoldState extends ConsumerState { ), ), Positioned( + top: 5, right: 10, child: Builder( builder: (BuildContext context) { @@ -686,9 +694,11 @@ class _BaseScaffoldState extends ConsumerState { ), ), drawer: Drawer( + backgroundColor: Colors.white, child: Column(children: [ Expanded( child: ListView( + children: [ DrawerHeader( child: Column( @@ -786,7 +796,10 @@ class _BaseScaffoldState extends ConsumerState { ), ListTile( leading: Icon(Icons.bookmarks_outlined), - title: const Text('Bookmark'), + // title: const Text('Bookmark'), + title: Text( + AppLocalizations.of(context)!.bookmark_title, + ), onTap: () => context.go('/bookmark'), ), ListTile( diff --git a/pubspec.lock b/pubspec.lock index d0d69382..c8b9ce43 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,23 +5,23 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "72.0.0" + version: "76.0.0" _macros: dependency: transitive description: dart source: sdk - version: "0.3.2" + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.7.0" + version: "6.11.0" analyzer_plugin: dependency: transitive description: @@ -186,10 +186,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" connectivity_plus: dependency: "direct main" description: @@ -282,10 +282,10 @@ packages: dependency: transitive description: name: custom_lint_visitor - sha256: "8aeb3b6ae2bb765e7716b93d1d10e8356d04e0ff6d7592de6ee04e0dd7d6587d" + sha256: bfe9b7a09c4775a587b58d10ebb871d4fe618237639b1e84d5ec62d7dfef25f9 url: "https://pub.dev" source: hosted - version: "1.0.0+6.7.0" + version: "1.0.0+6.11.0" dart_style: dependency: transitive description: @@ -433,10 +433,10 @@ packages: dependency: "direct main" description: name: fl_chart - sha256: "74959b99b92b9eebeed1a4049426fd67c4abc3c5a0f4d12e2877097d6a11ae08" + sha256: "5276944c6ffc975ae796569a826c38a62d2abcf264e26b88fa6f482e107f4237" url: "https://pub.dev" source: hosted - version: "0.69.2" + version: "0.70.2" flutter: dependency: "direct main" description: flutter @@ -845,18 +845,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -885,10 +885,10 @@ packages: dependency: transitive description: name: macros - sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" url: "https://pub.dev" source: hosted - version: "0.1.2-main.4" + version: "0.1.3-main.0" mailer: dependency: "direct main" description: @@ -1276,7 +1276,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" smart_api_client: dependency: "direct main" description: @@ -1320,10 +1320,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" state_notifier: dependency: transitive description: @@ -1352,10 +1352,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" syncfusion_flutter_charts: dependency: "direct main" description: @@ -1384,10 +1384,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" the_validator: dependency: "direct main" description: @@ -1576,10 +1576,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" watcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 205d45c1..86f35768 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: uae_stat description: "View statistics about the UAE from the Federal Center for Statistics and Competitiveness." publish_to: "none" -version: 1.0.9+10 +version: 1.0.10+11 environment: sdk: ">=3.2.3 <4.0.0" @@ -21,7 +21,7 @@ dependencies: riverpod_annotation: ^2.3.3 cupertino_icons: ^1.0.6 - fl_chart: ^0.69.2 + fl_chart: ^0.70.2 iconify_design: ^1.0.1 marquee: ^2.2.3 url_launcher: ^6.3.1 @@ -130,6 +130,8 @@ flutter: - assets/feedback/thumbfb.png - assets/user_guide/ - assets/app_tour/ + - assets/icons/misc/group.png + - assets/icons/misc/search.png fonts: - family: Segoe