From 4b800042a8c952cf103e9ef78792c97fb21005cc Mon Sep 17 00:00:00 2001 From: Juki-shiba Date: Tue, 3 Jun 2025 18:58:11 +0530 Subject: [PATCH] country profile ph-3 --- .../arm64-v8a/configure_fingerprint.bin | 24 +- .../armeabi-v7a/configure_fingerprint.bin | 24 +- .../m4rj1019/x86/configure_fingerprint.bin | 24 +- .../m4rj1019/x86_64/configure_fingerprint.bin | 24 +- assets/country-profile/alberto.png | Bin 0 -> 18853 bytes .../DetailedCountryProfilePage.dart | 481 +++++++++++++++--- pubspec.yaml | 1 + 7 files changed, 450 insertions(+), 128 deletions(-) create mode 100644 assets/country-profile/alberto.png diff --git a/android/app/.cxx/Debug/m4rj1019/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/Debug/m4rj1019/arm64-v8a/configure_fingerprint.bin index f2d36262..0e10e2c5 100644 --- a/android/app/.cxx/Debug/m4rj1019/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/m4rj1019/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logd b `C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  Ҷ2a +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  Ҷ2a _ -]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build.json  2 축2f +]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build.json  2 축2f d -bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build_mini.json  2 2S +bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build_mini.json  2 2S Q -OC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build.ninja  2 2W +OC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build.ninja  2 2W U -SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build.ninja.txt  2\ +SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build.ninja.txt  2\ Z -XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build_file_index.txt  2 S 2] +XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\build_file_index.txt  2 S 2] [ -YC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\compile_commands.json  2a +YC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\compile_commands.json  2a _ -]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\compile_commands.json.bin  2 g +]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\compile_commands.json.bin  2 g e -cC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\metadata_generation_command.txt  2 +cC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\metadata_generation_command.txt  2  2Z X -VC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\prefab_config.json  2  ( 2_ +VC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\prefab_config.json  2  ( 2_ ] -[C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\symbol_folder_index.txt  2  R 2W +[C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\symbol_folder_index.txt  2  R 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/m4rj1019/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/Debug/m4rj1019/armeabi-v7a/configure_fingerprint.bin index 44aa031b..c844b3b2 100644 --- a/android/app/.cxx/Debug/m4rj1019/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/m4rj1019/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logf d bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  հ2  ږ2c +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  ږ2c a -_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\android_gradle_build.json  ְ2 얖2h +_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\android_gradle_build.json  2 얖2h f -dC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\android_gradle_build_mini.json  ְ2 2U +dC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\android_gradle_build_mini.json  2 2U S -QC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build.ninja  ְ2 2Y +QC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build.ninja  2 2Y W -UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build.ninja.txt  ְ2^ +UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build.ninja.txt  2^ \ -ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build_file_index.txt  ְ2 S 2_ +ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\build_file_index.txt  2 S 2_ ] -[C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\compile_commands.json  ְ2c +[C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\compile_commands.json  2c a -_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\compile_commands.json.bin  ְ2 i +_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\compile_commands.json.bin  2 i g -eC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\metadata_generation_command.txt  ְ2 +eC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\metadata_generation_command.txt  2  ט2\ Z -XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\prefab_config.json  ְ2  ( 2a +XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\prefab_config.json  2  ( 2a _ -]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\symbol_folder_index.txt  ְ2  T 2W +]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\symbol_folder_index.txt  2  T 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ְ2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/m4rj1019/x86/configure_fingerprint.bin b/android/app/.cxx/Debug/m4rj1019/x86/configure_fingerprint.bin index 9a8d3cbb..e49513ed 100644 --- a/android/app/.cxx/Debug/m4rj1019/x86/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/m4rj1019/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log^ \ ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2[ +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ё2  2[ Y -WC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\android_gradle_build.json  2 2` +WC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\android_gradle_build.json  ґ2 2` ^ -\C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\android_gradle_build_mini.json  2 2M +\C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\android_gradle_build_mini.json  ґ2 2M K -IC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build.ninja  2 2Q +IC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build.ninja  ґ2 2Q O -MC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build.ninja.txt  2V +MC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build.ninja.txt  ґ2V T -RC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build_file_index.txt  2 S 2W +RC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\build_file_index.txt  ґ2 S 2W U -SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\compile_commands.json  2[ +SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\compile_commands.json  ґ2[ Y -WC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\compile_commands.json.bin  2 a +WC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\compile_commands.json.bin  ґ2 a _ -]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\metadata_generation_command.txt  2 +]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\metadata_generation_command.txt  ґ2  2T R -PC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\prefab_config.json  2  ( 2Y +PC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\prefab_config.json  ґ2  ( 2Y W -UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\symbol_folder_index.txt  2  L 2W +UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\symbol_folder_index.txt  ґ2  L 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ґ2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/m4rj1019/x86_64/configure_fingerprint.bin b/android/app/.cxx/Debug/m4rj1019/x86_64/configure_fingerprint.bin index 9bfdc5f9..2b50ba2e 100644 --- a/android/app/.cxx/Debug/m4rj1019/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/m4rj1019/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Loga _ ]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2^ +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  2^ \ -ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\android_gradle_build.json  2 2c +ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\android_gradle_build.json  2 2c a -_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\android_gradle_build_mini.json  2 2P +_C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\android_gradle_build_mini.json  2 2P N -LC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build.ninja  2 炗2T +LC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build.ninja  2 炗2T R -PC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build.ninja.txt  2Y +PC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build.ninja.txt  2Y W -UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build_file_index.txt  2 S 2Z +UC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\build_file_index.txt  2 S 2Z X -VC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\compile_commands.json  2^ +VC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\compile_commands.json  2^ \ -ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\compile_commands.json.bin  2 d +ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\compile_commands.json.bin  2 d b -`C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\metadata_generation_command.txt  2 +`C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\metadata_generation_command.txt  2  2W U -SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\prefab_config.json  2  ( 2\ +SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\prefab_config.json  2  ( 2\ Z -XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\symbol_folder_index.txt  2  O 2W +XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\symbol_folder_index.txt  2  O 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/assets/country-profile/alberto.png b/assets/country-profile/alberto.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5b7bc118d81d7fd57662a6614b869917c908e1 GIT binary patch literal 18853 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 showCategoryPopup(context, 'Demography'), ), _CategoryButton( title: 'GDP', - color: Color(0xFFAEC6CF), - onTap: () { - // Add GDP popup or navigation - }, + color: const Color(0xFFAEC6CF), + onTap: () => showCategoryPopup(context, 'GDP'), ), _CategoryButton( title: 'FDI', - color: Color(0xFFD7AFAF), - onTap: () => _showFDIPopup(context), + color: const Color(0xFFD7AFAF), + onTap: () => showCategoryPopup(context, 'FDI'), ), _CategoryButton( title: 'Trade', - color: Color(0xFFAFCFAF), - onTap: () => _showTradePopup(context), + color: const Color(0xFFAFCFAF), + onTap: () => showCategoryPopup(context, 'Trade'), ), _CategoryButton( title: 'Bilateral Trade', - color: Color(0xFF9FAFCF), - onTap: () { - // Add Bilateral Trade popup or navigation - }, + color: const Color(0xFF9FAFCF), + onTap: () => showCategoryPopup(context, 'Bilateral Trade'), ), ], ) @@ -120,50 +116,112 @@ class DetailedCountryProfilePage extends StatelessWidget { ); } } - -class _LeaderCard extends StatelessWidget { +class _GDPItem extends StatelessWidget { final String title; - final String name; + final String value; + final String rank; + + const _GDPItem({ + required this.title, + required this.value, + required this.rank, + }); + + @override + Widget build(BuildContext context) { + return Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(title, style: TextStyle(color: Colors.grey)), + SizedBox(height: 4), + Row( + children: [ + Text( + value, + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + SizedBox(width: 8), + Text( + '$rank ↓', + style: TextStyle(color: Colors.red, fontSize: 12), + ), + SizedBox(width: 4), + Text('Rank', style: TextStyle(fontSize: 10, color: Colors.grey)), + ], + ), + ], + ), + ), + ], + ); + } +} +class _LeaderCard extends StatelessWidget { final String imagePath; + final String name; + final String position; const _LeaderCard({ Key? key, - required this.title, - required this.name, required this.imagePath, + required this.name, + required this.position, }) : super(key: key); @override Widget build(BuildContext context) { - return SizedBox( - width: 160, - child: Column( + return Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.grey.shade300, + blurRadius: 4, + offset: const Offset(0, 2), + ), + ], + ), + child: Row( children: [ ClipRRect( borderRadius: BorderRadius.circular(8), child: Image.asset( imagePath, - width: 160, - height: 120, + width: 70, + height: 80, fit: BoxFit.cover, ), ), - const SizedBox(height: 8), - Text( - title, - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 13, - color: Colors.black54, - ), - ), - const SizedBox(height: 4), - Text( - name, - textAlign: TextAlign.center, - style: const TextStyle( - fontSize: 14, - fontWeight: FontWeight.w600, + const SizedBox(width: 8), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + position, + style: TextStyle( + fontSize: 10, + color: Colors.grey.shade600, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 2), + Text( + name, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 12, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ], ), ), ], @@ -171,7 +229,6 @@ class _LeaderCard extends StatelessWidget { ); } } - class _CategoryButton extends StatelessWidget { final String title; final Color color; @@ -189,11 +246,11 @@ class _CategoryButton extends StatelessWidget { return GestureDetector( onTap: onTap, child: Container( - width: 160, - height: 70, + width: 178.34, + height: 112.59, decoration: BoxDecoration( color: color, - borderRadius: BorderRadius.circular(16), + borderRadius: BorderRadius.circular(20), ), alignment: Alignment.center, child: Text( @@ -209,24 +266,288 @@ class _CategoryButton extends StatelessWidget { ); } } -void _showTradePopup(BuildContext context) { +class CategoryPopupContent extends StatelessWidget { + final String category; + + const CategoryPopupContent({super.key, required this.category}); + + @override + Widget build(BuildContext context) { + switch (category) { + case 'Demography': + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 5, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + ), + const SizedBox(height: 16), + const Text( + 'GDP Overview', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _GDPItem( + title: '2021 Nominal GDP (AED)', + value: '1.8 T', + rank: '26', + ), + Divider(), + _GDPItem( + title: '2021 Real GDP (AED)', + value: '2.08 T', + rank: '22', + ), + Divider(), + _GDPItem( + title: '2021 GDP Per Capita (AED)', + value: '39.38 K', + rank: '64', + ), + Divider(), + const SizedBox(height: 8), + const Text( + 'Income Level', + style: TextStyle(color: Colors.grey), + ), + const SizedBox(height: 4), + const Text( + 'Upper Middle Income', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + const SizedBox(height: 16), + ], + ); + case 'GDP': + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 5, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + ), + const SizedBox(height: 16), + const Text( + 'GDP Overview', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _GDPItem( + title: '2021 Nominal GDP (AED)', + value: '1.8 T', + rank: '26', + ), + Divider(), + _GDPItem( + title: '2021 Real GDP (AED)', + value: '2.08 T', + rank: '22', + ), + Divider(), + _GDPItem( + title: '2021 GDP Per Capita (AED)', + value: '39.38 K', + rank: '64', + ), + Divider(), + const SizedBox(height: 8), + const Text( + 'Income Level', + style: TextStyle(color: Colors.grey), + ), + const SizedBox(height: 4), + const Text( + 'Upper Middle Income', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + const SizedBox(height: 16), + ], + ); + case 'FDI': + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 5, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + ), + const SizedBox(height: 16), + const Text( + 'GDP Overview', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _GDPItem( + title: '2021 Nominal GDP (AED)', + value: '1.8 T', + rank: '26', + ), + Divider(), + _GDPItem( + title: '2021 Real GDP (AED)', + value: '2.08 T', + rank: '22', + ), + Divider(), + _GDPItem( + title: '2021 GDP Per Capita (AED)', + value: '39.38 K', + rank: '64', + ), + Divider(), + const SizedBox(height: 8), + const Text( + 'Income Level', + style: TextStyle(color: Colors.grey), + ), + const SizedBox(height: 4), + const Text( + 'Upper Middle Income', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + const SizedBox(height: 16), + ], + ); + case 'Trade': + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 5, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + ), + const SizedBox(height: 16), + const Text( + 'GDP Overview', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _GDPItem( + title: '2021 Nominal GDP (AED)', + value: '1.8 T', + rank: '26', + ), + Divider(), + _GDPItem( + title: '2021 Real GDP (AED)', + value: '2.08 T', + rank: '22', + ), + Divider(), + _GDPItem( + title: '2021 GDP Per Capita (AED)', + value: '39.38 K', + rank: '64', + ), + Divider(), + const SizedBox(height: 8), + const Text( + 'Income Level', + style: TextStyle(color: Colors.grey), + ), + const SizedBox(height: 4), + const Text( + 'Upper Middle Income', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + const SizedBox(height: 16), + ], + ); + case 'Bilateral Trade': + return Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 8), + Container( + width: 50, + height: 5, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(10), + ), + ), + const SizedBox(height: 16), + const Text( + 'GDP Overview', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _GDPItem( + title: '2021 Nominal GDP (AED)', + value: '1.8 T', + rank: '26', + ), + Divider(), + _GDPItem( + title: '2021 Real GDP (AED)', + value: '2.08 T', + rank: '22', + ), + Divider(), + _GDPItem( + title: '2021 GDP Per Capita (AED)', + value: '39.38 K', + rank: '64', + ), + Divider(), + const SizedBox(height: 8), + const Text( + 'Income Level', + style: TextStyle(color: Colors.grey), + ), + const SizedBox(height: 4), + const Text( + 'Upper Middle Income', + style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), + ), + const SizedBox(height: 16), + ], + ); + // Add other categories here... + + default: + return Center(child: Text('$category details coming soon.')); + } + } +} +//pop-up +void showCategoryPopup(BuildContext context, String category) { showDialog( context: context, - builder: (context) => AlertDialog( - content: Image.asset('assets/images/Popup-Trade-EN.png'), - contentPadding: const EdgeInsets.all(8), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), - ), - ); -} - -void _showFDIPopup(BuildContext context) { - showDialog( - context: context, - builder: (context) => AlertDialog( - content: Image.asset('assets/images/Popup-FDI-EN.png'), - contentPadding: const EdgeInsets.all(8), - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + barrierColor: Colors.black.withOpacity(0.3), // semi-transparent background + builder: (context) => BackdropFilter( + filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), // blur effect + child: Dialog( + insetPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 40), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: CategoryPopupContent(category: category), + ), + ), ), ); } diff --git a/pubspec.yaml b/pubspec.yaml index 377161ba..b431b507 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -119,6 +119,7 @@ flutter: - assets/backgrounds/ - assets/backgrounds/from_alsaray/ - assets/country_flags/ + - assets/country-profile/ - assets/cached_responses/informatica/ - assets/cached_responses/sharepoint/ - assets/cached_responses/qlik/