diff --git a/android/app/.cxx/Debug/4y161to1/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/Debug/4y161to1/arm64-v8a/configure_fingerprint.bin index 58c725fc..a96daedc 100644 --- a/android/app/.cxx/Debug/4y161to1/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/4y161to1/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log} { y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ĺ3  2z +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  3  2z x -v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build.json  Ĺ3 2 +v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build.json  3 2 } -{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build_mini.json  Ĺ3 2l +{/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/android_gradle_build_mini.json  3 2l j -h/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja  Ĺ3 2p +h/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja  3 2p n -l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja.txt  Ĺ3u +l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build.ninja.txt  3u s -q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build_file_index.txt  Ĺ3 _ 2v +q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/build_file_index.txt  3 _ 2v t -r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json  Ĺ3z +r/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json  3z x -v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json.bin  Ĺ3  +v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/compile_commands.json.bin  3  ~ -|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/metadata_generation_command.txt  Ĺ3 +|/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/metadata_generation_command.txt  3  2s q -o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/prefab_config.json  Ĺ3  ( 2x +o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/prefab_config.json  3  ( 2x v -t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/symbol_folder_index.txt  Ĺ3  k 2c +t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/arm64-v8a/symbol_folder_index.txt  3  k 2c a -_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ĺ3  ހ2 \ No newline at end of file +_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  3  ހ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/4y161to1/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/Debug/4y161to1/armeabi-v7a/configure_fingerprint.bin index 63f5ab87..7a4ff335 100644 --- a/android/app/.cxx/Debug/4y161to1/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/4y161to1/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log } {/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ź3  2| +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  3  2| z -x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build.json  Ź3 2 +x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build.json  3 2  -}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build_mini.json  Ź3 2n +}/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/android_gradle_build_mini.json  3 2n l -j/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja  Ź3 2r +j/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja  3 2r p -n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja.txt  Ź3w +n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build.ninja.txt  3w u -s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build_file_index.txt  Ź3 _ 2x +s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/build_file_index.txt  3 _ 2x v -t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json  Ź3| +t/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json  3| z -x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json.bin  Ź3  +x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/compile_commands.json.bin  3   -~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/metadata_generation_command.txt  Ź3 +~/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/metadata_generation_command.txt  3  2u s -q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/prefab_config.json  Ź3  ( 2z +q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/prefab_config.json  3  ( 2z x -v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/symbol_folder_index.txt  Ź3  m 2c +v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/armeabi-v7a/symbol_folder_index.txt  3  m 2c a -_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ź3  ހ2 \ No newline at end of file +_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  3  ހ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/4y161to1/x86/configure_fingerprint.bin b/android/app/.cxx/Debug/4y161to1/x86/configure_fingerprint.bin index 3b0dce56..0dd5d4eb 100644 --- a/android/app/.cxx/Debug/4y161to1/x86/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/4y161to1/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logw u s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ź3  2t +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  3  2t r -p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build.json  Ź3 2y +p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build.json  3 2y w -u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build_mini.json  Ź3 2f +u/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/android_gradle_build_mini.json  3 2f d -b/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja  Ź3 2j +b/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja  3 2j h -f/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja.txt  Ź3o +f/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build.ninja.txt  3o m -k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build_file_index.txt  Ź3 _ 2p +k/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/build_file_index.txt  3 _ 2p n -l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json  Ź3t +l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json  3t r -p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json.bin  Ź3 z +p/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/compile_commands.json.bin  3 z x -v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/metadata_generation_command.txt  Ź3 +v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/metadata_generation_command.txt  3  2m k -i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/prefab_config.json  Ź3  ( 2r +i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/prefab_config.json  3  ( 2r p -n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/symbol_folder_index.txt  Ź3  e 2c +n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86/symbol_folder_index.txt  3  e 2c a -_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ź3  ހ2 \ No newline at end of file +_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  3  ހ2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/4y161to1/x86_64/configure_fingerprint.bin b/android/app/.cxx/Debug/4y161to1/x86_64/configure_fingerprint.bin index 0f0a9ad9..cdab0d69 100644 --- a/android/app/.cxx/Debug/4y161to1/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/4y161to1/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logz x v/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ź3  2w +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  3  2w u -s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build.json  Ź3 2| +s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build.json  3 2| z -x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build_mini.json  Ź3 2i +x/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/android_gradle_build_mini.json  3 2i g -e/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja  Ź3 2m +e/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja  3 2m k -i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja.txt  Ź3r +i/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build.ninja.txt  3r p -n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build_file_index.txt  Ź3 _ 2s +n/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/build_file_index.txt  3 _ 2s q -o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json  Ź3w +o/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json  3w u -s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json.bin  Ź3 } +s/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/compile_commands.json.bin  3 } { -y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/metadata_generation_command.txt  Ź3 +y/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/metadata_generation_command.txt  3  2p n -l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/prefab_config.json  Ź3  ( 2u +l/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/prefab_config.json  3  ( 2u s -q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/symbol_folder_index.txt  Ź3  h 2c +q/Users/venbateam/Documents/UAE_Stats/FCSC/frontend/android/app/.cxx/Debug/4y161to1/x86_64/symbol_folder_index.txt  3  h 2c a -_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  Ź3  ހ2 \ No newline at end of file +_/Users/venbateam/Documents/flutter/packages/flutter_tools/gradle/src/main/groovy/CMakeLists.txt  3  ހ2 \ No newline at end of file diff --git a/assets/icons/uae_numbers/ShareDark.png b/assets/icons/uae_numbers/ShareDark.png new file mode 100644 index 00000000..ea202abe Binary files /dev/null and b/assets/icons/uae_numbers/ShareDark.png differ diff --git a/assets/icons/uae_numbers/ShareLight.png b/assets/icons/uae_numbers/ShareLight.png new file mode 100644 index 00000000..1a60bccc Binary files /dev/null and b/assets/icons/uae_numbers/ShareLight.png differ diff --git a/assets/user_guide/aboutfcscdark.png b/assets/user_guide/aboutfcscdark.png new file mode 100644 index 00000000..15c0f6d0 Binary files /dev/null and b/assets/user_guide/aboutfcscdark.png differ diff --git a/assets/user_guide/aboutfcsclight.png b/assets/user_guide/aboutfcsclight.png new file mode 100644 index 00000000..4b2bfe3f Binary files /dev/null and b/assets/user_guide/aboutfcsclight.png differ diff --git a/lib/infrastructure/services/img_asset_paths/icons/uae_numbers_asset_path.dart b/lib/infrastructure/services/img_asset_paths/icons/uae_numbers_asset_path.dart index 6cec49e3..7c172b3a 100644 --- a/lib/infrastructure/services/img_asset_paths/icons/uae_numbers_asset_path.dart +++ b/lib/infrastructure/services/img_asset_paths/icons/uae_numbers_asset_path.dart @@ -6,6 +6,8 @@ abstract class UaeNumbersAssetPath { // static const bookmarksSelectedUae = '$_basePath/bookmarksSelectedUae.png'; // static const shareUae = '$_basePath/share.png'; static const share = '$_basePath/share.svg'; + static const shareDark = '$_basePath/ShareDark.png'; + static const shareLight = '$_basePath/ShareLight.png'; static const filterUae = '$_basePath/filters.png'; static const filterCharts = '$_basePath/Filter.svg'; } 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 5847afc9..6a9a631b 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 @@ -3,7 +3,6 @@ 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/config/theme/theme_provider.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/presentation/routes/drawer_routes/custom_drawer_routes.dart'; @@ -194,123 +193,16 @@ class ListCountriesRoute extends HookConsumerWidget { country.nameAR.toLowerCase().contains(query); }).toList(); - final List> _allCountries = [ - {"name": "Afghanistan", "flag": "🇦🇫"}, - {"name": "Albania", "flag": "🇦🇱"}, - {"name": "Algeria", "flag": "🇩🇿"}, - {"name": "American Samoa", "flag": "🇦🇸"}, - {"name": "Andorra", "flag": "🇦🇩"}, - {"name": "Angola", "flag": "🇦🇴"}, - {"name": "Anguilla", "flag": "🇦🇮"}, - {"name": "Antigua And Barbuda", "flag": "🇦🇬"}, - {"name": "Argentina", "flag": "🇦🇷"}, - {"name": "Armenia", "flag": "🇦🇲"}, - {"name": "Aruba", "flag": "🇦🇼"}, - {"name": "Australia", "flag": "🇦🇺"}, - {"name": "Austria", "flag": "🇦🇹"}, - {"name": "Azerbaijan", "flag": "🇦🇿"}, - {"name": "Bahamas", "flag": "🇧🇸"}, - {"name": "Bahrain", "flag": "🇧🇭"}, - {"name": "Bangladesh", "flag": "🇧🇩"}, - ]; - - String _searchTerm = ''; - - void filterData(String value) { - setState(() => _searchTerm = value); - } - - @override - void initState() { - super.initState(); - final currentTheme = ref.read(themeProvider); // should return ThemeMode - print(currentTheme); // ThemeMode.dark, ThemeMode.light, etc. - } - - @override - Widget build(BuildContext context) { - final locale = AppLocalizations.of(context)!; - final filtered = _allCountries - .where((c) => c['name']!.toLowerCase().contains(_searchTerm.toLowerCase())) - .toList(); - - double myheight = MediaQuery.of(context).size.height; - double mywidth = MediaQuery.of(context).size.width; - - return PopScope( - canPop: false, - onPopInvokedWithResult: (didPop, result) { - if (didPop) return; - context.go('/myhomepage'); - }, - child: BaseScaffold( - title: Text( - context.translate( - 'Country Profile', - 'ملف الدولة', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ) - ), - ), - body: Column( - children: [ - Padding( - padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 12.0), - child: Container( - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(30.0), - border: Border.all(width: 1, color: Color(0xFFAA8E83)), - ), - child: TextField( - controller: _searchController, - onChanged: (value) { - filterData(value); - }, - decoration: InputDecoration( - hintText: AppLocalizations.of(context)!.searchCountry, - hintStyle: TextStyle( - color: Color(0xFFAA8E83), - fontFamily: context.translate('Roboto', 'NotoKufi'), - fontSize: 14, - height: 1.8, - ), - prefixIconConstraints: BoxConstraints( - maxWidth: 42, - maxHeight: 42, - ), - prefixIcon: Container( - padding: EdgeInsets.only(right: 5, left: 5), - alignment: Alignment.center, - child: SvgPicture.asset( - MiscIconAssetPath.Search, - semanticsLabel: 'Search', - colorFilter: ColorFilter.mode(Color(0xFFAA8E83), BlendMode.srcIn), - height: 18, - width: 18, - ), - ), - suffixIcon: _searchController.text.isNotEmpty - ? IconButton( - icon: Icon( - Icons.clear, - color: Color(0xFFAA8E83), - size: 18, - ), - onPressed: () { - _searchController.clear(); - filterData(''); - }, - ) - : null, - border: InputBorder.none, - contentPadding: EdgeInsets.symmetric(vertical: 9, horizontal: 18.0), - ), - ), + final body = BaseScaffold( + body: Column( + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 12.0), + child: Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(30.0), + border: Border.all(width: 1, color: Color(0xFFAA8E83)), ), child: SearchBar( constraints: BoxConstraints( diff --git a/lib/presentation/Screens/charts/screens/chart_screen.dart b/lib/presentation/Screens/charts/screens/chart_screen.dart index 22bccc2e..32ef9bf4 100644 --- a/lib/presentation/Screens/charts/screens/chart_screen.dart +++ b/lib/presentation/Screens/charts/screens/chart_screen.dart @@ -23,15 +23,14 @@ 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:flutter_gen/gen_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'; -import 'package:flutter/material.dart'; 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; @@ -334,7 +333,8 @@ class _ChartScreen1State extends ConsumerState { 10.0), // Adjust the radius as needed ), side: BorderSide( - color: Color(0xFFAA8E83), // Set the outline color + color: Color(0xFFB68A34), // Set the outline color + // color: Color(0xFFAA8E83), // Set the outline color width: 1, // Set the border width ), ), @@ -345,7 +345,8 @@ class _ChartScreen1State extends ConsumerState { 'Roboto', 'NotoKufi', ), - color: Color(0xFFAA8E83), + // color: Color(0xFFAA8E83), + color: Color(0xFFB68A34), fontSize: 16, ), ), @@ -359,7 +360,8 @@ class _ChartScreen1State extends ConsumerState { removeBookmark(); // Close dialog }, style: TextButton.styleFrom( - backgroundColor: Color(0xFFAA8E83), // Set background color + // backgroundColor: Color(0xFFAA8E83), // Set background color + backgroundColor: Color(0xFFB68A34), // Set background color foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: @@ -442,7 +444,8 @@ class _ChartScreen1State extends ConsumerState { 10.0), // Adjust the radius as needed ), side: BorderSide( - color: Color(0xFFAA8E83), // Set the outline color + color: Color(0xFFB68A34), // Set the outline color + // color: Color(0xFFAA8E83), // Set the outline color width: 1, // Set the border width ), ), @@ -453,7 +456,8 @@ class _ChartScreen1State extends ConsumerState { 'Roboto', 'NotoKufi', ), - color: Color(0xFFAA8E83), + color: Color(0xFFB68A34), + // color: Color(0xFFAA8E83), fontSize: 16, ), ), @@ -467,7 +471,8 @@ class _ChartScreen1State extends ConsumerState { addBookmark(); // Close dialog }, style: TextButton.styleFrom( - backgroundColor: Color(0xFFAA8E83), // Set background color + backgroundColor: Color(0xFFB68A34), // Set background color + // backgroundColor: Color(0xFFAA8E83), // Set background color foregroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: @@ -1519,8 +1524,8 @@ class _ChartScreen1State extends ConsumerState { print('locale2- $locale'); - final isDark = currentTheme == ThemeMode.dark || - (currentTheme == ThemeMode.system && + final isDark = ref.watch(themeProvider) == ThemeMode.dark || + (ref.watch(themeProvider) == ThemeMode.system && MediaQuery.of(context).platformBrightness == Brightness.dark); final themeMode = (isDark ? 'dark' : 'light'); @@ -1972,12 +1977,14 @@ class _ChartScreen1State extends ConsumerState { ref.watch(localeProvider)?.languageCode ?? 'en'; print('locale22- $locale'); - final isDark = currentTheme == ThemeMode.dark || - (currentTheme == ThemeMode.system && + final isDark = ref.watch(themeProvider) == ThemeMode.dark || + (ref.watch(themeProvider) == ThemeMode.system && MediaQuery.of(context).platformBrightness == Brightness.dark); - + print('isDark filter'); + print(isDark); final themeMode = (isDark ? 'dark' : 'light'); + print(themeMode); fetchChartData( widget.dataSets, @@ -2042,8 +2049,8 @@ class _ChartScreen1State extends ConsumerState { 'en'; print('locale22- $locale'); - final isDark = currentTheme == ThemeMode.dark || - (currentTheme == ThemeMode.system && + final isDark = ref.watch(themeProvider) == ThemeMode.dark || + (ref.watch(themeProvider) == ThemeMode.system && MediaQuery.of(context) .platformBrightness == Brightness.dark); @@ -2495,7 +2502,7 @@ class _ChartScreen1State extends ConsumerState { // final bodyColor = Color( int.parse( - (chartScreenData['body_color'] ?? '#898C81').replaceFirst('#', '0xff'), + (chartScreenData['header_color'] ?? '#898C81').replaceFirst('#', '0xff'), ), ); final chartHeader = chartScreenData['main_topic'] ?? ''; @@ -2566,7 +2573,7 @@ class _ChartScreen1State extends ConsumerState { // .replaceFirst('#', '0xff'))), child: Padding( padding: EdgeInsets.only( - left: 30, right: 30, top: 8, bottom: 5), + left: 15, right: 15, top: 8, bottom: 5), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -2652,8 +2659,14 @@ class _ChartScreen1State extends ConsumerState { child: Container( padding: EdgeInsets.all(4), decoration: BoxDecoration( + // color: isBookmarked + // ? Colors.white.withAlpha(90) + // : null, + color: isBookmarked + ? isDarkTheme ? Colors.white.withAlpha(90) + : Colors.grey.shade200 : null, // Background color borderRadius: BorderRadius.circular( 8), // Curved corners @@ -2673,6 +2686,7 @@ class _ChartScreen1State extends ConsumerState { 'NotoKufi', ), fontSize: 16, + fontWeight: FontWeight.w500, color: isDarkTheme ? Colors.grey : Color(0xFF416587), @@ -2696,6 +2710,7 @@ class _ChartScreen1State extends ConsumerState { 'NotoKufi', ), fontSize: 16, + fontWeight: FontWeight.w500, color: isDarkTheme ? Colors.grey : Color(0xFF416587), @@ -2723,14 +2738,22 @@ class _ChartScreen1State extends ConsumerState { Icon( size: 24, Icons.bookmarks_rounded, + color: isBookmarked - ? Color(int.parse( - (chartScreenData[ - 'body_color'] ?? - '#898C81') - .replaceFirst( - '#', '0xff'))) - : Colors.white, + ? isDarkTheme + ? Colors.grey + : Color(0xFF416587) + : isDarkTheme + ? Colors.grey + : Color(0xFF416587), + // color: isBookmarked + // ? Color(int.parse( + // (chartScreenData[ + // 'body_color'] ?? + // '#898C81') + // .replaceFirst( + // '#', '0xff'))) + // : Colors.white, ), ], ), @@ -2754,6 +2777,7 @@ class _ChartScreen1State extends ConsumerState { 'NotoKufi', ), fontSize: 16, + fontWeight: FontWeight.w500, // color: Colors.white, color: isDarkTheme ? Colors.grey @@ -2771,8 +2795,17 @@ class _ChartScreen1State extends ConsumerState { strokeWidth: 2, ), ) // Show loading spinner + : isDarkTheme + ? SvgPicture.asset( + UaeNumbersAssetPath + .shareDark, + semanticsLabel: 'share', + width: 24, + height: 24, + ) : SvgPicture.asset( - UaeNumbersAssetPath.share, + UaeNumbersAssetPath + .shareLight, semanticsLabel: 'share', width: 24, height: 24, @@ -2804,6 +2837,7 @@ class _ChartScreen1State extends ConsumerState { 'NotoKufi', ), fontSize: 16, + fontWeight: FontWeight.w500, // color: Colors.white, color: isDarkTheme ? Colors.grey @@ -2811,12 +2845,20 @@ class _ChartScreen1State extends ConsumerState { ), ), SizedBox(width: 10), - SvgPicture.asset( - UaeNumbersAssetPath.filterCharts, - semanticsLabel: 'Filter', - width: 24, - height: 24, + + Icon( + size: 26, + Icons.filter_alt_outlined, + color: isDarkTheme + ? Colors.grey + : Color(0xFF416587), ), + // SvgPicture.asset( + // UaeNumbersAssetPath.filterCharts, + // semanticsLabel: 'Filter', + // width: 24, + // height: 24, + // ), ], ), ) @@ -3113,7 +3155,9 @@ class _ChartScreen1State extends ConsumerState { color: onPressed == null ? Color(int.parse((chartScreenData['header_color'] ?? '#898C81') .replaceFirst('#', '0xff'))) - : Colors.grey[400], + : isDarkTheme + ? Colors.grey[700] + : Colors.grey[200], shape: BoxShape.rectangle, borderRadius: BorderRadius.circular(5.0), // boxShadow: [ @@ -3149,7 +3193,9 @@ class _ChartScreen1State extends ConsumerState { color: isActive ? Color(int.parse((chartScreenData['header_color'] ?? '#898C81') .replaceFirst('#', '0xff'))) - : Colors.grey[400], + : isDarkTheme + ? Colors.black + : Color(0XFFDFE1DB), borderRadius: BorderRadius.circular(5.0), ), child: Text( @@ -3159,7 +3205,9 @@ class _ChartScreen1State extends ConsumerState { 'Roboto', 'NotoKufi', ), - color: isActive ? Colors.black : Colors.white, + // color: isActive ? Colors.black : Colors.white, + color: isDarkTheme ? Colors.white : Colors.black, + // color: Colors.white, fontWeight: isActive ? FontWeight.w500 : FontWeight.w400, fontSize: 13, ), diff --git a/lib/presentation/routes/auth_routes/login_route.dart b/lib/presentation/routes/auth_routes/login_route.dart index 004117d3..d5fa9185 100644 --- a/lib/presentation/routes/auth_routes/login_route.dart +++ b/lib/presentation/routes/auth_routes/login_route.dart @@ -353,9 +353,6 @@ class LoginRoute extends HookConsumerWidget { // }); // } - - - final hasValidated = useState(false); final locale = ref.watch(localeProvider); final emailCtl = useTextEditingController(); 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 76db2f88..7d08419f 100644 --- a/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/edit_profile.dart @@ -539,9 +539,8 @@ class _EditProfileState extends ConsumerState { await _fetchUserData(); }); - final themeMode = ref.read(themeProvider); - final isDarkTheme = themeMode == ThemeMode.dark || - (themeMode == ThemeMode.system && + final isDarkTheme = ref.watch(themeProvider) == ThemeMode.dark || + (ref.watch(themeProvider) == ThemeMode.system && MediaQuery.of(context).platformBrightness == Brightness.dark); return PopScope( diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide.zip b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide.zip new file mode 100644 index 00000000..7c7c066d Binary files /dev/null and b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide.zip differ diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/AboutFCSC.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/AboutFCSC.dart index 3f4e32b9..942834e7 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/AboutFCSC.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/AboutFCSC.dart @@ -8,7 +8,7 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; - +import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; class aboutFCSC extends ConsumerStatefulWidget { @@ -133,7 +133,7 @@ class _aboutFCSCState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, // fontWeight: FontWeight.normal, fontWeight: FontWeight.w500, ), @@ -166,10 +166,17 @@ class _aboutFCSCState extends ConsumerState { SizedBox( width: MediaQuery.of(context).size.width, height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/AboutFCSC.png', - fit: BoxFit.contain, - ), + child: + Image.asset( + isDarkTheme + ? 'assets/user_guide/aboutfcscdark.png' + : 'assets/user_guide/aboutfcsclight.png', + ) + // Image.asset( + // 'assets/user_guide/about fcsc dark.png', + // fit: BoxFit.contain, + // ), + ), SizedBox( height: 5, diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/getStarted.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/getStarted.dart index d2176c73..be46f83e 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/getStarted.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/AboutTheApp/getStarted.dart @@ -8,7 +8,7 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; - +import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; class GetStarted extends ConsumerStatefulWidget { @@ -150,7 +150,8 @@ class _GetStartedState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, + // color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -166,7 +167,7 @@ class _GetStartedState extends ConsumerState { Align( alignment: Alignment.topLeft, child: Text( - context.translate('How to Get Started', 'كيفية البدء'), + context.translate('How to Get Started?', 'كيفية البدء؟'), style: TextStyle( fontFamily: context.translate( 'Roboto', @@ -174,49 +175,70 @@ class _GetStartedState extends ConsumerState { ), fontSize: 20, color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, + fontWeight: FontWeight.w500, ), ), ), - SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/getStarted.png', - fit: BoxFit.contain, - ), - ), - Text( - context.translate( - '1. Download the app from the App Store or Google Play Store.', - '1 .قم بتحميل التطبيق من متجر التطبيقات (Appstore) أو متجر جوجل بلاي (Google Play)..', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme ? Colors.white : Colors.black54, - ), - ), - SizedBox( - height: 2, - ), - Text( - context.translate( - '2. Log in to access advanced features', - '2 .قم بتسجيل الدخول لفتح الميزات المتقدمة.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme ? Colors.white : Colors.black54, - ), - ), - SizedBox( - height: MediaQuery.of(context).size.height * 0.12, - ), - SizedBox( - height: 20, - ), + SizedBox(height: 10), + // SizedBox( + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/getStarted.png', + // fit: BoxFit.contain, + // ), + // ), + Padding(padding: const EdgeInsets.all(30.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + context.translate( + '1. Download the app from the App Store or Google Play Store.', + '1 .قم بتحميل التطبيق من متجر التطبيقات (Appstore) أو متجر جوجل بلاي (Google Play)..', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Colors.black54, + ), + ), + SizedBox( + height: 20, + ), + Text( + context.translate( + '2. Log in to unlock advanced features or continue as a guest.', + '2 .قم بتسجيل الدخول لفتح الميزات المتقدمة أو الاستمرار كضيف.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Colors.black54, + ), + ), + SizedBox( + height: 20, + ), + Text( + context.translate( + '3. Navigate through categories, explore metrics, and bookmark essential information.', + '3 .تنقل عبر الفئات، واستكشف المقاييس، وقم بإضافة إشارة مرجعية إلى المعلومات الأساسية.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Colors.black54, + ), + ), + ], + ),) + // SizedBox( + // height: MediaQuery.of(context).size.height * 0.12, + // ), + // SizedBox( + // height: 20, + // ), ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/AppFeatures.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/AppFeatures.dart index 07f73a9d..329add2f 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/AppFeatures.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/AppFeatures.dart @@ -8,10 +8,12 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; +import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import '../../../../../../infrastructure/services/img_asset_paths/banner_asset_path.dart'; import '../../../custom_drawer_routes.dart'; + class AppFeatures extends ConsumerStatefulWidget { const AppFeatures({super.key}); @@ -145,7 +147,7 @@ class _AppFeaturesState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -174,238 +176,385 @@ class _AppFeaturesState extends ConsumerState { ), ), ), - SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/appFeatures.png', - fit: BoxFit.contain, - ), - ), - Text( - context.translate('1. Comprehensive Statistics:', - '1. رؤى مستندة إلى البيانات '), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 7.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 6.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Colors.black, - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate( - 'Access detailed datasets across categories such as ', - 'الوصول إلى مجموعات بيانات تفصيلية عبر فئات مثل الاقتصاد، البيئة، الاجتماعية، وغيرها.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontSize: 16, - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate( - 'Economy, Environment, Social, ', ''), - style: TextStyle( - fontWeight: FontWeight.bold, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate('and more.', ''), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontSize: 16, - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - ], - ), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Explore statistics presented as smart metrics, graphs, and charts for better understanding.', - 'استكشاف الإحصائيات المقدمة على هيئة مقاييس ذكية ورسوم بيانية ومخططات لتعزيز الفهم.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '2. Drilldown Navigation:', '2. التنقل التفصيلي'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 7.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Start with high-level categories and drill down to specific KPIs and metrics for deeper insights.', - 'البدء بالفئات العامة والتنقل وصولًا إلى مؤشرات الأداء الرئيسية (KPIs) والمقاييس المحددة للحصول على رؤى أعمق.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate('3. Interactive Visualizations:', - '3. التصورات التفاعلية:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 7.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'View trends and relationships with interactive graphs and charts, including bar graphs, line charts, and more.', - 'عرض الاتجاهات والعلاقات باستخدام الرسوم البيانية التفاعلية مثل المخططات الشريطية، المخططات الخطية، وغيرها.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox( - height: 20, - ), + SizedBox(height: 20,), + // SizedBox( + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/appFeatures.png', + // fit: BoxFit.contain, + // ), + // ), + Padding(padding: const EdgeInsets.all(30.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + context.translate('1. Comprehensive Statistics:', + '1. رؤى مستندة إلى البيانات '), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 7.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 6.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Colors.black, + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate( + 'Access detailed datasets across categories such as ', + 'الوصول إلى مجموعات بيانات تفصيلية عبر فئات مثل الاقتصاد، البيئة، الاجتماعية، وغيرها.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontSize: 16, + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + 'Economy, Environment, Social, ', ''), + style: TextStyle( + fontWeight: FontWeight.bold, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate('and more.', ''), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontSize: 16, + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + ], + ), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Explore statistics presented as smart metrics, graphs, and charts for better understanding.', + 'استكشاف الإحصائيات المقدمة على هيئة مقاييس ذكية ورسوم بيانية ومخططات لتعزيز الفهم.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 30), + Text( + context.translate( + '2. Drilldown Navigation:', '2. التنقل التفصيلي'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 7.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Start with high-level categories and drill down to specific KPIs and metrics for deeper insights.', + 'البدء بالفئات العامة والتنقل وصولًا إلى مؤشرات الأداء الرئيسية (KPIs) والمقاييس المحددة للحصول على رؤى أعمق.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 30), + Text( + context.translate('3. Interactive Visualizations:', + '3. التصورات التفاعلية:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 7.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'View trends and relationships with interactive graphs and charts, including bar graphs, line charts, and more.', + 'عرض الاتجاهات والعلاقات باستخدام الرسوم البيانية التفاعلية مثل المخططات الشريطية، المخططات الخطية، وغيرها.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox( + height: 30, + ), + Text( + context.translate('4. Secure User Access:', + '4. الوصول الآمن للمستخدم:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 7.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), + Expanded( + child: Text( + context.translate( + 'Available only to registered users whose accounts have been approved by an admin.', + 'متاح فقط للمستخدمين المسجلين الذين تمت الموافقة على حساباتهم من قبل المسؤول.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), // Space between bullet and text + + + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Login ensures secure access to sensitive statistical information.', + 'يضمن تسجيل الدخول الوصول الآمن إلى المعلومات الإحصائية الحساسة.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox( + height: 30, + ), + Text( + context.translate('5. Profile Customization:', + '5. تخصيص الملف الشخصي:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 7.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), + Expanded( + child: Text( + context.translate( + 'Update your profile details, such as name, password, and region, to personalize your experience.', + 'قم بتحديث تفاصيل ملفك الشخصي، مثل الاسم وكلمة المرور والمنطقة، لتخصيص تجربتك.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), // Space between bullet and text + ], + ), + ], + ), + ), + ], + ),) ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/ChangeMyPassword.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/ChangeMyPassword.dart index 1599e202..095026d5 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/ChangeMyPassword.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/ChangeMyPassword.dart @@ -9,6 +9,7 @@ import 'package:uae_stat/config/toggle_lang_service.dart'; import 'package:uae_stat/domain/use_cases/language.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:uae_stat/presentation/components/indicators/locale_provider.dart'; class ChangeMyPassword extends ConsumerStatefulWidget { const ChangeMyPassword({super.key}); @@ -150,7 +151,7 @@ class _ChangeMyPasswordState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -181,487 +182,491 @@ class _ChangeMyPasswordState extends ConsumerState { ), ), ), - SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/changePassword.png', - fit: BoxFit.contain, - ), - ), - Text( - context.translate( - 'Changing your password helps keep your account secure. Follow these steps to update your password:', - 'يُساعد تغيير كلمة المرور في الحفاظ على أمان حسابك. اتبع هذه الخطوات لتحديث كلمة مرور', - ), - style: TextStyle( - color: isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - SizedBox(height: 12), - Text( - context.translate( - 'Steps to Change Password', 'خطوات تغيير كلمة المرور '), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 22, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '1. Access the Change Password Page:', - '1. الدخول إلى صفحة تغيير كلمة المرور:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate( - 'From the Profile page, tap on the ', - 'من صفحة الملف الشخصي، انقر على رابط ', - ), - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate( - '"Change Password"', - '"تغيير كلمة المرور" ', - ), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - ' link at the bottom.', - 'في الأسفل.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ], - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '2. Enter Old Password:', - '2. إدخال كلمة المرور القديمة:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Enter your current password in the first field.', - 'أدخل كلمة المرور الحالية في الحقل الأول.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '3. Set a New Password:', - '3. تعيين كلمة مرور جديدة:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Enter your new password in the second field.', - 'أدخل كلمة المرور الجديدة في الحقل الثاني.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Re-enter the new password in the third field for confirmation.', - 'أعد إدخال كلمة المرور الجديدة في الحقل الثالث للتأكيد.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '4. Password Requirements:', - '4. متطلبات كلمة المرور:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Your new password must be different from the previously used password.', - 'جب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '5. Save Your Password:', '5. حفظ كلمة المرور '), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate( - 'Tap the ', 'انقرعلى زر '), - style: TextStyle( - fontSize: 16, - // color: Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - children: [ - TextSpan( - text: context.translate('Save ', '"حفظ".'), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate('button', ''), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ], - ), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'A confirmation message will appear: “Password has been successfully updated.”', - 'ستظهر رسالة تأكيد: "تم تحديث كلمة المرور بنجاح".', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate('6. Re-Login:', '6. إعادة تسجيل الدخول'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Log in again using your new password to continue using the app', - 'قم بتسجيل الدخول مرة أخرى باستخدام كلمة المرور الجديدة للاستمرار في استخدام التطبيق.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - ), - ), - ), - ], - ), - ], - ), - ), SizedBox( height: 20, + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/changePassword.png', + // fit: BoxFit.contain, + // ), ), + Padding(padding: const EdgeInsets.all(30.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + context.translate( + 'Changing your password helps keep your account secure. Follow these steps to update your password:', + 'يُساعد تغيير كلمة المرور في الحفاظ على أمان حسابك. اتبع هذه الخطوات لتحديث كلمة مرور', + ), + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + SizedBox(height: 12), + Text( + context.translate( + 'Steps to Change Password', 'خطوات تغيير كلمة المرور '), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 22, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '1. Access the Change Password Page:', + '1. الدخول إلى صفحة تغيير كلمة المرور:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate( + 'From the Profile page, tap on the ', + 'من صفحة الملف الشخصي، انقر على رابط ', + ), + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + '"Change Password"', + '"تغيير كلمة المرور" ', + ), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' link at the bottom.', + 'في الأسفل.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ], + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '2. Enter Old Password:', + '2. إدخال كلمة المرور القديمة:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Enter your current password in the first field.', + 'أدخل كلمة المرور الحالية في الحقل الأول.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '3. Set a New Password:', + '3. تعيين كلمة مرور جديدة:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Enter your new password in the second field.', + 'أدخل كلمة المرور الجديدة في الحقل الثاني.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Re-enter the new password in the third field for confirmation.', + 'أعد إدخال كلمة المرور الجديدة في الحقل الثالث للتأكيد.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '4. Password Requirements:', + '4. متطلبات كلمة المرور:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Your new password must be different from the previously used password.', + 'جب أن تكون كلمة المرور الجديدة مختلفة عن كلمة المرور المستخدمة سابقًا', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '5. Save Your Password:', '5. حفظ كلمة المرور '), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate( + 'Tap the ', 'انقرعلى زر '), + style: TextStyle( + fontSize: 16, + // color: Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + children: [ + TextSpan( + text: context.translate('Save ', '"حفظ".'), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate('button', ''), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ], + ), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'A confirmation message will appear: “Password has been successfully updated.”', + 'ستظهر رسالة تأكيد: "تم تحديث كلمة المرور بنجاح".', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate('6. Re-Login:', '6. إعادة تسجيل الدخول'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Log in again using your new password to continue using the app', + 'قم بتسجيل الدخول مرة أخرى باستخدام كلمة المرور الجديدة للاستمرار في استخدام التطبيق.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ),) ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/EditMyProfile.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/EditMyProfile.dart index 8e31d68f..7b528dd3 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/EditMyProfile.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/EditMyProfile.dart @@ -8,7 +8,7 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; - +import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; class EditMyProfile extends ConsumerStatefulWidget { @@ -151,7 +151,7 @@ class _EditMyProfileState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -181,660 +181,547 @@ class _EditMyProfileState extends ConsumerState { ), ), SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/editProfile.png', - fit: BoxFit.contain, - ), + height: 10, + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/editProfile.png', + // fit: BoxFit.contain, + // ), ), - Text( - context.translate( - 'Editing your profile allows you to update specific information while ensuring that critical details remain secure. Follow the steps below to update your profile:', - 'يتيح لك تعديل ملف التعريف الخاص بك بتحديث معلومات معينة مع ضمان أن تبقى البيانات الحساسة آمنة. اتبع الخطوات التالية لتحديث ملفك الشخصي:', - ), - style: TextStyle( - color: isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - SizedBox(height: 12), - Text( - context.translate( - 'Steps to Edit Profile', 'خطوات تعديل الملف الشخصي '), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 22, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '1. Access the Profile Page:', - '1. الوصول إلى صفحة الملف الشخصي:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate('Tap on the ', - 'انقر على خيار "الملف الشخصي" من شريط التنقل في الزاوية العلوية اليسرى من الشاشة.'), - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate('"Profile"', ''), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - ' option from the navigation bar at the top left corner of the screen.', - '')) - ], - ), - )), - ], + Padding(padding: const EdgeInsets.all(30.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + context.translate( + 'Editing your profile allows you to update specific information while ensuring that critical details remain secure. Follow the steps below to update your profile:', + 'يتيح لك تعديل ملف التعريف الخاص بك بتحديث معلومات معينة مع ضمان أن تبقى البيانات الحساسة آمنة. اتبع الخطوات التالية لتحديث ملفك الشخصي:', ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '2. Editable Fields:', '2. الحقول القابلة للتعديل:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF898C81)), ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, + SizedBox(height: 12), + Text( + context.translate( + 'Steps to Edit Profile', 'خطوات تعديل الملف الشخصي '), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 22, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '1. Access the Profile Page:', + '1. الوصول إلى صفحة الملف الشخصي:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Colors.black, - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), ), - ), - children: [ - TextSpan( - text: context.translate( - 'Full Name:', 'الاسم الكامل: '), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - ' Tap the text box to enter your name (up to 40 alphanumeric characters).', - 'اضغط على مربع النص لإدخال اسمك (حتى 40 حرفًا أبجديًا رقميًا).', - ), - style: TextStyle( + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate('Tap on the ', + 'انقر على خيار "الملف الشخصي" من شريط التنقل في الزاوية العلوية اليسرى من الشاشة.'), + style: TextStyle( + fontSize: 16, color: isDarkTheme ? Colors.white - : Color(0xFF898C81))) - ], - ), - )), - ], - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Colors.black, - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate( - 'Date of Birth: ', 'تاريخ الميلاد: '), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate('"Profile"', ''), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' option from the navigation bar at the top left corner of the screen.', + '')) + ], ), - ), - ), - TextSpan( - text: context.translate( - ' Use the calendar dropdown to select your date of birth.', - 'استخدم القائمة المنسدلة لاختيار تاريخ ميلادك.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ) - ], - ), - )), - ], - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Colors.black, - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate( - 'Country/Region: ', - 'البلد/المنطقة:', - ), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - ' Choose your current location from the dropdown menu.', - 'اختر موقعك الحالي من القائمة المنسدلة.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ), - ], - ), - )), - ], - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon(Icons.brightness_1, - size: 5, - color: - isDarkTheme ? Colors.white : Colors.black), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate( - 'User Image: ', 'الصورة الشخصية:'), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - 'Tap on the avatar icon to upload or change your profile picture.', - 'اضغط على أيقونة رمزالصورة لتحميل أو تغيير صورة الملف الشخصي.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ), - ], - ), - )), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate('3. Non-Editable Fields:', - '3. الحقول غير القابلة للتعديل:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon(Icons.brightness_1, - size: 5, - color: - isDarkTheme ? Colors.white : Colors.black), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: context.translate('Username ', - 'اسم المستخدم وعنوان البريد الإلكتروني: '), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate('and ', ''), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate('Email Id: ', ''), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - 'These fields cannot be edited to ensure the integrity of your account.', - 'لا يمكن تعديل هذين الحقلين لضمان سلامة حسابك.', - ), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ), - ], - ), - )), - ], - ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate('4. Agree to Terms and Conditions:', - '4. الموافقة على الشروط والأحكام:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Colors.black, - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Ensure that the checkbox for "I agree to Terms & Conditions and Privacy Policy" is selected before saving changes.', - 'تأكد من تحديد خانة "أوافق على الشروط والأحكام وسياسة الخصوصية" قبل حفظ التغييرات.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ), + )), + ], ), ], ), - ], - ), - ), - SizedBox(height: 8), - Text( - context.translate( - '5. Save Your Changes:', '5. حفظ التغييرات:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Padding( - padding: const EdgeInsets.only(left: 8.0), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, + SizedBox(height: 8), + Text( + context.translate( + '2. Editable Fields:', '2. الحقول القابلة للتعديل:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate( - 'Tap the ', 'اضغط على زر '), - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Colors.black, ), - children: [ - TextSpan( - text: context.translate('Save', '"حفظ" '), - style: TextStyle( - fontWeight: FontWeight.w600, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate( - ' button at the bottom of the screen.', - 'أسفل الشاشة.', - ), - style: TextStyle( + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 16, color: isDarkTheme ? Colors.white - : Color(0xFF898C81)), - ) - ], - ), - ), + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + 'Full Name:', 'الاسم الكامل: '), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' Tap the text box to enter your name (up to 40 alphanumeric characters).', + 'اضغط على مربع النص لإدخال اسمك (حتى 40 حرفًا أبجديًا رقميًا).', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81))) + ], + ), + )), + ], ), - ], - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'A confirmation dialog will appear with the message: “Are you sure you want to save this page? Once saved, you will not be able to change your name or date of birth.”', - 'ستظهر نافذة تأكيد برسالة:"هل أنت متأكد أنك تريد حفظ هذه الصفحة؟ بمجرد الحفظ، لن تتمكن من تغيير اسمك أو تاريخ ميلادك."', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate('Select ', - 'اختر "تأكيد" لحفظ التغييرات أو "إلغاء" للرجوع.'), - style: TextStyle( - fontSize: 16, - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Colors.black, ), - children: [ - TextSpan( - text: context.translate('Confirm', ''), - style: TextStyle( - fontWeight: FontWeight.w600, + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + 'Date of Birth: ', 'تاريخ الميلاد: '), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' Use the calendar dropdown to select your date of birth.', + 'استخدم القائمة المنسدلة لاختيار تاريخ ميلادك.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ) + ], + ), + )), + ], + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Colors.black, + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + 'Country/Region: ', + 'البلد/المنطقة:', + ), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' Choose your current location from the dropdown menu.', + 'اختر موقعك الحالي من القائمة المنسدلة.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ), + ], + ), + )), + ], + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon(Icons.brightness_1, + size: 5, + color: + isDarkTheme ? Colors.white : Colors.black), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate( + 'User Image: ', 'الصورة الشخصية:'), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + 'Tap on the avatar icon to upload or change your profile picture.', + 'اضغط على أيقونة رمزالصورة لتحميل أو تغيير صورة الملف الشخصي.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ), + ], + ), + )), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate('3. Non-Editable Fields:', + '3. الحقول غير القابلة للتعديل:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon(Icons.brightness_1, + size: 5, + color: + isDarkTheme ? Colors.white : Colors.black), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + children: [ + TextSpan( + text: context.translate('Username ', + 'اسم المستخدم وعنوان البريد الإلكتروني: '), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate('and ', ''), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate('Email Id: ', ''), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + 'These fields cannot be edited to ensure the integrity of your account.', + 'لا يمكن تعديل هذين الحقلين لضمان سلامة حسابك.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ), + ], + ), + )), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate('4. Agree to Terms and Conditions:', + '4. الموافقة على الشروط والأحكام:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Colors.black, + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Ensure that the checkbox for "I agree to Terms & Conditions and Privacy Policy" is selected before saving changes.', + 'تأكد من تحديد خانة "أوافق على الشروط والأحكام وسياسة الخصوصية" قبل حفظ التغييرات.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( color: isDarkTheme ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( + : Color(0xFF898C81)), + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 8), + Text( + context.translate( + '5. Save Your Changes:', '5. حفظ التغييرات:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( text: context.translate( - ' to save the changes', ''), + 'Tap the ', 'اضغط على زر '), style: TextStyle( fontSize: 16, color: isDarkTheme @@ -845,22 +732,87 @@ class _EditMyProfileState extends ConsumerState { 'NotoKufi', ), ), + children: [ + TextSpan( + text: context.translate('Save', '"حفظ" '), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' button at the bottom of the screen.', + 'أسفل الشاشة.', + ), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ) + ], ), - TextSpan( - text: context.translate(' Cancel', ''), - style: TextStyle( - fontWeight: FontWeight.w600, + ), + ), + ], + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'A confirmation dialog will appear with the message: “Are you sure you want to save this page? Once saved, you will not be able to change your name or date of birth.”', + 'ستظهر نافذة تأكيد برسالة:"هل أنت متأكد أنك تريد حفظ هذه الصفحة؟ بمجرد الحفظ، لن تتمكن من تغيير اسمك أو تاريخ ميلادك."', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( color: isDarkTheme ? Colors.white - : Color(0xFF414042), - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - ), - TextSpan( - text: context.translate(' to go back.', ''), + : Color(0xFF898C81)), + ), + ), + ], + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate('Select ', + 'اختر "تأكيد" لحفظ التغييرات أو "إلغاء" للرجوع.'), style: TextStyle( fontSize: 16, color: isDarkTheme @@ -871,19 +823,72 @@ class _EditMyProfileState extends ConsumerState { 'NotoKufi', ), ), + children: [ + TextSpan( + text: context.translate('Confirm', ''), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + ' to save the changes', ''), + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate(' Cancel', ''), + style: TextStyle( + fontWeight: FontWeight.w600, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate(' to go back.', ''), + style: TextStyle( + fontSize: 16, + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + ], ), - ], + ), ), - ), + ], ), ], ), - ], - ), - ), - SizedBox( - height: 20, - ), + ), + ], + ),) + ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/howUseTheApp.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/howUseTheApp.dart index 1481abe2..ed9d8209 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/howUseTheApp.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/howUseTheApp.dart @@ -8,7 +8,8 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.dart'; - +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:uae_stat/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; class HowUseTheApp extends ConsumerStatefulWidget { @@ -152,7 +153,7 @@ class _HowUseTheAppState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -182,191 +183,196 @@ class _HowUseTheAppState extends ConsumerState { ), ), SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/howUse.png', - fit: BoxFit.contain, - ), + height:10, + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/howUse.png', + // fit: BoxFit.contain, + // ), ), - Text( - context.translate( - '1. Registration and Approval:', - '1. التسجيل والموافقة:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Row( + Padding( + padding: const EdgeInsets.all(30.0), + child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), + Text( + context.translate( + '1. Registration and Approval:', + '1. التسجيل والموافقة:', ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Sign up for the app and wait for admin approval.', - 'قم بالتسجيل في التطبيق وانتظر الموافقة من الإدارة.', + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, ), ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Sign up for the app and wait for admin approval.', + 'قم بالتسجيل في التطبيق وانتظر الموافقة من الإدارة.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], + ), + SizedBox(height: 8), + Text( + context.translate( + '2. Login and Navigation:', + '2. تسجيل الدخول والتصفح:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Once approved, log in to access the app. Navigate through the categories on the home screen.', + 'بعد الموافقة، قم بتسجيل الدخول للوصول إلى التطبيق. تصفح الفئات المختلفة على الشاشة الرئيسية.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], + ), + SizedBox(height: 8), + Text( + context.translate( + '3. Access Data:', + '3. الوصول إلى البيانات:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Drill down into specific categories like "Economy" or "Environment" to view detailed KPIs and visual insights.', + 'قم بالتعمق في الفئات المحددة مثل "الاقتصاد" أو "البيئة" لعرض مؤشرات الأداء الرئيسية والرؤى المرئية بالتفصيل.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], + ), + SizedBox(height: 8), + Text( + context.translate( + '4. Bookmark Metrics:', + '4. وضع إشارة مرجعية للمقاييس:', + ), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, + ), + ), + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Save important statistics for easy reference.', + 'احفظ الإحصائيات المهمة للرجوع إليها بسهولة.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], + ), ], - ), - SizedBox(height: 8), - Text( - context.translate( - '2. Login and Navigation:', - '2. تسجيل الدخول والتصفح:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Once approved, log in to access the app. Navigate through the categories on the home screen.', - 'بعد الموافقة، قم بتسجيل الدخول للوصول إلى التطبيق. تصفح الفئات المختلفة على الشاشة الرئيسية.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox(height: 8), - Text( - context.translate( - '3. Access Data:', - '3. الوصول إلى البيانات:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Drill down into specific categories like "Economy" or "Environment" to view detailed KPIs and visual insights.', - 'قم بالتعمق في الفئات المحددة مثل "الاقتصاد" أو "البيئة" لعرض مؤشرات الأداء الرئيسية والرؤى المرئية بالتفصيل.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox(height: 8), - Text( - context.translate( - '4. Bookmark Metrics:', - '4. وضع إشارة مرجعية للمقاييس:', - ), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Drill down into specific categories like "Economy" or "Environment" to view detailed KPIs and visual insights.', - 'احفظ الإحصائيات المهمة للرجوع إليها بسهولة.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox( - height: 20, - ), + ),) ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/purpose.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/purpose.dart index 40b826c7..f40fdd86 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/purpose.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/purpose.dart @@ -8,8 +8,10 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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'; class Purpose extends ConsumerStatefulWidget { const Purpose({super.key}); @@ -152,7 +154,7 @@ class _PurposeState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -181,128 +183,132 @@ class _PurposeState extends ConsumerState { ), ), SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/purpose.png', - fit: BoxFit.contain, - ), + height: 10, + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/purpose.png', + // fit: BoxFit.contain, + // ), ), - SizedBox(height: 8), - Row( + Padding(padding: const EdgeInsets.all(30.0), + child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: RichText( - text: TextSpan( - text: context.translate( - 'Provide ', - 'توفير الإحصائيات الرسمية لدولة الإمارات بشكل سهل الوصول.', + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), ), - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81), - fontSize: 16, - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - ), - children: [ - TextSpan( - text: - context.translate('official statistics ', ''), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: RichText( + text: TextSpan( + text: context.translate( + 'Provide ', + 'توفير الإحصائيات الرسمية لدولة الإمارات بشكل سهل الوصول.', + ), style: TextStyle( - fontWeight: FontWeight.bold, - color: isDarkTheme - ? Colors.white - : Color(0xFF414042), + color: + isDarkTheme ? Colors.white : Color(0xFF898C81), + fontSize: 16, fontFamily: context.translate( 'Roboto', 'NotoKufi', ), ), + children: [ + TextSpan( + text: + context.translate('official statistics ', ''), + style: TextStyle( + fontWeight: FontWeight.bold, + color: isDarkTheme + ? Colors.white + : Color(0xFF414042), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ), + ), + ), + TextSpan( + text: context.translate( + 'on the UAE in an accessible format.', ''), + style: TextStyle( + color: isDarkTheme + ? Colors.white + : Color(0xFF898C81)), + ), + ], ), - TextSpan( - text: context.translate( - 'on the UAE in an accessible format.', ''), - style: TextStyle( - color: isDarkTheme - ? Colors.white - : Color(0xFF898C81)), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Support decision-making and research with reliable, up-to-date data.', + 'دعم اتخاذ القرارات والبحوث من خلال بيانات موثوقة ومحدثة.', ), - ], - ), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Support decision-making and research with reliable, up-to-date data.', - 'دعم اتخاذ القرارات والبحوث من خلال بيانات موثوقة ومحدثة.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Enable users to interact with data visually through graphs and metrics.', - 'تمكين المستخدمين من التفاعل مع البيانات بصريًا من خلال الرسوم البيانية والمقاييس.', + ), ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Enable users to interact with data visually through graphs and metrics.', + 'تمكين المستخدمين من التفاعل مع البيانات بصريًا من خلال الرسوم البيانية والمقاييس.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), + ), + ), + ], ), ], - ), - SizedBox( - height: 20, - ), + ),) + ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/stayUpdate.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/stayUpdate.dart index 075d11fb..dea5d00b 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/stayUpdate.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/stayUpdate.dart @@ -7,9 +7,10 @@ import 'package:uae_stat/config/api_config.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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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'; class StayUpdate extends ConsumerStatefulWidget { const StayUpdate({super.key}); @@ -150,7 +151,7 @@ class _StayUpdateState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -179,44 +180,45 @@ class _StayUpdateState extends ConsumerState { ), ), SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/stayUpdate.png', - fit: BoxFit.contain, + height: 10, + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/stayUpdate.png', + // fit: BoxFit.contain, + // ), + ), + Padding( + padding: const EdgeInsets.all(30), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Padding( + // padding: const EdgeInsets.only(top: 8.0), + // child: Icon( + // Icons.brightness_1, + // size: 5, + // color: isDarkTheme ? Colors.white : Color(0xFF414042), + // ), + // ), // Bullet point + // SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'The app regularly updates datasets and features to reflect the latest information. Notifications will alert you about new data or improvements.', + 'يتم تحديث مجموعات البيانات وميزات التطبيق بانتظام لتعكس أحدث المعلومات. ستتلقى إشعارات تنبهك حول البيانات الجديدة والتحسينات.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], ), ), - SizedBox(height: 8), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'The app regularly updates datasets and features to reflect the latest information. Notifications will alert you about new data or improvements.', - 'يتم تحديث مجموعات البيانات وميزات التطبيق بانتظام لتعكس أحدث المعلومات. ستتلقى إشعارات تنبهك حول البيانات الجديدة والتحسينات.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox( - height: 20, - ), + ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/useTheApp.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/useTheApp.dart index 07f52b67..249bdfff 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/useTheApp.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/KeyFeatures/useTheApp.dart @@ -8,7 +8,9 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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'; class WhoUseTheApp extends ConsumerStatefulWidget { const WhoUseTheApp({super.key}); @@ -150,7 +152,7 @@ class _WhoUseTheAppState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -167,7 +169,7 @@ class _WhoUseTheAppState extends ConsumerState { alignment: Alignment.topLeft, child: Text( context.translate( - 'Who can use the App?', 'من يمكنه استخدام التطبيق؟'), + 'Who can use the App', 'من يمكنه استخدام التطبيق؟'), style: TextStyle( fontFamily: context.translate( 'Roboto', @@ -179,112 +181,118 @@ class _WhoUseTheAppState extends ConsumerState { ), ), ), - SizedBox( - width: MediaQuery.of(context).size.width, - height: MediaQuery.of(context).size.height * 0.36, - child: Image.asset( - 'assets/user_guide/whoUse.png', - fit: BoxFit.contain, - ), - ), - Text( - context.translate( - 'This app is intended for:', 'يستهدف هذا التطبيق:'), - style: TextStyle( - fontFamily: context.translate( - 'Roboto', - 'NotoKufi', - ), - fontSize: 16, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - fontWeight: FontWeight.w600, - ), - ), - SizedBox(height: 8), - Row( + SizedBox(height: 10), + // SizedBox( + // width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height * 0.36, + // child: Image.asset( + // 'assets/user_guide/whoUse.png', + // fit: BoxFit.contain, + // ), + // ), + Padding( + padding: const EdgeInsets.all(30.0), + child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Government officials requiring UAE statistics for decision-making.', - 'المسؤولين الحكوميين الذين يحتاجون إلى إحصاءات دولة الإمارات العربية المتحدة لاتخاذ القرارات.', + Text( + context.translate( + 'This app is intended for:', 'يستهدف هذا التطبيق:'), + style: TextStyle( + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), + fontSize: 16, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + fontWeight: FontWeight.w600, ), ), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Business professionals and researchers analyzing market trends.', - 'المتخصصين في مجال الأعمال والباحثين الذين يقومون بتحليل اتجاهات السوق.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: + SizedBox(height: 8), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Government officials requiring UAE statistics for decision-making.', + 'المسؤولين الحكوميين الذين يحتاجون إلى إحصاءات دولة الإمارات العربية المتحدة لاتخاذ القرارات.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Business professionals and researchers analyzing market trends.', + 'المتخصصين في مجال الأعمال والباحثين الذين يقومون بتحليل اتجاهات السوق.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Icon( + Icons.brightness_1, + size: 5, + color: isDarkTheme ? Colors.white : Color(0xFF414042), + ), + ), // Bullet point + SizedBox(width: 8), // Space between bullet and text + Expanded( + child: Text( + context.translate( + 'Students and educators needing reliable data for study and teaching.', + 'الطلاب والمعلمين الذين يحتاجون إلى بيانات موثوقة للدراسة والتعليم.', + ), + textAlign: TextAlign.justify, // Align the text + softWrap: true, + style: TextStyle( + color: + isDarkTheme ? Colors.white : Color(0xFF898C81)), + ), + ), + ], ), ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Icon( - Icons.brightness_1, - size: 5, - color: isDarkTheme ? Colors.white : Color(0xFF414042), - ), - ), // Bullet point - SizedBox(width: 8), // Space between bullet and text - Expanded( - child: Text( - context.translate( - 'Students and educators needing reliable data for study and teaching.', - 'الطلاب والمعلمين الذين يحتاجون إلى بيانات موثوقة للدراسة والتعليم.', - ), - textAlign: TextAlign.justify, // Align the text - softWrap: true, - style: TextStyle( - color: - isDarkTheme ? Colors.white : Color(0xFF898C81)), - ), - ), - ], - ), - SizedBox( - height: 20, - ), + ),) + ], ), ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/aboutApp.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/aboutApp.dart index 2a9bea1d..6df33714 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/aboutApp.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/aboutApp.dart @@ -9,7 +9,10 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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'; + class aboutTheApp extends ConsumerStatefulWidget { const aboutTheApp({super.key}); @@ -132,7 +135,7 @@ class _aboutTheAppState extends ConsumerState { 'Roboto', 'NotoKufi', ), - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/faq_page.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/faq_page.dart index f8c12d68..d4d0bace 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/faq_page.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/faq_page.dart @@ -8,7 +8,10 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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'; + class FAQPage extends ConsumerStatefulWidget { const FAQPage({super.key}); @@ -130,7 +133,7 @@ class _FAQPageState extends ConsumerState { 'NotoKufi', ), fontSize: 22, - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black , fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), @@ -932,7 +935,7 @@ class _QuestionAnswerCardState extends State { trailing: Icon(isExpanded ? Icons.keyboard_arrow_up : Icons.keyboard_arrow_down), - iconColor: widget.isDarkTheme ? Colors.white : Color(0xFF414042), + iconColor: widget.isDarkTheme ? Colors.white : Color(0xFF898C81), onTap: () { setState(() { isExpanded = !isExpanded; diff --git a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/features.dart b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/features.dart index dfbe6fac..f82f2307 100755 --- a/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/features.dart +++ b/lib/presentation/routes/drawer_routes/Drawer Items/user_guide/features.dart @@ -9,8 +9,9 @@ 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:uae_stat/presentation/Screens/Bottom%20Navigation%20Pages/Country_Profile/country_profile.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/infrastructure/services/img_asset_paths/banner_asset_path.dart'; class UsingFeatures extends ConsumerStatefulWidget { @@ -135,7 +136,7 @@ class _UsingFeaturesState extends ConsumerState { 'Roboto', 'NotoKufi', ), - color: Color(0xFF7DAFBC), + color: isDarkTheme ? Colors.white : Colors.black, fontWeight: FontWeight.w500, // fontWeight: FontWeight.w500, ), 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 d9554040..b5638e72 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,11 +4,12 @@ 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/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:flutter_gen/gen_l10n/app_localizations.dart'; // import 'package:uae_stat/l10n/app_localizations.dart'; class Userguide extends ConsumerStatefulWidget { @@ -108,7 +109,12 @@ class _UserguideState extends ConsumerState { bottomColor: isDarkTheme ? Color(0xFF111111) : Colors.white, dividerColor: isDarkTheme ? Color(0xFF111111) : Colors.grey[300], appbarColor: isDarkTheme ? Color(0xFF111111) : Colors.white, - title: Text(AppLocalizations.of(context)!.guide_title,style: TextStyle(color: isDarkTheme ? Colors.white : Color(0xFF414042) ),), + title: Text( + AppLocalizations.of(context)!.guide_title, + style: TextStyle( + color: isDarkTheme ? Colors.white : Color(0xFF414042) + ) + ), body: Container( color: isDarkTheme ? Color(0xFF111111) : Colors.white, padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20), @@ -175,7 +181,8 @@ class _HoverContainerState extends ConsumerState { width: screenWidth * 0.30, margin: EdgeInsets.all(1), decoration: BoxDecoration( - color: isDarkTheme ? Color(0xFF111111) : Colors.white, + color: isDarkTheme ? Color(0xFF111111) : Colors.white, + borderRadius: BorderRadius.circular(10), boxShadow: isHovered ? [ @@ -187,7 +194,8 @@ class _HoverContainerState extends ConsumerState { ), ] : [], - border: Border.all(color: Color(0xFF7DAFBC), width: 1.0), + // border: Border.all(color: Color(0xFF7DAFBC), width: 1.0), + border: Border.all(color: Color(0xFFB68A34), width: 1.0), ), alignment: Alignment.center, // duration: Duration(milliseconds: 200), @@ -200,7 +208,8 @@ class _HoverContainerState extends ConsumerState { children: [ IconifyIcon( icon: widget.iconName, - color: Color(0xFF7DAFBC), + // color: Color(0xFF7DAFBC), + color: Color(0xFFB68A34), size: containerHeight * 0.45, ), // buildDynamicWidget(data['icon'], Color(0xFF7DAFBC)), @@ -213,9 +222,9 @@ class _HoverContainerState extends ConsumerState { padding: EdgeInsets.symmetric(horizontal: 4, vertical: 4), margin: EdgeInsets.only(bottom: 3), decoration: BoxDecoration( - color: Color(0xFF7DAFBC), + color: Color(0xFFB68A34), borderRadius: BorderRadius.circular(5), - border: Border.all(color: Color(0xFF7DAFBC))), + border: Border.all(color: Color(0xFFB68A34))), child: Text( widget.title, style: TextStyle( diff --git a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart index cb4292a1..fe40b637 100644 --- a/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart +++ b/lib/presentation/routes/drawer_routes/custom_drawer_routes.dart @@ -11,6 +11,7 @@ import 'package:go_router/go_router.dart'; 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'; @@ -23,6 +24,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/presentation/components/indicators/locale_provider.dart'; import 'package:uae_stat/presentation/components/my_toggle.dart'; @@ -245,7 +247,8 @@ class _BaseScaffoldState extends ConsumerState { child: IconButton( icon: const Icon( Icons.arrow_back, - color: Colors.white, + // color: Colors.white, + color: Colors.grey, ), onPressed: () { if (locale.languageCode == 'ar') { @@ -403,7 +406,8 @@ class _BaseScaffoldState extends ConsumerState { child: IconButton( icon: const Icon( Icons.arrow_back, - color: Colors.white, + // color: Colors.white, + color: Colors.grey, ), onPressed: () { locale.languageCode == 'ar' @@ -569,7 +573,8 @@ class _BaseScaffoldState extends ConsumerState { locale.languageCode == 'ar' ? Icons.arrow_forward : Icons.arrow_back, - color: Colors.white, + // color: Colors.white, + color: Colors.grey, ), onPressed: () { tutorialCoachMark.previous(); @@ -983,7 +988,7 @@ class _BaseScaffoldState extends ConsumerState { scrolledUnderElevation: 0, titleSpacing: 0, flexibleSpace: Container( - decoration: BoxDecoration( + decoration: BoxDecoration( color: isDarkTheme ? Color(0xFF000000) : Color(0xFFFFFFFF), ), ), @@ -1056,14 +1061,14 @@ class _BaseScaffoldState extends ConsumerState { padding: EdgeInsets.zero, constraints: BoxConstraints(), // color: widget.colorChange ? Colors.white : Colors.black, - color: isDarkTheme - ? widget.colorChange - ? Colors.black - : Colors.white - : widget.colorChange - ? Colors.white - : Colors.black, - + // color: isDarkTheme + // ? widget.colorChange + // ? Colors.black + // : Colors.white + // : widget.colorChange + // ? Colors.white + // : Colors.black, + color: Colors.grey, icon: const Icon(Icons.arrow_back_ios_new, size: 24), onPressed: () { if (widget.navBackArrow is Text && @@ -1418,7 +1423,6 @@ class _BaseScaffoldState extends ConsumerState { ), onTap: () => context.go('/register'), ), - ], ), ), diff --git a/pubspec.lock b/pubspec.lock index c230560d..0b61b6cb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -433,6 +433,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" + dotted_border: + dependency: "direct main" + description: + name: dotted_border + sha256: "108837e11848ca776c53b30bc870086f84b62ed6e01c503ed976e8f8c7df9c04" + url: "https://pub.dev" + source: hosted + version: "2.1.0" equatable: dependency: transitive description: @@ -1156,6 +1164,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_drawing: + dependency: transitive + description: + name: path_drawing + sha256: bbb1934c0cbb03091af082a6389ca2080345291ef07a5fa6d6e078ba8682f977 + url: "https://pub.dev" + source: hosted + version: "1.0.1" path_parsing: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 87d6288d..b5ab16c7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,6 +76,7 @@ dependencies: android_intent_plus: ^5.3.0 app_settings: ^6.1.1 appsflyer_sdk: ^6.16.2 + dotted_border: ^2.1.0 dependency_overrides: fading_edge_scrollview: ^4.1.1 @@ -162,6 +163,8 @@ flutter: - assets/country-profile/ - assets/country-profile/CategoryFile/ - assets/competitiveness/ + - assets/icons/uae_numbers/ShareDark.png + - assets/icons/uae_numbers/ShareLight.png fonts: - family: Segoe