country profile ph-5

This commit is contained in:
Juki-shiba 2025-06-10 13:18:47 +05:30
parent ca76dc858a
commit 96f9ec97e4
11 changed files with 261 additions and 212 deletions

View File

@ -2,27 +2,27 @@ C/C++ Structured Loge
c c
aC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\additional_project_files.txtC aC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÷ã‘¥õ2  Ì²Š¦ô2b ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ëËËÂõ2  Ì²Š¦ô2b
` `
^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\android_gradle_build.json  øã‘¥õ2¾ Ø²Š¦ô2g ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\android_gradle_build.json  ëËËÂõ2¾ Ø²Š¦ô2g
e e
cC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\android_gradle_build_mini.json  øã‘¥õ2 粊¦ô2T cC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\android_gradle_build_mini.json  ëËËÂõ2 粊¦ô2T
R R
PC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja  øã‘¥õ2<18>Ü Æ±Š¦ô2X PC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja  ëËËÂõ2<18>Ü Æ±Š¦ô2X
V V
TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja.txt  øã‘¥õ2] TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja.txt  ëËËÂõ2]
[ [
YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build_file_index.txt  øã‘¥õ2 S ¦ô2^ YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build_file_index.txt  ëËËÂõ2 S ¦ô2^
\ \
ZC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\compile_commands.json  øã‘¥õ2b ZC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\compile_commands.json  ëËËÂõ2b
` `
^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\compile_commands.json.bin  øã‘¥õ2 h ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\compile_commands.json.bin  ëËËÂõ2 h
f f
dC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\metadata_generation_command.txt  øã‘¥õ2 dC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\metadata_generation_command.txt  ëËËÂõ2
Ê 벊¦ô2[ Ê 벊¦ô2[
Y Y
WC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\prefab_config.json  øã‘¥õ2  ( 첊¦ô2` WC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\prefab_config.json  ëËËÂõ2  ( 첊¦ô2`
^ ^
\C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\symbol_folder_index.txt  øã‘¥õ2  S í²Š¦ô2W \C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\symbol_folder_index.txt  ìËËÂõ2  S í²Š¦ô2W
U U
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  øã‘¥õ2 § ÑÜÐßÓ2 SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ìËËÂõ2 § ÑÜÐßÓ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logg
e e
cC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\additional_project_files.txtC cC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ïû‘¥õ2  啦ô2d ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  £ÌËÂõ2  啦ô2d
b b
`C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build.json  ïû‘¥õ2 땦ô2i `C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build.json  £ÌËÂõ2 땦ô2i
g g
eC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build_mini.json  ïû‘¥õ2 <20>¦ô2V eC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build_mini.json  £ÌËÂõ2 <20>¦ô2V
T T
RC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build.ninja  ðû‘¥õ2‹Ü Í“¦ô2Z RC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build.ninja  £ÌËÂõ2‹Ü Í“¦ô2Z
X X
VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build.ninja.txt  ðû‘¥õ2_ VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build.ninja.txt  £ÌËÂõ2_
] ]
[C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build_file_index.txt  ðû‘¥õ2 S —¦ô2` [C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\build_file_index.txt  £ÌËÂõ2 S —¦ô2`
^ ^
\C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\compile_commands.json  ðû‘¥õ2d \C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\compile_commands.json  £ÌËÂõ2d
b b
`C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\compile_commands.json.bin  ðû‘¥õ2 j `C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\compile_commands.json.bin  £ÌËÂõ2 j
h h
fC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\metadata_generation_command.txt  ðû‘¥õ2 fC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\metadata_generation_command.txt  £ÌËÂõ2
Ô¦ô2] Ô¦ô2]
[ [
YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\prefab_config.json  ðû‘¥õ2  ( ¦ô2b YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\prefab_config.json  ¤ÌËÂõ2  ( ¦ô2b
` `
^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\symbol_folder_index.txt  ðû‘¥õ2  U •¦ô2W ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\symbol_folder_index.txt  ¤ÌËÂõ2  U •¦ô2W
U U
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ðû‘¥õ2 § ÑÜÐßÓ2 SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ¤ÌËÂõ2 § ÑÜÐßÓ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Log_
] ]
[C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\additional_project_files.txtC [C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Õþ‘¥õ2  ½¦ô2\ ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÄÌËÂõ2  ½¦ô2\
Z Z
XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build.json  Õþ‘¥õ2² <20>½¦ô2a XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build.json  ÄÌËÂõ2² <20>½¦ô2a
_ _
]C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build_mini.json  Õþ‘¥õ2 ”½¦ô2N ]C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build_mini.json  ÄÌËÂõ2 ”½¦ô2N
L L
JC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build.ninja  Õþ‘¥õ2ãÛ ¢¼¦ô2R JC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build.ninja  ÄÌËÂõ2ãÛ ¢¼¦ô2R
P P
NC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build.ninja.txt  Õþ‘¥õ2W NC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build.ninja.txt  ÄÌËÂõ2W
U U
SC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build_file_index.txt  Õþ‘¥õ2 S —½¦ô2X SC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\build_file_index.txt  ÄÌËÂõ2 S —½¦ô2X
V V
TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\compile_commands.json  Õþ‘¥õ2\ TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\compile_commands.json  ÄÌËÂõ2\
Z Z
XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\compile_commands.json.bin  Õþ‘¥õ2 b XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\compile_commands.json.bin  ÄÌËÂõ2 b
` `
^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\metadata_generation_command.txt  Õþ‘¥õ2 ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\metadata_generation_command.txt  ÄÌËÂõ2
¬ •½¦ô2U ¬ •½¦ô2U
S S
QC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\prefab_config.json  Õþ‘¥õ2  ( ½¦ô2Z QC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\prefab_config.json  ÄÌËÂõ2  ( ½¦ô2Z
X X
VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\symbol_folder_index.txt  Õþ‘¥õ2  M ½¦ô2W VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\symbol_folder_index.txt  ÄÌËÂõ2  M ½¦ô2W
U U
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  Õþ‘¥õ2 § ÑÜÐßÓ2 SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ÄÌËÂõ2 § ÑÜÐßÓ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logb
` `
^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\additional_project_files.txtC ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  §ƒ’¥õ2  ˜Ë¦ô2_ ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  êÌËÂõ2  ˜Ë¦ô2_
] ]
[C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\android_gradle_build.json  §ƒ’¥õ2¸ œË¦ô2d [C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\android_gradle_build.json  êÌËÂõ2¸ œË¦ô2d
b b
`C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\android_gradle_build_mini.json  §ƒ’¥õ2 ŸË¦ô2Q `C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\android_gradle_build_mini.json  êÌËÂõ2 ŸË¦ô2Q
O O
MC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build.ninja  ¨ƒ’¥õ2òÛ «Ê¦ô2U MC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build.ninja  ëÌËÂõ2òÛ «Ê¦ô2U
S S
QC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build.ninja.txt  ¨ƒ’¥õ2Z QC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build.ninja.txt  ëÌËÂõ2Z
X X
VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build_file_index.txt  ¨ƒ’¥õ2 S ¤Ë¦ô2[ VC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\build_file_index.txt  ëÌËÂõ2 S ¤Ë¦ô2[
Y Y
WC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\compile_commands.json  ¨ƒ’¥õ2_ WC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\compile_commands.json  ëÌËÂõ2_
] ]
[C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\compile_commands.json.bin  ¨ƒ’¥õ2 e [C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\compile_commands.json.bin  ëÌËÂõ2 e
c c
aC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\metadata_generation_command.txt  ¨ƒ’¥õ2 aC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\metadata_generation_command.txt  ëÌËÂõ2
» ¡Ë¦ô2X » ¡Ë¦ô2X
V V
TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\prefab_config.json  ¨ƒ’¥õ2  ( ¢Ë¦ô2] TC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\prefab_config.json  ëÌËÂõ2  ( ¢Ë¦ô2]
[ [
YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\symbol_folder_index.txt  ¨ƒ’¥õ2  P £Ë¦ô2W YC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86_64\symbol_folder_index.txt  ëÌËÂõ2  P £Ë¦ô2W
U U
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ¨ƒ’¥õ2 § ÑÜÐßÓ2 SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ëÌËÂõ2 § ÑÜÐßÓ2

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,5 +1,4 @@
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart'; import 'package:flutter_svg/flutter_svg.dart';
import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart'; import 'package:uae_stat/presentation/routes/drawer_routes/custom_drawer_routes.dart';
@ -19,124 +18,138 @@ class DetailedCountryProfilePage extends StatelessWidget {
double width = MediaQuery.of(context).size.width; double width = MediaQuery.of(context).size.width;
return BaseScaffold( return BaseScaffold(
title: const Text('Country Profile'), title: const Text('Country Profile'),
// hasDrawer: false,
showBackButton: true, showBackButton: true,
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: Column( child: Column(
children: [ children: [
// Country name and flag // Country name and flag (Header Section)
Center( Center(
child: Column( child: Column(
children: [ children: [
Text(flag, style: const TextStyle(fontSize: 48)), Text(
const SizedBox(height: 8), flag,
Text( style: const TextStyle(fontSize: 48),
countryName.toUpperCase(),
style: const TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
), ),
), const SizedBox(height: 8),
], Text(
countryName.toUpperCase(),
style: const TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
),
),
],
),
), ),
), const SizedBox(height: 16),
const SizedBox(height: 24),
// Government Officials // Government Officials (Grid Section)
GridView.count( SizedBox(
crossAxisCount: 2, height: 220, // Fixed height for the GridView to control its size
shrinkWrap: true, child: GridView.count(
physics: const NeverScrollableScrollPhysics(), crossAxisCount: 2,
mainAxisSpacing: 12, shrinkWrap: true,
crossAxisSpacing: 12, physics: const NeverScrollableScrollPhysics(),
childAspectRatio: 2.0, mainAxisSpacing: 12,
children: const [ crossAxisSpacing: 12,
_LeaderCard( childAspectRatio: 2.0,
imagePath: 'assets/country-profile/alberto.png', children: const [
name: 'Alberto Fernández', _LeaderCard(
position: 'President', imagePath: 'assets/country-profile/alberto.png',
), name: 'Alberto Fernández',
_LeaderCard( position: 'President',
imagePath: 'assets/country-profile/alberto.png',
name: 'President of Chamber of Deputies Cecilia Moreau',
position: 'President',
),
_LeaderCard(
imagePath: 'assets/country-profile/alberto.png',
name: 'Alberto Fernández',
position: 'President of Chamber of Deputies Cecilia Moreau',
),
_LeaderCard(
imagePath: 'assets/country-profile/alberto.png',
name: 'Alberto Fernández',
position: 'President',
),
],
),
const SizedBox(height: 24),
Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: _CategoryButton(
title: 'Demography',
color: const Color(0xFFD7C1AF),
onTap: () => showCategoryPopup(context, 'Demography'),
),
), ),
const SizedBox(width: 16), _LeaderCard(
Expanded( imagePath: 'assets/country-profile/alberto.png',
child: _CategoryButton( name: 'Cristina Fernández de Kirchner',
title: 'GDP', position: 'Vice-President',
color: const Color(0xFFAEC6CF), ),
onTap: () => showCategoryPopup(context, 'GDP'), _LeaderCard(
), imagePath: 'assets/country-profile/alberto.png',
name: 'Agustin Rossi',
position: 'Chief of the Cabinet of Ministers',
),
_LeaderCard(
imagePath: 'assets/country-profile/alberto.png',
name: 'Cecilia Moreau',
position: 'President of Chamber of Deputies',
), ),
], ],
), ),
const SizedBox(height: 16), ),
Row( const SizedBox(height: 12), // Further reduced spacing
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
// Category Buttons (Button Section)
Flexible(
fit: FlexFit.loose, // Allow the section to take only the space it needs
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [ children: [
Expanded( Row(
child: _CategoryButton( mainAxisAlignment: MainAxisAlignment.spaceEvenly,
title: 'FDI', children: [
color: const Color(0xFFD7AFAF), Expanded(
onTap: () => showCategoryPopup(context, 'FDI'), child: _CategoryButton(
), title: 'Demography',
overlayColor: const Color(0xE6AA947F),
backgroundImagePath: 'assets/country-profile/CategoryFile/Demo.png',
onTap: () => showCategoryPopup(context, 'Demography'),
),
),
const SizedBox(width: 12),
Expanded(
child: _CategoryButton(
title: 'GDP',
overlayColor: const Color(0xFFAEC6CF),
backgroundImagePath: 'assets/country-profile/CategoryFile/GDP.png',
onTap: () => showCategoryPopup(context, 'GDP'),
),
),
],
), ),
const SizedBox(width: 16), const SizedBox(height: 12),
Expanded( Row(
child: _CategoryButton( mainAxisAlignment: MainAxisAlignment.spaceEvenly,
title: 'Trade', children: [
color: const Color(0xFFAFCFAF), Expanded(
onTap: () => showCategoryPopup(context, 'Trade'), child: _CategoryButton(
), title: 'FDI',
overlayColor: const Color(0xD8C39898),
backgroundImagePath: 'assets/country-profile/CategoryFile/FDI.png',
onTap: () => showCategoryPopup(context, 'FDI'),
),
),
const SizedBox(width: 12),
Expanded(
child: _CategoryButton(
title: 'Trade',
overlayColor: const Color(0xD8B0C5A4),
backgroundImagePath: 'assets/country-profile/CategoryFile/Trade.png',
onTap: () => showCategoryPopup(context, 'Trade'),
),
),
],
),
const SizedBox(height: 12),
// Full-width button
_CategoryButton(
title: 'Bilateral Trade',
overlayColor: const Color(0xB29CAFAB),
backgroundImagePath: 'assets/country-profile/CategoryFile/BilateralTrade.png',
onTap: () => showCategoryPopup(context, 'Bilateral Trade'),
), ),
], ],
), ),
const SizedBox(height: 16), ),
// Full-width button ],
_CategoryButton( ),
title: 'Bilateral Trade',
color: const Color(0xFF9FAFCF),
onTap: () => showCategoryPopup(context, 'Bilateral Trade'),
),
],
)
],
), ),
),
); );
} }
} }
class _LeaderCard extends StatelessWidget { class _LeaderCard extends StatelessWidget {
final String imagePath; final String imagePath;
final String name; final String name;
@ -154,7 +167,6 @@ class _LeaderCard extends StatelessWidget {
return Container( return Container(
width: 170, width: 170,
height: 100, height: 100,
// padding: const EdgeInsets.all(5),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(12),
@ -203,21 +215,24 @@ class _LeaderCard extends StatelessWidget {
], ],
), ),
), ),
) ),
], ],
), ),
); );
} }
} }
class _CategoryButton extends StatelessWidget { class _CategoryButton extends StatelessWidget {
final String title; final String title;
final Color color; final Color overlayColor;
final String backgroundImagePath;
final VoidCallback onTap; final VoidCallback onTap;
const _CategoryButton({ const _CategoryButton({
super.key, super.key,
required this.title, required this.title,
required this.color, required this.overlayColor,
required this.backgroundImagePath,
required this.onTap, required this.onTap,
}); });
@ -225,26 +240,43 @@ class _CategoryButton extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
onTap: onTap, onTap: onTap,
child: Container( child: ClipRRect(
height: 100, borderRadius: BorderRadius.circular(12),
width: double.infinity, // This ensures full width child: Container(
decoration: BoxDecoration( height: 100,
color: color, decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12), image: DecorationImage(
), image: AssetImage(backgroundImagePath),
alignment: Alignment.center, fit: BoxFit.cover,
child: Text( colorFilter: ColorFilter.mode(
title, overlayColor.withOpacity(0.8),
style: const TextStyle( BlendMode.dstATop,
fontSize: 16, ),
color: Colors.white, ),
fontWeight: FontWeight.bold, ),
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 2.0, sigmaY: 2.0),
child: Container(
color: overlayColor.withOpacity(0.6),
child: Center(
child: Text(
title,
style: const TextStyle(
fontSize: 18,
color: Colors.white,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
),
),
), ),
), ),
), ),
); );
} }
} }
class CategoryPopupContent extends StatelessWidget { class CategoryPopupContent extends StatelessWidget {
final String category; final String category;
@ -268,21 +300,18 @@ class CategoryPopupContent extends StatelessWidget {
), ),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
_DemographyItem( _DemographyItem(
icon: Icons.location_city, icon: Icons.location_city,
title: 'Capital City', title: 'Capital City',
value: 'Buenos Aires', value: 'Buenos Aires',
), ),
Divider(), const Divider(),
_DemographyItem( _DemographyItem(
icon: Icons.map, icon: Icons.map,
title: 'Surface Area', title: 'Surface Area',
value: '2,780,400 sq. km', value: '2,780,400 sq. km',
), ),
Divider(), const Divider(),
_DemographyStatItem( _DemographyStatItem(
icon: Icons.groups, icon: Icons.groups,
title: '2021 Population', title: '2021 Population',
@ -290,8 +319,7 @@ class CategoryPopupContent extends StatelessWidget {
suffix: '32 ↑ Rank', suffix: '32 ↑ Rank',
suffixStyle: const TextStyle(color: Colors.green, fontSize: 12), suffixStyle: const TextStyle(color: Colors.green, fontSize: 12),
), ),
Divider(), const Divider(),
_DemographyStatItem( _DemographyStatItem(
icon: Icons.male, icon: Icons.male,
title: '2021 Male Population', title: '2021 Male Population',
@ -299,8 +327,7 @@ class CategoryPopupContent extends StatelessWidget {
suffix: '0.98% ↑ Growth Rate', suffix: '0.98% ↑ Growth Rate',
valueColor: Colors.deepPurple, valueColor: Colors.deepPurple,
), ),
Divider(), const Divider(),
_DemographyStatItem( _DemographyStatItem(
icon: Icons.female, icon: Icons.female,
title: '2021 Female Population', title: '2021 Female Population',
@ -308,7 +335,6 @@ class CategoryPopupContent extends StatelessWidget {
suffix: '0.93% ↑ Growth Rate', suffix: '0.93% ↑ Growth Rate',
valueColor: Colors.purple, valueColor: Colors.purple,
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
], ],
); );
@ -327,7 +353,6 @@ class CategoryPopupContent extends StatelessWidget {
), ),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
_GDPMetricItem( _GDPMetricItem(
icon: Icons.apartment, icon: Icons.apartment,
title: '2021 Nominal GDP (AED)', title: '2021 Nominal GDP (AED)',
@ -336,8 +361,7 @@ class CategoryPopupContent extends StatelessWidget {
rankDirection: '', rankDirection: '',
rankColor: Colors.red, rankColor: Colors.red,
), ),
Divider(), const Divider(),
_GDPMetricItem( _GDPMetricItem(
icon: Icons.public, icon: Icons.public,
title: '2021 Real GDP (AED)', title: '2021 Real GDP (AED)',
@ -346,8 +370,7 @@ class CategoryPopupContent extends StatelessWidget {
rankDirection: '', rankDirection: '',
rankColor: Colors.red, rankColor: Colors.red,
), ),
Divider(), const Divider(),
_GDPMetricItem( _GDPMetricItem(
icon: Icons.groups_3, icon: Icons.groups_3,
title: '2021 GDP Per Capita (AED)', title: '2021 GDP Per Capita (AED)',
@ -356,10 +379,9 @@ class CategoryPopupContent extends StatelessWidget {
rankDirection: '', rankDirection: '',
rankColor: Colors.red, rankColor: Colors.red,
), ),
Divider(), const Divider(),
const SizedBox(height: 8), const SizedBox(height: 8),
Icon(Icons.stacked_bar_chart, color: Colors.grey), const Icon(Icons.stacked_bar_chart, color: Colors.grey),
const SizedBox(height: 4), const SizedBox(height: 4),
const Text( const Text(
'Income Level', 'Income Level',
@ -388,7 +410,6 @@ class CategoryPopupContent extends StatelessWidget {
), ),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
_FDIItem( _FDIItem(
icon: Icons.trending_down, icon: Icons.trending_down,
title: '2020 FDI Outflows (AED)', title: '2020 FDI Outflows (AED)',
@ -396,8 +417,7 @@ class CategoryPopupContent extends StatelessWidget {
growthRate: '-15.94%', growthRate: '-15.94%',
isPositive: false, isPositive: false,
), ),
Divider(), const Divider(),
_FDIItem( _FDIItem(
icon: Icons.swap_horizontal_circle_outlined, icon: Icons.swap_horizontal_circle_outlined,
title: '2020 FDI Inflows (AED)', title: '2020 FDI Inflows (AED)',
@ -405,8 +425,7 @@ class CategoryPopupContent extends StatelessWidget {
growthRate: '-39.68%', growthRate: '-39.68%',
isPositive: false, isPositive: false,
), ),
Divider(), const Divider(),
_FDIItem( _FDIItem(
icon: Icons.thumb_up_alt_outlined, icon: Icons.thumb_up_alt_outlined,
title: '2021 FDI Stocks (AED)', title: '2021 FDI Stocks (AED)',
@ -432,7 +451,6 @@ class CategoryPopupContent extends StatelessWidget {
), ),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
_TradeItem( _TradeItem(
icon: Icons.cached, icon: Icons.cached,
title: '2021 Total Trade (AED)', title: '2021 Total Trade (AED)',
@ -440,8 +458,7 @@ class CategoryPopupContent extends StatelessWidget {
growthRate: '39.89%', growthRate: '39.89%',
isPositive: true, isPositive: true,
), ),
Divider(), const Divider(),
_TradeItem( _TradeItem(
icon: Icons.download_outlined, icon: Icons.download_outlined,
title: '2021 Imports (AED)', title: '2021 Imports (AED)',
@ -449,8 +466,7 @@ class CategoryPopupContent extends StatelessWidget {
growthRate: '40.79%', growthRate: '40.79%',
isPositive: true, isPositive: true,
), ),
Divider(), const Divider(),
_TradeItem( _TradeItem(
icon: Icons.upload_outlined, icon: Icons.upload_outlined,
title: '2021 Exports (AED)', title: '2021 Exports (AED)',
@ -495,9 +511,18 @@ class CategoryPopupContent extends StatelessWidget {
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: const [ children: const [
_BilateralTradeValueBox(label: 'Total Import', value: '\$390.2M', color: Color(0xFF00B292)), _BilateralTradeValueBox(
_BilateralTradeValueBox(label: 'Total Export', value: '\$42.2M', color: Color(0xFFDE4D86)), label: 'Total Import',
_BilateralTradeValueBox(label: 'Total ReExport', value: '\$40.2M', color: Color(0xFF4D52A1)), value: '\$390.2M',
color: Color(0xFF00B292)),
_BilateralTradeValueBox(
label: 'Total Export',
value: '\$42.2M',
color: Color(0xFFDE4D86)),
_BilateralTradeValueBox(
label: 'Total ReExport',
value: '\$40.2M',
color: Color(0xFF4D52A1)),
], ],
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
@ -505,25 +530,41 @@ class CategoryPopupContent extends StatelessWidget {
child: Text( child: Text(
'Top 5 Import Commodities', 'Top 5 Import Commodities',
style: TextStyle( style: TextStyle(
fontSize: 16, fontWeight: FontWeight.bold, color: Color(0xFF4FBFA8)), fontSize: 16,
fontWeight: FontWeight.bold,
color: Color(0xFF4FBFA8)),
), ),
), ),
const SizedBox(height: 12), const SizedBox(height: 12),
_CommodityRow(icon: Icons.eco, label: 'Vegetable Products', value: '\$198.6M'), _CommodityRow(
_CommodityRow(icon: Icons.liquor, label: 'Foodstuffs, Beverages, Spirits And Tobacco', value: '\$89.9M'), icon: Icons.eco,
_CommodityRow(icon: Icons.build, label: 'Base Metals And Articles Of Base Metal', value: '\$65.6M'), label: 'Vegetable Products',
_CommodityRow(icon: Icons.pets, label: 'Live Animals And Their Products', value: '\$23.7M'), value: '\$198.6M'),
_CommodityRow(icon: Icons.science, label: 'Products Of The Chemical or Allied Industries', value: '\$4.7M'), _CommodityRow(
icon: Icons.liquor,
label: 'Foodstuffs, Beverages, Spirits And Tobacco',
value: '\$89.9M'),
_CommodityRow(
icon: Icons.build,
label: 'Base Metals And Articles Of Base Metal',
value: '\$65.6M'),
_CommodityRow(
icon: Icons.pets,
label: 'Live Animals And Their Products',
value: '\$23.7M'),
_CommodityRow(
icon: Icons.science,
label: 'Products Of The Chemical or Allied Industries',
value: '\$4.7M'),
const SizedBox(height: 16), const SizedBox(height: 16),
], ],
); );
// Add other categories here...
default: default:
return Center(child: Text('$category details coming soon.')); return Center(child: Text('$category details coming soon.'));
} }
} }
} }
Widget _DemographyItem({ Widget _DemographyItem({
required IconData icon, required IconData icon,
required String title, required String title,
@ -543,6 +584,7 @@ Widget _DemographyItem({
], ],
); );
} }
Widget _DemographyStatItem({ Widget _DemographyStatItem({
required IconData icon, required IconData icon,
required String title, required String title,
@ -581,6 +623,7 @@ Widget _DemographyStatItem({
], ],
); );
} }
Widget _GDPMetricItem({ Widget _GDPMetricItem({
required IconData icon, required IconData icon,
required String title, required String title,
@ -624,6 +667,7 @@ Widget _GDPMetricItem({
], ],
); );
} }
Widget _FDIItem({ Widget _FDIItem({
required IconData icon, required IconData icon,
required String title, required String title,
@ -656,6 +700,7 @@ Widget _FDIItem({
], ],
); );
} }
Widget _TradeItem({ Widget _TradeItem({
required IconData icon, required IconData icon,
required String title, required String title,
@ -688,6 +733,7 @@ Widget _TradeItem({
], ],
); );
} }
class _BilateralTradeValueBox extends StatelessWidget { class _BilateralTradeValueBox extends StatelessWidget {
final String label; final String label;
final String value; final String value;
@ -743,12 +789,16 @@ Widget _CommodityRow({
Expanded( Expanded(
child: Text(label, style: const TextStyle(fontSize: 14)), child: Text(label, style: const TextStyle(fontSize: 14)),
), ),
Text(value, style: const TextStyle(fontWeight: FontWeight.bold, color: Colors.teal)), Text(
value,
style: const TextStyle(
fontWeight: FontWeight.bold, color: Colors.teal),
),
], ],
), ),
); );
} }
//pop-up
void showCategoryPopup(BuildContext context, String category) { void showCategoryPopup(BuildContext context, String category) {
showDialog( showDialog(
context: context, context: context,
@ -768,6 +818,4 @@ void showCategoryPopup(BuildContext context, String category) {
), ),
), ),
); );
} }

View File

@ -158,6 +158,7 @@ flutter:
- assets/FCSC-GIF.gif - assets/FCSC-GIF.gif
- assets/icons/enquiry/ - assets/icons/enquiry/
- assets/country-profile/ - assets/country-profile/
- assets/country-profile/CategoryFile/
- assets/competitiveness/ - assets/competitiveness/
fonts: fonts: