From 65a7f873635422a8e37f6e9537b5d91889a7ce74 Mon Sep 17 00:00:00 2001 From: SurendarSuri30 Date: Wed, 13 Aug 2025 10:31:02 +0530 Subject: [PATCH] forgot password --- common_packages/external_repos/pubspec.yaml | 2 +- lib/config/deeplink_listener.dart | 6 +- lib/config/my_router.dart | 6 - lib/l10n/app_localizations.dart | 829 ++++++++++++++++ lib/l10n/app_localizations_ar.dart | 376 ++++++++ lib/l10n/app_localizations_en.dart | 374 +++++++ lib/main.dart | 3 +- .../Country_Profile/country_profile.dart | 2 +- .../UAE_Numbers/Social/marriages.dart | 913 ------------------ .../UAE_Numbers/uae_numbers.dart | 3 +- .../auth_verification/create_new_pw.dart | 3 +- .../auth_verification/forgot_password.dart | 3 +- .../auth_verification/registration.dart | 3 +- .../Screens/charts/screens/chart_screen.dart | 3 +- lib/presentation/Screens/profilepage.dart | 3 +- .../routes/auth_routes/login_route.dart | 4 +- .../tab_routes/home_route.dart | 2 +- .../drawer_routes/Drawer Items/bookmark.dart | 3 +- .../Drawer Items/edit_profile.dart | 3 +- .../drawer_routes/Drawer Items/feedback.dart | 2 +- .../Drawer Items/manage_users.dart | 3 +- .../notification/notification.dart | 3 +- .../Drawer Items/user_guide/userguide.dart | 6 +- .../drawer_routes/custom_drawer_routes.dart | 3 +- pubspec.lock | 24 +- pubspec.yaml | 2 +- 26 files changed, 1612 insertions(+), 972 deletions(-) create mode 100644 lib/l10n/app_localizations.dart create mode 100644 lib/l10n/app_localizations_ar.dart create mode 100644 lib/l10n/app_localizations_en.dart delete mode 100644 lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/Social/marriages.dart diff --git a/common_packages/external_repos/pubspec.yaml b/common_packages/external_repos/pubspec.yaml index 3c2ceaa9..33cf0050 100644 --- a/common_packages/external_repos/pubspec.yaml +++ b/common_packages/external_repos/pubspec.yaml @@ -18,7 +18,7 @@ dependencies: pocketbase: ^0.18.1 excel: ^4.0.3 csv: ^6.0.0 - intl: ^0.19.0 + intl: ^0.20.2 freezed_annotation: ^2.4.2 # path: ^1.8.0 diff --git a/lib/config/deeplink_listener.dart b/lib/config/deeplink_listener.dart index b5656876..7b938c8b 100644 --- a/lib/config/deeplink_listener.dart +++ b/lib/config/deeplink_listener.dart @@ -2,7 +2,6 @@ import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; // import 'package:app_links/app_links.dart'; -import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/UAE_Numbers/Social/marriages.dart'; import 'package:uae_stat/presentation/routes/auth_routes/login_route.dart'; import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart'; @@ -44,10 +43,7 @@ class _DeepLinkListenerState extends State { if (uri.pathSegments.isNotEmpty) { final String firstSegment = uri.pathSegments.first; - if (firstSegment == 'marriages') { - Navigator.of(context) - .push(MaterialPageRoute(builder: (context) => Marriages())); - } else if (firstSegment == 'login') { + if (firstSegment == 'login') { Navigator.of(context) .push(MaterialPageRoute(builder: (context) => LoginRoute())); } else if (firstSegment == 'home') { diff --git a/lib/config/my_router.dart b/lib/config/my_router.dart index 50de605f..000341b2 100644 --- a/lib/config/my_router.dart +++ b/lib/config/my_router.dart @@ -302,7 +302,6 @@ import 'package:uae_stat/domain/entities/session_entity.dart'; import 'package:uae_stat/infrastructure/data/p_auth_repo.dart'; import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Competitiveness/Detailedcompetitiveness.dart'; import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/DetailedCountryProfilePage.dart'; -import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/UAE_Numbers/Social/marriages.dart'; import 'package:uae_stat/presentation/Screens/app_tour/WelcomePage.dart'; import 'package:uae_stat/presentation/Screens/auth_verification/forgot_password.dart'; import 'package:uae_stat/presentation/Screens/auth_verification/privacy_policy.dart'; @@ -678,11 +677,6 @@ final GoRouter router = GoRouter( }, ), - GoRoute( - path: '/marriages', - builder: (context, state) => Marriages(), - ), - GoRoute( path: '/contact', builder: (context, state) => Contact(), diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart new file mode 100644 index 00000000..8d43fb6c --- /dev/null +++ b/lib/l10n/app_localizations.dart @@ -0,0 +1,829 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_localizations/flutter_localizations.dart'; +import 'package:intl/intl.dart' as intl; + +import 'app_localizations_ar.dart'; +import 'app_localizations_en.dart'; + +// ignore_for_file: type=lint + +/// Callers can lookup localized strings with an instance of AppLocalizations +/// returned by `AppLocalizations.of(context)`. +/// +/// Applications need to include `AppLocalizations.delegate()` in their app's +/// `localizationDelegates` list, and the locales they support in the app's +/// `supportedLocales` list. For example: +/// +/// ```dart +/// import 'l10n/app_localizations.dart'; +/// +/// return MaterialApp( +/// localizationsDelegates: AppLocalizations.localizationsDelegates, +/// supportedLocales: AppLocalizations.supportedLocales, +/// home: MyApplicationHome(), +/// ); +/// ``` +/// +/// ## Update pubspec.yaml +/// +/// Please make sure to update your pubspec.yaml to include the following +/// packages: +/// +/// ```yaml +/// dependencies: +/// # Internationalization support. +/// flutter_localizations: +/// sdk: flutter +/// intl: any # Use the pinned version from flutter_localizations +/// +/// # Rest of dependencies +/// ``` +/// +/// ## iOS Applications +/// +/// iOS applications define key application metadata, including supported +/// locales, in an Info.plist file that is built into the application bundle. +/// To configure the locales supported by your app, you’ll need to edit this +/// file. +/// +/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. +/// Then, in the Project Navigator, open the Info.plist file under the Runner +/// project’s Runner folder. +/// +/// Next, select the Information Property List item, select Add Item from the +/// Editor menu, then select Localizations from the pop-up menu. +/// +/// Select and expand the newly-created Localizations item then, for each +/// locale your application supports, add a new item and select the locale +/// you wish to add from the pop-up menu in the Value field. This list should +/// be consistent with the languages listed in the AppLocalizations.supportedLocales +/// property. +abstract class AppLocalizations { + AppLocalizations(String locale) + : localeName = intl.Intl.canonicalizedLocale(locale.toString()); + + final String localeName; + + static AppLocalizations? of(BuildContext context) { + return Localizations.of(context, AppLocalizations); + } + + static const LocalizationsDelegate delegate = + _AppLocalizationsDelegate(); + + /// A list of this localizations delegate along with the default localizations + /// delegates. + /// + /// Returns a list of localizations delegates containing this delegate along with + /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, + /// and GlobalWidgetsLocalizations.delegate. + /// + /// Additional delegates can be added by appending to this list in + /// MaterialApp. This list does not have to be used at all if a custom list + /// of delegates is preferred or required. + static const List> localizationsDelegates = + >[ + delegate, + GlobalMaterialLocalizations.delegate, + GlobalCupertinoLocalizations.delegate, + GlobalWidgetsLocalizations.delegate, + ]; + + /// A list of this localizations delegate's supported locales. + static const List supportedLocales = [ + Locale('ar'), + Locale('en') + ]; + + /// No description provided for @all_bookmarks. + /// + /// In en, this message translates to: + /// **'All Bookmarks'** + String get all_bookmarks; + + /// No description provided for @economy_title. + /// + /// In en, this message translates to: + /// **'Economy'** + String get economy_title; + + /// No description provided for @social_title. + /// + /// In en, this message translates to: + /// **'Social'** + String get social_title; + + /// No description provided for @environment_title. + /// + /// In en, this message translates to: + /// **'Environment'** + String get environment_title; + + /// No description provided for @economy_title_upper. + /// + /// In en, this message translates to: + /// **'ECONOMY'** + String get economy_title_upper; + + /// No description provided for @social_title_upper. + /// + /// In en, this message translates to: + /// **'SOCIAL'** + String get social_title_upper; + + /// No description provided for @environment_title_upper. + /// + /// In en, this message translates to: + /// **'ENVIRONMENT'** + String get environment_title_upper; + + /// No description provided for @bookmarks. + /// + /// In en, this message translates to: + /// **'Bookmarks'** + String get bookmarks; + + /// No description provided for @searchCountry. + /// + /// In en, this message translates to: + /// **'Search Country'** + String get searchCountry; + + /// No description provided for @feedback_title. + /// + /// In en, this message translates to: + /// **'Feedback'** + String get feedback_title; + + /// No description provided for @feedback_failed_msg. + /// + /// In en, this message translates to: + /// **'Your feedback could not be \n submitted. Please try again'** + String get feedback_failed_msg; + + /// No description provided for @thankYou. + /// + /// In en, this message translates to: + /// **'Thank you'** + String get thankYou; + + /// No description provided for @feedback_message. + /// + /// In en, this message translates to: + /// **'For your valuable feedback, we truly appreciate your input!'** + String get feedback_message; + + /// No description provided for @failed_to_sharefeedback. + /// + /// In en, this message translates to: + /// **'Failed to Share Feedback'** + String get failed_to_sharefeedback; + + /// No description provided for @feedback_submitted. + /// + /// In en, this message translates to: + /// **'Feedback submitted successfully!'** + String get feedback_submitted; + + /// No description provided for @formError. + /// + /// In en, this message translates to: + /// **'Please correct the errors before submitting.'** + String get formError; + + /// No description provided for @feedback_failed. + /// + /// In en, this message translates to: + /// **'Failed to submit feedback: {error}'** + String feedback_failed(Object error); + + /// No description provided for @skip. + /// + /// In en, this message translates to: + /// **'Skip'** + String get skip; + + /// No description provided for @got_it. + /// + /// In en, this message translates to: + /// **'Got it'** + String get got_it; + + /// No description provided for @exit_app. + /// + /// In en, this message translates to: + /// **'Exit App'** + String get exit_app; + + /// No description provided for @exit_confirmation. + /// + /// In en, this message translates to: + /// **'Are you sure you want to exit?'** + String get exit_confirmation; + + /// No description provided for @cancel. + /// + /// In en, this message translates to: + /// **'Cancel'** + String get cancel; + + /// No description provided for @exit. + /// + /// In en, this message translates to: + /// **'Exit'** + String get exit; + + /// No description provided for @bookmark_title. + /// + /// In en, this message translates to: + /// **'Bookmark'** + String get bookmark_title; + + /// No description provided for @failed_To_Remove. + /// + /// In en, this message translates to: + /// **'Failed to Remove'** + String get failed_To_Remove; + + /// No description provided for @removed_from_Bookmark. + /// + /// In en, this message translates to: + /// **'Removed from Bookmark'** + String get removed_from_Bookmark; + + /// No description provided for @added_to_Bookmark. + /// + /// In en, this message translates to: + /// **'Added to Bookmark.'** + String get added_to_Bookmark; + + /// No description provided for @notification. + /// + /// In en, this message translates to: + /// **'Notification'** + String get notification; + + /// No description provided for @register_title. + /// + /// In en, this message translates to: + /// **'Register'** + String get register_title; + + /// No description provided for @register_details. + /// + /// In en, this message translates to: + /// **'Please enter your details'** + String get register_details; + + /// No description provided for @register_name. + /// + /// In en, this message translates to: + /// **'Username'** + String get register_name; + + /// No description provided for @email_id. + /// + /// In en, this message translates to: + /// **'Email ID'** + String get email_id; + + /// No description provided for @enter_name. + /// + /// In en, this message translates to: + /// **'Enter your User Name'** + String get enter_name; + + /// No description provided for @enter_your_email. + /// + /// In en, this message translates to: + /// **'Enter your email'** + String get enter_your_email; + + /// No description provided for @enter_your_password. + /// + /// In en, this message translates to: + /// **'Enter your password'** + String get enter_your_password; + + /// No description provided for @register_Confirm_password. + /// + /// In en, this message translates to: + /// **'Confirm password'** + String get register_Confirm_password; + + /// No description provided for @agree. + /// + /// In en, this message translates to: + /// **'I agree to the '** + String get agree; + + /// No description provided for @t_and. + /// + /// In en, this message translates to: + /// **' and '** + String get t_and; + + /// No description provided for @conditions. + /// + /// In en, this message translates to: + /// **' of FCSC'** + String get conditions; + + /// No description provided for @terms_conditions. + /// + /// In en, this message translates to: + /// **'Terms & Conditions'** + String get terms_conditions; + + /// No description provided for @privacy_policy. + /// + /// In en, this message translates to: + /// **'Privacy Policy'** + String get privacy_policy; + + /// No description provided for @account_confirmation. + /// + /// In en, this message translates to: + /// **'Already have an account?'** + String get account_confirmation; + + /// No description provided for @login_title. + /// + /// In en, this message translates to: + /// **'Login'** + String get login_title; + + /// No description provided for @all_updates. + /// + /// In en, this message translates to: + /// **'All updates'** + String get all_updates; + + /// No description provided for @app_updates. + /// + /// In en, this message translates to: + /// **'App updates'** + String get app_updates; + + /// No description provided for @notificationSocial. + /// + /// In en, this message translates to: + /// **'Social'** + String get notificationSocial; + + /// No description provided for @notificationEconomy. + /// + /// In en, this message translates to: + /// **'Economy'** + String get notificationEconomy; + + /// No description provided for @notificationEnvironment. + /// + /// In en, this message translates to: + /// **'Environment'** + String get notificationEnvironment; + + /// No description provided for @notificationFavourites. + /// + /// In en, this message translates to: + /// **'Favourites'** + String get notificationFavourites; + + /// No description provided for @profile_title. + /// + /// In en, this message translates to: + /// **'Edit Profile'** + String get profile_title; + + /// No description provided for @my_profile. + /// + /// In en, this message translates to: + /// **'My Profile'** + String get my_profile; + + /// No description provided for @logout. + /// + /// In en, this message translates to: + /// **'Logout'** + String get logout; + + /// No description provided for @full_name. + /// + /// In en, this message translates to: + /// **'Full Name*'** + String get full_name; + + /// No description provided for @dob. + /// + /// In en, this message translates to: + /// **'Date of Birth*'** + String get dob; + + /// No description provided for @region. + /// + /// In en, this message translates to: + /// **'Country/Region'** + String get region; + + /// No description provided for @preferredLang. + /// + /// In en, this message translates to: + /// **'Preferred Language'** + String get preferredLang; + + /// No description provided for @confirm. + /// + /// In en, this message translates to: + /// **'Confirm'** + String get confirm; + + /// No description provided for @change_password. + /// + /// In en, this message translates to: + /// **'Change Password'** + String get change_password; + + /// No description provided for @sure_save_page. + /// + /// In en, this message translates to: + /// **'Are you sure you want to save this page? '** + String get sure_save_page; + + /// No description provided for @not_able_to_change. + /// + /// In en, this message translates to: + /// **'Once saved, you will not be able to change your '** + String get not_able_to_change; + + /// No description provided for @save. + /// + /// In en, this message translates to: + /// **'Save'** + String get save; + + /// No description provided for @name. + /// + /// In en, this message translates to: + /// **'Name'** + String get name; + + /// No description provided for @guide_title. + /// + /// In en, this message translates to: + /// **'User Guide'** + String get guide_title; + + /// No description provided for @nav_home. + /// + /// In en, this message translates to: + /// **'HOME'** + String get nav_home; + + /// No description provided for @nav_uae. + /// + /// In en, this message translates to: + /// **'UAE Numbers'** + String get nav_uae; + + /// No description provided for @nav_competitiveness. + /// + /// In en, this message translates to: + /// **'Competitiveness'** + String get nav_competitiveness; + + /// No description provided for @country_profile. + /// + /// In en, this message translates to: + /// **'Country Profile'** + String get country_profile; + + /// No description provided for @agree_terms_conditions. + /// + /// In en, this message translates to: + /// **'Please agree to terms and conditions.'** + String get agree_terms_conditions; + + /// No description provided for @retry. + /// + /// In en, this message translates to: + /// **'Retry'** + String get retry; + + /// No description provided for @select. + /// + /// In en, this message translates to: + /// **'Select'** + String get select; + + /// No description provided for @email_exists. + /// + /// In en, this message translates to: + /// **'Email exists'** + String get email_exists; + + /// No description provided for @email_exists_msg. + /// + /// In en, this message translates to: + /// **'Email ID already exists. Please use a different email.'** + String get email_exists_msg; + + /// No description provided for @email_invalid. + /// + /// In en, this message translates to: + /// **'The email is invalid or already in use.'** + String get email_invalid; + + /// No description provided for @required. + /// + /// In en, this message translates to: + /// **'Required'** + String get required; + + /// No description provided for @only40charac. + /// + /// In en, this message translates to: + /// **'Must not exceed 40 characters'** + String get only40charac; + + /// No description provided for @invalid_characters. + /// + /// In en, this message translates to: + /// **'Invalid Characters'** + String get invalid_characters; + + /// No description provided for @invalid_email. + /// + /// In en, this message translates to: + /// **'Invalid Email'** + String get invalid_email; + + /// No description provided for @password_invalid. + /// + /// In en, this message translates to: + /// **'Password contains invalid characters'** + String get password_invalid; + + /// No description provided for @password_match. + /// + /// In en, this message translates to: + /// **'Passwords do not match'** + String get password_match; + + /// No description provided for @only8charac. + /// + /// In en, this message translates to: + /// **'Password must be at least 8characters'** + String get only8charac; + + /// No description provided for @manage_user. + /// + /// In en, this message translates to: + /// **'Manage User'** + String get manage_user; + + /// No description provided for @user_name. + /// + /// In en, this message translates to: + /// **'User Name'** + String get user_name; + + /// No description provided for @reg_date. + /// + /// In en, this message translates to: + /// **'Registration Date'** + String get reg_date; + + /// No description provided for @status. + /// + /// In en, this message translates to: + /// **'Status'** + String get status; + + /// No description provided for @denied. + /// + /// In en, this message translates to: + /// **'Denied'** + String get denied; + + /// No description provided for @pending. + /// + /// In en, this message translates to: + /// **'Pending'** + String get pending; + + /// No description provided for @approved. + /// + /// In en, this message translates to: + /// **'Approved'** + String get approved; + + /// No description provided for @approve_msg. + /// + /// In en, this message translates to: + /// **'Are you sure you want to change the status to '** + String get approve_msg; + + /// No description provided for @yes. + /// + /// In en, this message translates to: + /// **'Yes'** + String get yes; + + /// No description provided for @no. + /// + /// In en, this message translates to: + /// **'No'** + String get no; + + /// No description provided for @no_result_found. + /// + /// In en, this message translates to: + /// **'No results found'** + String get no_result_found; + + /// No description provided for @search. + /// + /// In en, this message translates to: + /// **'Search'** + String get search; + + /// No description provided for @status_success. + /// + /// In en, this message translates to: + /// **'Status updated successfully'** + String get status_success; + + /// No description provided for @profile_updated_successfully. + /// + /// In en, this message translates to: + /// **'Profile updated successfully'** + String get profile_updated_successfully; + + /// No description provided for @create_new_password. + /// + /// In en, this message translates to: + /// **'Create New Password'** + String get create_new_password; + + /// No description provided for @different_password. + /// + /// In en, this message translates to: + /// **'Your New Password Must Be Different form Previously Used Password'** + String get different_password; + + /// No description provided for @old_password. + /// + /// In en, this message translates to: + /// **'Old Password'** + String get old_password; + + /// No description provided for @enter_new_password. + /// + /// In en, this message translates to: + /// **'Enter new password'** + String get enter_new_password; + + /// No description provided for @confirm_new_password. + /// + /// In en, this message translates to: + /// **'Confirm new password'** + String get confirm_new_password; + + /// No description provided for @password_changed_successfully. + /// + /// In en, this message translates to: + /// **'Password Changed Successfully'** + String get password_changed_successfully; + + /// No description provided for @enter_old_password. + /// + /// In en, this message translates to: + /// **'Enter old Password'** + String get enter_old_password; + + /// No description provided for @your_old_password_incorrect. + /// + /// In en, this message translates to: + /// **'Your old password is incorrect.'** + String get your_old_password_incorrect; + + /// No description provided for @failed_to_update_password. + /// + /// In en, this message translates to: + /// **''** + String get failed_to_update_password; + + /// No description provided for @password_update_successfully. + /// + /// In en, this message translates to: + /// **'Password updated successfully.'** + String get password_update_successfully; + + /// No description provided for @new_password_not_same_as_old. + /// + /// In en, this message translates to: + /// **'New password must not be the same as the old password'** + String get new_password_not_same_as_old; + + /// No description provided for @password_between_8_to_40. + /// + /// In en, this message translates to: + /// **'Password must be between 8 and 40 characters'** + String get password_between_8_to_40; + + /// No description provided for @new_password_required. + /// + /// In en, this message translates to: + /// **'New password is required'** + String get new_password_required; + + /// No description provided for @old_password_is_required. + /// + /// In en, this message translates to: + /// **'Old password is required'** + String get old_password_is_required; + + /// No description provided for @confirm_password_is_required. + /// + /// In en, this message translates to: + /// **'Confirm password is required'** + String get confirm_password_is_required; + + /// No description provided for @kpiCards. + /// + /// In en, this message translates to: + /// **'View interactive KPI cards and graphs to explore data trends and compare key metrics visually.'** + String get kpiCards; + + /// No description provided for @home_topic. + /// + /// In en, this message translates to: + /// **'Tap on any category (e.g., Economy, Social, Environment) to explore detailed KPIs, visualizations, and data insights.'** + String get home_topic; + + /// No description provided for @economy. + /// + /// In en, this message translates to: + /// **'Access detailed statistics and drill-down pages for KPIs in the Economy category to uncover key trends and metrics.'** + String get economy; + + /// No description provided for @bookMark. + /// + /// In en, this message translates to: + /// **'Bookmark important KPIs or datasets for quick and easy access anytime through the Bookmarks section.'** + String get bookMark; + + /// No description provided for @toggle. + /// + /// In en, this message translates to: + /// **'Switch between English and Arabic using the language toggle at the top-right corner for a bilingual experience.'** + String get toggle; + + /// No description provided for @tour_navBar. + /// + /// In en, this message translates to: + /// **'Access dedicated pages and additional features by selecting options from the Main Menu.'** + String get tour_navBar; + + /// No description provided for @mainMenu. + /// + /// In en, this message translates to: + /// **'Use the navigation bar to quickly access Profile, Feedback, User Guide, Notifications, and other key app features.'** + String get mainMenu; +} + +class _AppLocalizationsDelegate + extends LocalizationsDelegate { + const _AppLocalizationsDelegate(); + + @override + Future load(Locale locale) { + return SynchronousFuture(lookupAppLocalizations(locale)); + } + + @override + bool isSupported(Locale locale) => + ['ar', 'en'].contains(locale.languageCode); + + @override + bool shouldReload(_AppLocalizationsDelegate old) => false; +} + +AppLocalizations lookupAppLocalizations(Locale locale) { + // Lookup logic when only language code is specified. + switch (locale.languageCode) { + case 'ar': + return AppLocalizationsAr(); + case 'en': + return AppLocalizationsEn(); + } + + throw FlutterError( + 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' + 'an issue with the localizations generation tool. Please file an issue ' + 'on GitHub with a reproducible sample app and the gen-l10n configuration ' + 'that was used.'); +} diff --git a/lib/l10n/app_localizations_ar.dart b/lib/l10n/app_localizations_ar.dart new file mode 100644 index 00000000..5162da99 --- /dev/null +++ b/lib/l10n/app_localizations_ar.dart @@ -0,0 +1,376 @@ +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localizations.dart'; + +// ignore_for_file: type=lint + +/// The translations for Arabic (`ar`). +class AppLocalizationsAr extends AppLocalizations { + AppLocalizationsAr([String locale = 'ar']) : super(locale); + + @override + String get all_bookmarks => 'كل العلامات المرجعية'; + + @override + String get economy_title => 'اقتصاد'; + + @override + String get social_title => 'اجتماعي'; + + @override + String get environment_title => 'بيئة'; + + @override + String get economy_title_upper => 'اقتصاد'; + + @override + String get social_title_upper => 'اجتماعي'; + + @override + String get environment_title_upper => 'بيئة'; + + @override + String get bookmarks => 'الإشارات المرجعية'; + + @override + String get searchCountry => 'Search Country'; + + @override + String get feedback_title => 'تعليق'; + + @override + String get feedback_failed_msg => + 'لم يتم إرسال تعليقاتك. يرجى المحاولة مرة أخرى.'; + + @override + String get thankYou => 'شكراً'; + + @override + String get feedback_message => 'لملاحظاتك القيمة، نحن نقدر مساهمتك حقًا!'; + + @override + String get failed_to_sharefeedback => 'فشل في مشاركة الملاحظات'; + + @override + String get feedback_submitted => 'تم إرسال الملاحظات بنجاح!'; + + @override + String get formError => 'يرجى تصحيح الأخطاء قبل الإرسال.'; + + @override + String feedback_failed(Object error) { + return 'فشل في إرسال التعليق: $error'; + } + + @override + String get skip => 'تخطي'; + + @override + String get got_it => 'فهمت'; + + @override + String get exit_app => 'الخروج من التطبيق'; + + @override + String get exit_confirmation => 'هل أنت متأكد أنك تريد الخروج؟'; + + @override + String get cancel => 'إلغاء'; + + @override + String get exit => 'خروج'; + + @override + String get bookmark_title => 'إشارة مرجعية'; + + @override + String get failed_To_Remove => 'فشلت الإزالة'; + + @override + String get removed_from_Bookmark => 'تمت الإزالة من الإشارة المرجعية'; + + @override + String get added_to_Bookmark => 'تمت إضافته إلى الإشارة المرجعية'; + + @override + String get notification => 'إشعار'; + + @override + String get register_title => 'التسجيل'; + + @override + String get register_details => 'من فضلك ادخل بياناتك'; + + @override + String get register_name => 'اسم المستخدم'; + + @override + String get email_id => 'معرف البريد الإلكتروني'; + + @override + String get enter_name => 'أدخل الاسم'; + + @override + String get enter_your_email => 'أدخل بريدك الإلكتروني'; + + @override + String get enter_your_password => 'أدخل كلمة المرور'; + + @override + String get register_Confirm_password => 'تأكيد كلمة المرور'; + + @override + String get agree => + 'أوافق على الشروط والأحكام وسياسة الخصوصية للمركز الإتحادي للتنافسية والإحصاء'; + + @override + String get t_and => ''; + + @override + String get conditions => ''; + + @override + String get terms_conditions => 'الشروط والأحكام'; + + @override + String get privacy_policy => 'سياسة الخصوصية'; + + @override + String get account_confirmation => 'هل لديك حساب؟ سجل الدخول'; + + @override + String get login_title => 'تسجيل الدخول'; + + @override + String get all_updates => 'جميع التحديثات'; + + @override + String get app_updates => 'تحديثات التطبيق'; + + @override + String get notificationSocial => 'الاجتماعي'; + + @override + String get notificationEconomy => 'الاقتصاد'; + + @override + String get notificationEnvironment => 'البيئة'; + + @override + String get notificationFavourites => 'المفضلة'; + + @override + String get profile_title => 'نموذج الملاحظات'; + + @override + String get my_profile => 'ملفي الشخصي'; + + @override + String get logout => 'تسجيل الخروج'; + + @override + String get full_name => 'الاسم الكامل'; + + @override + String get dob => 'تاريخ الميلاد'; + + @override + String get region => 'الدولة/المنطقة'; + + @override + String get preferredLang => 'اللغة المفضلة'; + + @override + String get confirm => 'تأكيد'; + + @override + String get change_password => 'تغيير كلمة المرور'; + + @override + String get sure_save_page => ' هل أنت متأكد أنك ترغب في حفظ هذه الصفحة؟'; + + @override + String get not_able_to_change => + 'بمجرد الحفظ، لن تتمكن من تعديل اسمك أو تاريخ ميلادك.'; + + @override + String get save => 'حفظ'; + + @override + String get name => 'اسم'; + + @override + String get guide_title => 'نموذج الملاحظات'; + + @override + String get nav_home => 'الصفحة الرئيسية'; + + @override + String get nav_uae => 'أرقام الإمارات'; + + @override + String get nav_competitiveness => 'القدرة التنافسية'; + + @override + String get country_profile => 'ملف تعريف الدولة'; + + @override + String get agree_terms_conditions => 'يرجى الموافقة على الشروط والأحكام.'; + + @override + String get retry => 'Retry'; + + @override + String get select => 'يختار'; + + @override + String get email_exists => 'البريد الإلكتروني موجود'; + + @override + String get email_exists_msg => + 'معرف البريد الإلكتروني موجود بالفعل. الرجاء استخدام بريد إلكتروني مختلف.'; + + @override + String get email_invalid => + 'البريد الإلكتروني غير صالح أو قيد الاستخدام بالفعل.'; + + @override + String get required => 'مطلوب'; + + @override + String get only40charac => 'يجب ألا يتجاوز 40 حرفًا'; + + @override + String get invalid_characters => 'أحرف غير صالحة'; + + @override + String get invalid_email => 'البريد الإلكتروني غير صالح'; + + @override + String get password_invalid => 'تحتوي كلمة المرور على أحرف غير صالحة'; + + @override + String get password_match => 'كلمات المرور غير متطابقة'; + + @override + String get only8charac => 'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل'; + + @override + String get manage_user => 'إدارة المستخدم'; + + @override + String get user_name => 'اسم المستخدم'; + + @override + String get reg_date => 'تاريخ التسجيل'; + + @override + String get status => 'الحالة'; + + @override + String get denied => 'مرفوض'; + + @override + String get pending => ' قيد الانتظار'; + + @override + String get approved => 'تمت الموافقة'; + + @override + String get approve_msg => 'هل أنت متأكد أنك ترغب في تغيير الحالة إلى'; + + @override + String get yes => 'نعم'; + + @override + String get no => 'لا'; + + @override + String get no_result_found => 'لم يتم العثور على نتائج'; + + @override + String get search => 'يبحث'; + + @override + String get status_success => 'تم تحديث الحالة بنجاح'; + + @override + String get profile_updated_successfully => 'تم تحديث الملف الشخصي بنجاح'; + + @override + String get create_new_password => 'إنشاء كلمة مرور جديدة'; + + @override + String get different_password => + 'يجب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا.'; + + @override + String get old_password => 'كلمة المرور القديمة'; + + @override + String get enter_new_password => 'أدخل كلمة المرور الجديدة'; + + @override + String get confirm_new_password => 'تأكيد كلمة المرور الجديدة'; + + @override + String get password_changed_successfully => 'تم تغيير كلمة المرور بنجاح'; + + @override + String get enter_old_password => 'أدخل كلمة المرور القديمة'; + + @override + String get your_old_password_incorrect => + 'كلمة المرور القديمة الخاصة بك غير صحيحة.'; + + @override + String get failed_to_update_password => ''; + + @override + String get password_update_successfully => 'تم تحديث كلمة المرور بنجاح.'; + + @override + String get new_password_not_same_as_old => + 'كلمة المرور الجديدة يجب ألا تكون نفس كلمة المرور القديمة'; + + @override + String get password_between_8_to_40 => + 'يجب أن تتراوح كلمة المرور بين 8 و40 حرفًا'; + + @override + String get new_password_required => 'كلمة المرور الجديدة مطلوبة'; + + @override + String get old_password_is_required => 'كلمة المرور القديمة مطلوبة'; + + @override + String get confirm_password_is_required => 'تأكيد كلمة المرور مطلوب'; + + @override + String get kpiCards => + 'يمكنك عرض بطاقات مؤشرات الأداء الرئيسية التفاعلية والرسوم البيانية لاستكشاف اتجاهات البيانات ومقارنة المقاييس الرئيسية بصريًا'; + + @override + String get home_topic => + 'اختر أي فئة (على سيبل المثال : الاقتصاد، الاجتماعية، البيئة) لاستكشاف مؤشرات الأداء الرئيسية التفصيلية ، التصورات، ورؤى البيانات .'; + + @override + String get economy => + 'يمكنك الوصول إلى الإحصائيات التفصيلية وصفحات التحليل لمؤشرات الأداء الرئيسية في فئة الاقتصاد لاكتشاف الاتجاهات والمقاييس الرئيسية .'; + + @override + String get bookMark => + 'يمكنك وضع إشارة مرجعية على مؤشرات الأداء الرئيسية أو مجموعات البيانات المهمة للوصول السريع والسهل في أي وقت من خلال قسم الإشارات المرجعية. '; + + @override + String get toggle => + 'يمكنك التبديل بين اللغتين الإنجليزية والعربية باستخدام مفتاح تبديل اللغة في الزاوية اليمنى العليا للحصول على تجربة ثنائية اللغة.'; + + @override + String get tour_navBar => + 'يمكنك استخدام شريط التنقل للوصول السريع إلى الملف الشخصي ,التعليقات , دليل المستخدم , الإشعارات والميزات الأساسية الأخرى للتطبيق.'; + + @override + String get mainMenu => + 'يمكنك الوصول إلى الصفحات المخصصة والميزات الإضافية عن طريق تحديد الخيارات من القائمة الرئيسية.'; +} diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart new file mode 100644 index 00000000..3e044caf --- /dev/null +++ b/lib/l10n/app_localizations_en.dart @@ -0,0 +1,374 @@ +// ignore: unused_import +import 'package:intl/intl.dart' as intl; +import 'app_localizations.dart'; + +// ignore_for_file: type=lint + +/// The translations for English (`en`). +class AppLocalizationsEn extends AppLocalizations { + AppLocalizationsEn([String locale = 'en']) : super(locale); + + @override + String get all_bookmarks => 'All Bookmarks'; + + @override + String get economy_title => 'Economy'; + + @override + String get social_title => 'Social'; + + @override + String get environment_title => 'Environment'; + + @override + String get economy_title_upper => 'ECONOMY'; + + @override + String get social_title_upper => 'SOCIAL'; + + @override + String get environment_title_upper => 'ENVIRONMENT'; + + @override + String get bookmarks => 'Bookmarks'; + + @override + String get searchCountry => 'Search Country'; + + @override + String get feedback_title => 'Feedback'; + + @override + String get feedback_failed_msg => + 'Your feedback could not be \n submitted. Please try again'; + + @override + String get thankYou => 'Thank you'; + + @override + String get feedback_message => + 'For your valuable feedback, we truly appreciate your input!'; + + @override + String get failed_to_sharefeedback => 'Failed to Share Feedback'; + + @override + String get feedback_submitted => 'Feedback submitted successfully!'; + + @override + String get formError => 'Please correct the errors before submitting.'; + + @override + String feedback_failed(Object error) { + return 'Failed to submit feedback: $error'; + } + + @override + String get skip => 'Skip'; + + @override + String get got_it => 'Got it'; + + @override + String get exit_app => 'Exit App'; + + @override + String get exit_confirmation => 'Are you sure you want to exit?'; + + @override + String get cancel => 'Cancel'; + + @override + String get exit => 'Exit'; + + @override + String get bookmark_title => 'Bookmark'; + + @override + String get failed_To_Remove => 'Failed to Remove'; + + @override + String get removed_from_Bookmark => 'Removed from Bookmark'; + + @override + String get added_to_Bookmark => 'Added to Bookmark.'; + + @override + String get notification => 'Notification'; + + @override + String get register_title => 'Register'; + + @override + String get register_details => 'Please enter your details'; + + @override + String get register_name => 'Username'; + + @override + String get email_id => 'Email ID'; + + @override + String get enter_name => 'Enter your User Name'; + + @override + String get enter_your_email => 'Enter your email'; + + @override + String get enter_your_password => 'Enter your password'; + + @override + String get register_Confirm_password => 'Confirm password'; + + @override + String get agree => 'I agree to the '; + + @override + String get t_and => ' and '; + + @override + String get conditions => ' of FCSC'; + + @override + String get terms_conditions => 'Terms & Conditions'; + + @override + String get privacy_policy => 'Privacy Policy'; + + @override + String get account_confirmation => 'Already have an account?'; + + @override + String get login_title => 'Login'; + + @override + String get all_updates => 'All updates'; + + @override + String get app_updates => 'App updates'; + + @override + String get notificationSocial => 'Social'; + + @override + String get notificationEconomy => 'Economy'; + + @override + String get notificationEnvironment => 'Environment'; + + @override + String get notificationFavourites => 'Favourites'; + + @override + String get profile_title => 'Edit Profile'; + + @override + String get my_profile => 'My Profile'; + + @override + String get logout => 'Logout'; + + @override + String get full_name => 'Full Name*'; + + @override + String get dob => 'Date of Birth*'; + + @override + String get region => 'Country/Region'; + + @override + String get preferredLang => 'Preferred Language'; + + @override + String get confirm => 'Confirm'; + + @override + String get change_password => 'Change Password'; + + @override + String get sure_save_page => 'Are you sure you want to save this page? '; + + @override + String get not_able_to_change => + 'Once saved, you will not be able to change your '; + + @override + String get save => 'Save'; + + @override + String get name => 'Name'; + + @override + String get guide_title => 'User Guide'; + + @override + String get nav_home => 'HOME'; + + @override + String get nav_uae => 'UAE Numbers'; + + @override + String get nav_competitiveness => 'Competitiveness'; + + @override + String get country_profile => 'Country Profile'; + + @override + String get agree_terms_conditions => 'Please agree to terms and conditions.'; + + @override + String get retry => 'Retry'; + + @override + String get select => 'Select'; + + @override + String get email_exists => 'Email exists'; + + @override + String get email_exists_msg => + 'Email ID already exists. Please use a different email.'; + + @override + String get email_invalid => 'The email is invalid or already in use.'; + + @override + String get required => 'Required'; + + @override + String get only40charac => 'Must not exceed 40 characters'; + + @override + String get invalid_characters => 'Invalid Characters'; + + @override + String get invalid_email => 'Invalid Email'; + + @override + String get password_invalid => 'Password contains invalid characters'; + + @override + String get password_match => 'Passwords do not match'; + + @override + String get only8charac => 'Password must be at least 8characters'; + + @override + String get manage_user => 'Manage User'; + + @override + String get user_name => 'User Name'; + + @override + String get reg_date => 'Registration Date'; + + @override + String get status => 'Status'; + + @override + String get denied => 'Denied'; + + @override + String get pending => 'Pending'; + + @override + String get approved => 'Approved'; + + @override + String get approve_msg => 'Are you sure you want to change the status to '; + + @override + String get yes => 'Yes'; + + @override + String get no => 'No'; + + @override + String get no_result_found => 'No results found'; + + @override + String get search => 'Search'; + + @override + String get status_success => 'Status updated successfully'; + + @override + String get profile_updated_successfully => 'Profile updated successfully'; + + @override + String get create_new_password => 'Create New Password'; + + @override + String get different_password => + 'Your New Password Must Be Different form Previously Used Password'; + + @override + String get old_password => 'Old Password'; + + @override + String get enter_new_password => 'Enter new password'; + + @override + String get confirm_new_password => 'Confirm new password'; + + @override + String get password_changed_successfully => 'Password Changed Successfully'; + + @override + String get enter_old_password => 'Enter old Password'; + + @override + String get your_old_password_incorrect => 'Your old password is incorrect.'; + + @override + String get failed_to_update_password => ''; + + @override + String get password_update_successfully => 'Password updated successfully.'; + + @override + String get new_password_not_same_as_old => + 'New password must not be the same as the old password'; + + @override + String get password_between_8_to_40 => + 'Password must be between 8 and 40 characters'; + + @override + String get new_password_required => 'New password is required'; + + @override + String get old_password_is_required => 'Old password is required'; + + @override + String get confirm_password_is_required => 'Confirm password is required'; + + @override + String get kpiCards => + 'View interactive KPI cards and graphs to explore data trends and compare key metrics visually.'; + + @override + String get home_topic => + 'Tap on any category (e.g., Economy, Social, Environment) to explore detailed KPIs, visualizations, and data insights.'; + + @override + String get economy => + 'Access detailed statistics and drill-down pages for KPIs in the Economy category to uncover key trends and metrics.'; + + @override + String get bookMark => + 'Bookmark important KPIs or datasets for quick and easy access anytime through the Bookmarks section.'; + + @override + String get toggle => + 'Switch between English and Arabic using the language toggle at the top-right corner for a bilingual experience.'; + + @override + String get tour_navBar => + 'Access dedicated pages and additional features by selecting options from the Main Menu.'; + + @override + String get mainMenu => + 'Use the navigation bar to quickly access Profile, Feedback, User Guide, Notifications, and other key app features.'; +} diff --git a/lib/main.dart b/lib/main.dart index 5ca01697..6557ef42 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -12,8 +12,7 @@ import 'package:uae_stat/config/injector.dart'; import 'package:uae_stat/config/my_router.dart'; import 'package:uae_stat/config/theme/theme_provider.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - +import 'package:uae_stat/l10n/app_localizations.dart'; // void main() async { // WidgetsFlutterBinding.ensureInitialized(); // // await (await SharedPreferences.getInstance()).clear(); diff --git a/lib/presentation/Screens/Bottom Navigation Pages/Country_Profile/country_profile.dart b/lib/presentation/Screens/Bottom Navigation Pages/Country_Profile/country_profile.dart index 6a9a631b..769f8775 100644 --- a/lib/presentation/Screens/Bottom Navigation Pages/Country_Profile/country_profile.dart +++ b/lib/presentation/Screens/Bottom Navigation Pages/Country_Profile/country_profile.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; import 'package:fl_chart/fl_chart.dart'; import 'package:external_repos/external_repos.dart'; diff --git a/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/Social/marriages.dart b/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/Social/marriages.dart deleted file mode 100644 index a2ede02a..00000000 --- a/lib/presentation/Screens/Bottom Navigation Pages/UAE_Numbers/Social/marriages.dart +++ /dev/null @@ -1,913 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:go_router/go_router.dart'; -import 'package:tutorial_coach_mark/tutorial_coach_mark.dart'; -import 'package:uae_stat/domain/use_cases/language.dart'; -import 'package:uae_stat/presentation/components/constant/constant.dart'; -import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; -import 'package:fl_chart/fl_chart.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:uae_stat/presentation/Screens/app_tour/Target_content.dart'; - -class Marriages extends ConsumerStatefulWidget { - const Marriages({super.key}); - - @override - ConsumerState createState() => _MarriagesState(); -} - -class _MarriagesState extends ConsumerState { - late List marriageTargets; - late List previousMarriageTargets; - late TutorialCoachMark tutorialCoachMark; - final GlobalKey chartKey = GlobalKey(); - final GlobalKey bookMarkKey = GlobalKey(); - late double cardHeight= 0; - - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback((_) { - _calculateMarkPosition(); - _startTutorialAfterRender(); - }); - } - - void handleSkip() { - tutorialCoachMark.skip(); - debugPrint('Skip clicked'); - ref.read(chartsTourProvider.notifier).state = true; - ref.read(previousChartsTourProvider.notifier).state = true; - ref.read(homeTourProvider.notifier).state = true; - ref.read( previousHomeTourProvider.notifier).state = true; - ref.read(scaffoldTourProvider.notifier).state = true; - ref.read(previousScaffoldTourProvider.notifier).state = true; - context.go('/myhomepage'); - } - - void _kpiTutorialCoachMark() { - - - _initmarriageTargets(); - tutorialCoachMark = TutorialCoachMark( - paddingFocus: 0, - useSafeArea: true, - pulseEnable: false, - hideSkip: true, - targets: marriageTargets, - onClickTarget: (target) { - if (target.identify == 'chartKey') { - // Scroll to the long widget - Scrollable.ensureVisible( - chartKey.currentContext!, - duration: Duration(milliseconds: 500), - ); - } - }, - onFinish: () { - context.push('/myhomepage'); - debugPrint('Marriage Tutorial Finished'); - }, - - )..show(context: context); - - } - void _previousKpiTutorial() { - - _initpreviousTargets(); - tutorialCoachMark = TutorialCoachMark( - paddingFocus: 0, - useSafeArea: true, - pulseEnable: false, - hideSkip: true, - targets: previousMarriageTargets, - onFinish: () { - context.push('/myhomepage'); - debugPrint('Previous Marriage Tutorial Finished'); - }, - - )..show(context: context); - - } - - - void _startTutorialAfterRender() { - final chartTour = ref.watch(chartsTourProvider); - final previousChartTour = ref.watch(previousChartsTourProvider); - if (chartKey.currentContext != null && !chartTour) { - _kpiTutorialCoachMark(); - } else if(!previousChartTour) { - _previousKpiTutorial(); - } - else if (!chartTour || !previousChartTour){ - Future.delayed(Duration(milliseconds: 100), _startTutorialAfterRender); - }else{ - return; - } - - } - - void _calculateMarkPosition() { - final RenderBox cardRenderBox = bookMarkKey.currentContext!.findRenderObject() as RenderBox; - final Size cardSize = cardRenderBox.size; - cardHeight = cardSize.height; - debugPrint('height : $cardHeight'); - } - - void _initmarriageTargets(){ - final double screenWidth= MediaQuery.of(context).size.width; - final double screenHeight= MediaQuery.of(context).size.height; - marriageTargets=[ - TargetFocus( - identify: 'chartsKey', - keyTarget: chartKey, - shape: ShapeLightFocus.RRect, - contents: [ - createTargetContent( - text: AppLocalizations.of(context)!.kpiCards, - alignment: ContentAlign.top, - gap:50, - space: 0, - ), - TargetContent( - align: ContentAlign.bottom, - child: SizedBox( - width: double.infinity, - height: MediaQuery.of(context).size.height*0.3, - child: Stack( - children: [ - Positioned( - bottom: 25, - left: 16, - right: 16, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - ElevatedButton( - onPressed: () => handleSkip(), - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - side: const BorderSide(color: Colors.white), - backgroundColor: Colors.transparent, - elevation: 0, - ), - child: Text( - 'Skip', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - ), - Column( - children: [ - Text( - '3/7', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - const SizedBox(height: 3), - Row( - children: [ - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - border: Border.all(color: Colors.white, width: 2.0), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_back, color: Colors.white), - onPressed: () { - ref.read(chartsTourProvider.notifier).state=true; - ref.read(previousHomeTourProvider.notifier).state=false; - tutorialCoachMark.finish(); - }, - ), - ), - const SizedBox(width: 10), - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Color(0xFF7DAFBC), - border: Border.all(color: Color(0xFF7DAFBC), width: 1.5), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_forward, color: Colors.white), - onPressed: () { - tutorialCoachMark.next(); - }, - ), - ), - ], - ), - ], - ), - ], - ), - ), - ], - ), - ), - ), - TargetContent( - padding: EdgeInsets.only(bottom: 0,top : 0,), - align: ContentAlign.top, - child: SizedBox( - width: MediaQuery.of(context).size.width, - height:MediaQuery.of(context).size.height*0.69 , - child: Stack( - children: [ - Positioned( - left: MediaQuery.of(context).size.width*0.40, - bottom: 0, - child: Image.asset( - 'assets/app_tour/leftUp.png', - width: 100, - height: 90, - ), - ), - ] - ), - - ), - ), - ], - ), - TargetFocus( - identify: 'BookMarkKey', - keyTarget: bookMarkKey, - shape: ShapeLightFocus.RRect, - contents: [ - createTargetContent( - text: AppLocalizations.of(context)!.bookMark, - alignment: ContentAlign.bottom, - gap: 23, - space: 50, - ), - TargetContent( - align: ContentAlign.bottom, - child: SizedBox( - width: double.infinity, - height: MediaQuery.of(context).size.height*0.60, - child: Stack( - children: [ - Positioned( - bottom: 35, - left: 16, - right: 16, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - ElevatedButton( - onPressed: () => handleSkip(), - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - side: const BorderSide(color: Colors.white), - backgroundColor: Colors.transparent, - elevation: 0, - ), - child: Text( - 'Skip', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - ), - Column( - children: [ - Text( - '4/7', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - const SizedBox(height: 3), - Row( - children: [ - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - border: Border.all(color: Colors.white, width: 2.0), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_back, color: Colors.white), - onPressed: () { - tutorialCoachMark.previous(); - }, - ), - ), - const SizedBox(width: 10), - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Color(0xFF7DAFBC), - border: Border.all(color: Color(0xFF7DAFBC), width: 1), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_forward, color: Colors.white), - onPressed: () { - ref.read(chartsTourProvider.notifier).state=true; - ref.read(scaffoldTourProvider.notifier).state=false; - tutorialCoachMark.finish(); - }, - ), - ), - ], - ), - ], - ), - ], - ), - ), - ], - ), - ), - ), - TargetContent( - padding: EdgeInsets.only(left:0, top: cardHeight+20), - align: ContentAlign.right, - child: Container( - width: screenWidth/4, - height: screenHeight, - child: Stack( - children: [ - Image.asset( - 'assets/app_tour/leftDown.png', - fit: BoxFit.contain, - ), - // Positioned( - // top: 0, - // left: MediaQuery.of(context).size.width* 0.5, - // child: SizedBox( - // width: 50, - // height: 100, - // child: Image.asset( - // 'assets/app_tour/bookmark2.png', - // fit: BoxFit.contain, - // ), - // ), - // ), - ], - ), - ), - ), - ], - ), - ]; - } - - void _initpreviousTargets(){ - final double screenWidth= MediaQuery.of(context).size.width; - final double screenHeight= MediaQuery.of(context).size.height; - previousMarriageTargets=[ - TargetFocus( - identify: 'BookMarkKey', - keyTarget: bookMarkKey, - shape: ShapeLightFocus.RRect, - contents: [ - createTargetContent( - text: AppLocalizations.of(context)!.bookMark, - space: 50, - alignment: ContentAlign.bottom, - gap: 23, - ), - TargetContent( - align: ContentAlign.bottom, - child: SizedBox( - width: double.infinity, - height: MediaQuery.of(context).size.height*0.60, - child: Stack( - children: [ - Positioned( - bottom: 35, - left: 16, - right: 16, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - ElevatedButton( - onPressed: () => handleSkip(), - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - side: const BorderSide(color: Colors.white), - backgroundColor: Colors.transparent, - elevation: 0, - ), - child: Text( - 'Skip', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - ), - Column( - children: [ - Text( - '4/7', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - const SizedBox(height: 3), - Row( - children: [ - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - border: Border.all(color: Colors.white, width: 2.0), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_back, color: Colors.white), - onPressed: () { - tutorialCoachMark.next(); - }, - ), - ), - const SizedBox(width: 10), - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Color(0xFF7DAFBC), - border: Border.all(color:Color(0xFF7DAFBC), width: 1.5), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_forward, color: Colors.white), - onPressed: () { - ref.read(chartsTourProvider.notifier).state=true; - ref.read(scaffoldTourProvider.notifier).state=false; - tutorialCoachMark.finish(); - }, - ), - ), - ], - ), - ], - ), - ], - ), - ), - ], - ), - ), - ), - TargetContent( - padding: EdgeInsets.only(left:0, top: cardHeight+20), - align: ContentAlign.right, - child: Container( - width: screenWidth/4, - height: screenHeight, - child: Stack( - children: [ - Image.asset( - 'assets/app_tour/leftDown.png', - fit: BoxFit.contain, - ), - // Positioned( - // top: 0, - // left: MediaQuery.of(context).size.width* 0.5, - // child: SizedBox( - // width: 50, - // height: 100, - // child: Image.asset( - // 'assets/app_tour/bookmark2.png', - // fit: BoxFit.contain, - // ), - // ), - // ), - ], - ), - ), - ), - ], - ), - TargetFocus( - identify: 'chartsKey', - keyTarget: chartKey, - shape: ShapeLightFocus.RRect, - contents: [ - createTargetContent( - text: AppLocalizations.of(context)!.kpiCards, - space: 0, - alignment: ContentAlign.top, - gap:50, - ), - TargetContent( - align: ContentAlign.bottom, - child: SizedBox( - width: double.infinity, - height: MediaQuery.of(context).size.height*0.3, - child: Stack( - children: [ - Positioned( - bottom: 30, - left: 16, - right: 16, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - ElevatedButton( - onPressed: () => handleSkip(), - style: ElevatedButton.styleFrom( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - side: const BorderSide(color: Colors.white), - backgroundColor: Colors.transparent, - elevation: 0, - ), - child: Text( - 'Skip', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - ), - Column( - children: [ - Text( - '3/7', - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: Colors.white, - fontSize: 14, - ), - ), - const SizedBox(height: 3), - Row( - children: [ - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - border: Border.all(color: Colors.white, width: 2.0), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_back, color: Colors.white), - onPressed: () { - ref.read(previousChartsTourProvider.notifier).state=true; - ref.read(previousHomeTourProvider.notifier).state=false; - tutorialCoachMark.finish(); - }, - ), - ), - const SizedBox(width: 10), - Container( - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Color(0xFF7DAFBC), - border: Border.all(color:Color(0xFF7DAFBC), width: 1.5), - ), - child: IconButton( - iconSize: 20, - icon: const Icon(Icons.arrow_forward, color: Colors.white), - onPressed: () { - tutorialCoachMark.previous(); - }, - ), - ), - ], - ), - ], - ), - ], - ), - ), - ], - ), - ), - ), - TargetContent( - padding: EdgeInsets.only(bottom: 0,top : 0,), - align: ContentAlign.top, - child: SizedBox( - width: MediaQuery.of(context).size.width, - height:MediaQuery.of(context).size.height*0.69 , - child: Stack( - children: [ - Positioned( - left: MediaQuery.of(context).size.width*0.40, - bottom: 0, - child: Image.asset( - 'assets/app_tour/leftUp.png', - width: 100, - height: 90, - ), - ), - ] - ), - - ), - ), - ], - ), - - - ]; - } - @override - Widget build(BuildContext context) { - double myheight = MediaQuery.of(context).size.height; - double mywidth = MediaQuery.of(context).size.width; - final List xAxisData = ['2019', '2020', '2021', '2022', '2023']; - final List yAxisData = [2, 4, 1, 5, 3]; - return BaseScaffold( - appbarColor: Color(0xFFC6BEB2), - title: Text("UAE Numbers",style: TextStyle(color: Colors.white,fontWeight: FontWeight.bold),), - showBackButton: true, - body: SingleChildScrollView( - child: Column( - children : [ - Container( - height: myheight/4.5, - width: double.infinity, - color: Color(0xFFC6BEB2), - child: Padding(padding: EdgeInsets.only(left: 30,right: 30,top: 20,bottom: 10),child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text("SOCIAL",style: TextStyle(color: Colors.white,fontSize: 30),), - Container(width: mywidth/5,child: Divider(thickness: 10,color: Colors.white,)), - Text("Marriages",style: TextStyle(color: Colors.white,fontSize: 20),), - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - IconButton(key :bookMarkKey,onPressed: (){}, icon: Icon(Icons.bookmark_add_outlined,color: Colors.white,size: 40,)), - IconButton(onPressed: (){}, icon: Icon(Icons.share,color: Colors.white,size: 30,)), - ],), - ], - ),) - ), - SingleChildScrollView(child: Container( - height: myheight, - color: Color(0xFFC6BEB2), - child: Padding( - padding: const EdgeInsets.only(top: 0.0,left: 10,right: 10,bottom: 20), - child: Column( - children: [ - Row( - key:chartKey, - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container(height: myheight/3.5,width: mywidth/2.5, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all(Radius.circular(10)) - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - 'assets/icons/indicator/social/marriage.png', - height: myheight / 10, // This ensures the image fits within the container's height - width: myheight / 10, // You can adjust the size as needed - ), - Text("Total",style: TextStyle(fontWeight: FontWeight.bold,fontSize: 26),), - Text("2022",style: TextStyle(fontSize: 15,color: Colors.grey),), - Text("16759",style: TextStyle(fontSize: 26,fontWeight: FontWeight.bold,color: socialColor),), - ], - ), - ), - Container(height: myheight/3.5,width: mywidth/2.5, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all(Radius.circular(10)) - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - 'assets/icons/indicator/social/marriage.png', - height: myheight / 10, // This ensures the image fits within the container's height - width: myheight / 10, // You can adjust the size as needed - ), - Text("Average",style: TextStyle(fontWeight: FontWeight.bold,fontSize: 26),), - Text("(2021 - 2022)",style: TextStyle(fontSize: 15,color: Colors.grey),), - Text("15987",style: TextStyle(fontSize: 26,fontWeight: FontWeight.bold,color: socialColor),), - ], - ), - ), - ], - ), - SizedBox(height: myheight/20,), - Container( - height: myheight/2.5, - width: mywidth/1.2, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all(Radius.circular(10)) - ), - child: Padding( - padding: const EdgeInsets.all(10.0), - child: Column( - children: [ - SizedBox(height: myheight/30,), - Center(child: Text("Total Marriages by Marriage Type",style: TextStyle(fontSize: 16,fontWeight: FontWeight.bold),), - ), - SizedBox(height: myheight/30,), - Container( - height: myheight/4, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(12), - boxShadow: [ - BoxShadow( - color: Colors.black12, - blurRadius: 8, - offset: Offset(0, 4), - ), - ], - ), - child: - Padding( - padding: const EdgeInsets.only(top: 16,left: 8.0,right: 8.0,bottom: 8.0), - child: BarChart( - BarChartData( - alignment: BarChartAlignment.spaceAround, - maxY: 8, - barTouchData: BarTouchData(enabled: false), - titlesData: FlTitlesData( - leftTitles: AxisTitles( - sideTitles: SideTitles( - showTitles: true, - interval: 2, - getTitlesWidget: (value, meta) { - return Padding( - padding: const EdgeInsets.only(right: 8.0), - child: Text('${value.toInt()}K'), - ); - }, - reservedSize: 60, - ), - ), - bottomTitles: AxisTitles( - sideTitles: SideTitles( - showTitles: true, - getTitlesWidget: (value, meta) { - return Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text(xAxisData[value.toInt()]), - ); - }, - reservedSize: 40, - ), - ), - topTitles: AxisTitles( - sideTitles: SideTitles(showTitles: false), // Hides top titles - ), - rightTitles: AxisTitles( - sideTitles: SideTitles(showTitles: false), // Hides right titles - ), - ), - gridData: FlGridData(show: false), - borderData: FlBorderData(show: false), - barGroups: List.generate( - xAxisData.length, - (index) => BarChartGroupData( - x: index, - barRods: [ - BarChartRodData( - toY: yAxisData[index], - color: Colors.blueAccent, - //colors: [Colors.blueAccent], - borderRadius: BorderRadius.circular(4), - width: 20, - ), - ], - ), - ), - ), - ), - ), - ), - // Container( - // decoration: BoxDecoration( - // color: Colors.white, - // borderRadius: BorderRadius.circular(12), - // boxShadow: [ - // BoxShadow( - // color: Colors.black12, - // blurRadius: 8, - // offset: Offset(0, 4), - // ), - // ], - // ), - // child: - // BarChart( - // BarChartData( - // alignment: BarChartAlignment.spaceAround, - // maxY: 20, - // barTouchData: BarTouchData(enabled: false), - // titlesData: FlTitlesData( - // leftTitles: AxisTitles( - // sideTitles: SideTitles( - // showTitles: true, - // getTitlesWidget: (value, meta) { - // return Padding( - // padding: const EdgeInsets.only(right: 8.0), - // child: Text('${value.toInt()}K'), - // ); - // }, - // reservedSize: 40, - // ), - // ), - // bottomTitles: AxisTitles( - // sideTitles: SideTitles( - // showTitles: true, - // getTitlesWidget: (value, meta) { - // return Padding( - // padding: const EdgeInsets.only(top: 8.0), - // child: Text(xAxisData[value.toInt()]), - // ); - // }, - // reservedSize: 40, - // ), - // ), - // ), - // gridData: FlGridData(show: false), - // borderData: FlBorderData(show: false), - // barGroups: List.generate( - // xAxisData.length, - // (index) => BarChartGroupData( - // x: index, - // barRods: [ - // BarChartRodData( - // toY: yAxisData[index], - // color: Colors.blueAccent, - // //colors: [Colors.blueAccent], - // borderRadius: BorderRadius.circular(4), - // width: 20, - // ), - // ], - // ), - // ), - // ), - // ), - // ), - - ], - ), - ), - ) - ], - ), - ), - - - ),) - ] - ), - ), mycenterTitle: false, - - ); - } -} - 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 3ca5dd96..2e97988a 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 @@ -17,8 +17,7 @@ import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes. import 'package:uae_stat/presentation/components/constant/constant.dart'; import 'package:http/http.dart' as http; import 'package:uae_stat/config/api_config.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; class UaeNumbers extends ConsumerWidget { const UaeNumbers({super.key}); diff --git a/lib/presentation/Screens/auth_verification/create_new_pw.dart b/lib/presentation/Screens/auth_verification/create_new_pw.dart index c66ccd86..9ccc10df 100644 --- a/lib/presentation/Screens/auth_verification/create_new_pw.dart +++ b/lib/presentation/Screens/auth_verification/create_new_pw.dart @@ -16,8 +16,7 @@ import 'package:uae_stat/presentation/Screens/profilepage.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; import 'package:uae_stat/presentation/components/space.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/config/my_theme.dart'; class CreateNewPw extends ConsumerStatefulWidget { diff --git a/lib/presentation/Screens/auth_verification/forgot_password.dart b/lib/presentation/Screens/auth_verification/forgot_password.dart index b3579228..862e50be 100644 --- a/lib/presentation/Screens/auth_verification/forgot_password.dart +++ b/lib/presentation/Screens/auth_verification/forgot_password.dart @@ -11,12 +11,11 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/data/p_auth_repo.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/banner_asset_path.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/Screens/profilepage.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; import 'package:uae_stat/presentation/components/space.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - import 'package:uae_stat/config/my_theme.dart'; class ForgotPassword extends ConsumerStatefulWidget { diff --git a/lib/presentation/Screens/auth_verification/registration.dart b/lib/presentation/Screens/auth_verification/registration.dart index 2137c6f1..bd3c62f3 100644 --- a/lib/presentation/Screens/auth_verification/registration.dart +++ b/lib/presentation/Screens/auth_verification/registration.dart @@ -13,8 +13,7 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/banner_asset_path.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; import 'package:uae_stat/presentation/Screens/profilepage.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; diff --git a/lib/presentation/Screens/charts/screens/chart_screen.dart b/lib/presentation/Screens/charts/screens/chart_screen.dart index 68443adc..6fc555de 100644 --- a/lib/presentation/Screens/charts/screens/chart_screen.dart +++ b/lib/presentation/Screens/charts/screens/chart_screen.dart @@ -22,7 +22,7 @@ import 'package:uae_stat/presentation/Screens/charts/services/api_service.dart'; import 'package:uae_stat/presentation/Screens/charts/widgets/chart_widget.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; import 'package:uae_stat/presentation/Screens/app_tour/Target_content.dart'; import '../filters/search_filter_helper.dart'; @@ -30,7 +30,6 @@ import 'package:flutter_svg/flutter_svg.dart'; import 'package:share_plus/share_plus.dart'; import 'package:path_provider/path_provider.dart'; import 'dart:io'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class ChartScreen1 extends ConsumerStatefulWidget { final String dataSets; diff --git a/lib/presentation/Screens/profilepage.dart b/lib/presentation/Screens/profilepage.dart index 6167846d..7f750b3c 100644 --- a/lib/presentation/Screens/profilepage.dart +++ b/lib/presentation/Screens/profilepage.dart @@ -23,8 +23,7 @@ import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; import 'package:uae_stat/presentation/routes/bottom_bar_routes/tab_routes/home_route.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; + import 'package:uae_stat/l10n/app_localizations.dart'; import '../components/my_bottom_nav_bar.dart'; import 'auth_verification/changepassword.dart'; import 'demo_home.dart'; diff --git a/lib/presentation/routes/auth_routes/login_route.dart b/lib/presentation/routes/auth_routes/login_route.dart index cf997c2d..d8e78a6b 100644 --- a/lib/presentation/routes/auth_routes/login_route.dart +++ b/lib/presentation/routes/auth_routes/login_route.dart @@ -25,6 +25,7 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/data/p_auth_repo.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/banner_asset_path.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/misc_icon_asset_path.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/Screens/demo_home.dart'; import 'package:uae_stat/presentation/components/dialogs.dart'; import 'package:uae_stat/presentation/components/lang_toggle.dart'; @@ -36,8 +37,7 @@ import 'package:http/http.dart' as http; import 'package:url_launcher/url_launcher.dart'; import '../../Screens/auth_verification/registration.dart'; import 'package:pocketbase/pocketbase.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:uae_stat/config/api_config.dart'; + import 'package:uae_stat/config/api_config.dart'; import '../../components/indicators/locale_provider.dart'; import '../../components/my_toggle.dart'; 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 fc061820..af49f255 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 @@ -175,11 +175,11 @@ import 'package:uae_stat/config/toggle_lang_service.dart'; import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/data/p_auth_repo.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/logo_asset_path.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:tutorial_coach_mark/tutorial_coach_mark.dart'; import 'package:uae_stat/presentation/Screens/app_tour/Target_content.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; import 'package:http/http.dart' as http; import 'package:uae_stat/config/api_config.dart'; diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart index 7145086c..e94d28ac 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/bookmark.dart @@ -6,8 +6,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:go_router/go_router.dart'; import 'package:dio/dio.dart'; import 'package:http/http.dart' as http; -// import 'package:uae_stat/l10n/app_localizations.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:pocketbase/pocketbase.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:uae_stat/config/api_config.dart'; diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart b/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart index 87a87623..230d4fdd 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart @@ -23,8 +23,7 @@ import 'package:uae_stat/domain/use_cases/language.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/drawer_routes/custom_drawer_routes.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; class EditProfile extends ConsumerStatefulWidget { const EditProfile({super.key}); diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart b/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart index c51d8ee6..c9b25489 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/feedback.dart @@ -8,7 +8,6 @@ import 'package:go_router/go_router.dart'; import 'package:http/http.dart' as http; import 'package:intl/intl.dart'; import 'package:uae_stat/config/theme/theme_provider.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:pocketbase/pocketbase.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:uae_stat/config/api_config.dart'; @@ -18,6 +17,7 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/feedback_asset_path.dart'; import 'package:uae_stat/infrastructure/services/packages/go_router.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_drawer.dart'; import 'package:mailer/mailer.dart'; 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 32c60f76..49f3b0d7 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/manage_users.dart @@ -17,8 +17,7 @@ import 'package:uae_stat/presentation/components/indicators/locale_provider.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'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; class ManageUserRouter extends ConsumerStatefulWidget { late final Widget title; 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 53a1f45c..8d492356 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/notification/notification.dart @@ -14,8 +14,7 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import '../../custom_drawer_routes.dart'; import 'package:http/http.dart' as http; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; class NotificationPage extends ConsumerStatefulWidget { @override diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/userguide.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/userguide.dart index 49fd9e8d..b259b045 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/userguide.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/userguide.dart @@ -4,14 +4,10 @@ import 'package:go_router/go_router.dart'; import 'package:uae_stat/config/theme/theme_provider.dart'; import 'package:uae_stat/config/toggle_lang_service.dart'; import 'package:uae_stat/domain/use_cases/language.dart'; -// import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; -// import 'package:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; import 'package:iconify_design/iconify_design.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; class Userguide extends ConsumerStatefulWidget { Userguide({super.key}); diff --git a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart index fd64d26f..9fb0dc70 100644 --- a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart +++ b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart @@ -12,7 +12,6 @@ import 'package:package_info_plus/package_info_plus.dart'; import 'package:pocketbase/pocketbase.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:tutorial_coach_mark/tutorial_coach_mark.dart'; import 'package:uae_stat/config/injector.dart'; import 'package:uae_stat/config/theme/app_theme.dart'; @@ -24,7 +23,7 @@ import 'package:uae_stat/domain/use_cases/language.dart'; import 'package:uae_stat/infrastructure/data/p_auth_repo.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/bottom_bar_asset_icon_path.dart'; import 'package:uae_stat/infrastructure/services/img_asset_paths/icons/drawer_asset_icon_path.dart'; -// import 'package:uae_stat/l10n/app_localizations.dart'; +import 'package:uae_stat/l10n/app_localizations.dart'; import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; diff --git a/pubspec.lock b/pubspec.lock index a202624a..d38a087e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -117,10 +117,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.0" boolean_selector: dependency: transitive description: @@ -476,10 +476,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" fast_immutable_collections: dependency: "direct main" description: @@ -1024,10 +1024,10 @@ packages: dependency: "direct main" description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" io: dependency: transitive description: @@ -1072,10 +1072,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: @@ -1136,10 +1136,10 @@ packages: dependency: "direct main" description: name: material_charts - sha256: ada5af96e9cdd9888c1931eaf307e6693408584ca0de1b1c795f9862590f9fcf + sha256: f30b2410c00cc946440e606600b7b72d107737ec508a1300fbc4119820a0f454 url: "https://pub.dev" source: hosted - version: "0.0.25" + version: "0.0.28" material_color_utilities: dependency: transitive description: @@ -1795,10 +1795,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" watcher: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index bdf0ddab..0d478ee6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -33,7 +33,7 @@ dependencies: # path: packages/dynamic_layouts csv: ^6.0.0 excel: ^4.0.2 - intl: ^0.19.0 + intl: ^0.20.2 # firebase_core: ^3.12.1 the_validator: ^2.0.0 pocketbase: ^0.18.1