country profile ph-3

This commit is contained in:
Juki-shiba 2025-06-03 18:58:11 +05:30
parent 1083b9b87f
commit 4b800042a8
7 changed files with 450 additions and 128 deletions

View File

@ -2,27 +2,27 @@ C/C++ Structured Logd
b b
`C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\additional_project_files.txtC `C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  …°ó÷ò2  Ò¶•šì2a ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ø<EFBFBD>™¬ó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  ø<EFBFBD>™¬ó2¼ ì¶•šì2f
d d
bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build_mini.json  †°ó÷ò2<18> ‡·•šì2S bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\arm64-v8a\android_gradle_build_mini.json  ø<EFBFBD>™¬ó2<18> ‡·•šì2S
Q 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  ø<EFBFBD>™¬ó2üÛ ³³•šì2W
U 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  ø<EFBFBD>™¬ó2\
Z 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  ø<EFBFBD>™¬ó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  ø<EFBFBD>™¬ó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  ø<EFBFBD>™¬ó2 g
e 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  ø<EFBFBD>™¬ó2
Ç “·•šì2Z Ç “·•šì2Z
X 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  ø<EFBFBD>™¬ó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  ø<EFBFBD>™¬ó2  R ¨·•šì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  ø<EFBFBD>™¬ó2 § ÑÜÐßÓ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logf
d d
bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\additional_project_files.txtC bC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\armeabi-v7a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Õ°ó÷ò2  Úšì2c ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ³‘™¬ó2  Úšì2c
a 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 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 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 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 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 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\ Ñ טšì2\
Z 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 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^
\ \
ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86\additional_project_files.txtC ZC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\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[
Y 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 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 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 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 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 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 © ôïšì2T
R 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 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 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 Loga
_ _
]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\additional_project_files.txtC ]C:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\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^
\ \
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 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 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 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 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 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 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 ¸ œ„—šì2W
U U
SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\prefab_config.json  è±ó÷ò2  ( <20>„—šì2\ SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\prefab_config.json  „’™¬ó2  ( <20>„—šì2\
Z Z
XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\symbol_folder_index.txt  è±ó÷ò2  O <20>„—šì2W XC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\symbol_folder_index.txt  „’™¬ó2  O <20>„—šì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: 18 KiB

View File

@ -1,3 +1,5 @@
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';
@ -44,37 +46,37 @@ class DetailedCountryProfilePage extends StatelessWidget {
const SizedBox(height: 24), const SizedBox(height: 24),
// Government Officials // Government Officials
Wrap( GridView.count(
spacing: 16, crossAxisCount: 2,
runSpacing: 16, shrinkWrap: true,
alignment: WrapAlignment.center, physics: const NeverScrollableScrollPhysics(),
mainAxisSpacing: 12,
crossAxisSpacing: 12,
childAspectRatio: 2.0,
children: const [ children: const [
_LeaderCard( _LeaderCard(
title: 'President', imagePath: 'assets/country-profile/alberto.png',
name: 'Alberto Fernández', name: 'Alberto Fernández',
imagePath: 'assets/backgrounds/share/fcsc.svg', position: 'President',
), ),
_LeaderCard( _LeaderCard(
title: 'Vice President', imagePath: 'assets/country-profile/alberto.png',
name: 'Cristina Fernández De Kirchner', name: 'Alberto Fernández',
imagePath: 'assets/backgrounds/share/fcsc.svg', position: 'President',
), ),
_LeaderCard( _LeaderCard(
title: 'Chief of the Cabinet\nof Ministers', imagePath: 'assets/country-profile/alberto.png',
name: 'Agustin Rossi', name: 'Alberto Fernández',
imagePath: 'assets/backgrounds/share/fcsc.svg', position: 'President',
), ),
_LeaderCard( _LeaderCard(
title: 'President of Chamber\nof Deputies', imagePath: 'assets/country-profile/alberto.png',
name: 'Cecilia Moreau', name: 'Alberto Fernández',
imagePath: 'assets/backgrounds/share/fcsc.svg', position: 'President',
), ),
], ],
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
// Category Buttons
Wrap( Wrap(
spacing: 16, spacing: 16,
runSpacing: 16, runSpacing: 16,
@ -82,34 +84,28 @@ class DetailedCountryProfilePage extends StatelessWidget {
children: [ children: [
_CategoryButton( _CategoryButton(
title: 'Demography', title: 'Demography',
color: Color(0xFFD7C1AF), color: const Color(0xFFD7C1AF),
onTap: () { onTap: () => showCategoryPopup(context, 'Demography'),
// Add Demography popup or navigation
},
), ),
_CategoryButton( _CategoryButton(
title: 'GDP', title: 'GDP',
color: Color(0xFFAEC6CF), color: const Color(0xFFAEC6CF),
onTap: () { onTap: () => showCategoryPopup(context, 'GDP'),
// Add GDP popup or navigation
},
), ),
_CategoryButton( _CategoryButton(
title: 'FDI', title: 'FDI',
color: Color(0xFFD7AFAF), color: const Color(0xFFD7AFAF),
onTap: () => _showFDIPopup(context), onTap: () => showCategoryPopup(context, 'FDI'),
), ),
_CategoryButton( _CategoryButton(
title: 'Trade', title: 'Trade',
color: Color(0xFFAFCFAF), color: const Color(0xFFAFCFAF),
onTap: () => _showTradePopup(context), onTap: () => showCategoryPopup(context, 'Trade'),
), ),
_CategoryButton( _CategoryButton(
title: 'Bilateral Trade', title: 'Bilateral Trade',
color: Color(0xFF9FAFCF), color: const Color(0xFF9FAFCF),
onTap: () { onTap: () => showCategoryPopup(context, 'Bilateral Trade'),
// Add Bilateral Trade popup or navigation
},
), ),
], ],
) )
@ -120,50 +116,112 @@ class DetailedCountryProfilePage extends StatelessWidget {
); );
} }
} }
class _GDPItem extends StatelessWidget {
class _LeaderCard extends StatelessWidget {
final String title; 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 imagePath;
final String name;
final String position;
const _LeaderCard({ const _LeaderCard({
Key? key, Key? key,
required this.title,
required this.name,
required this.imagePath, required this.imagePath,
required this.name,
required this.position,
}) : super(key: key); }) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SizedBox( return Container(
width: 160, padding: const EdgeInsets.all(10),
child: Column( 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: [ children: [
ClipRRect( ClipRRect(
borderRadius: BorderRadius.circular(8), borderRadius: BorderRadius.circular(8),
child: Image.asset( child: Image.asset(
imagePath, imagePath,
width: 160, width: 70,
height: 120, height: 80,
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),
const SizedBox(height: 8), const SizedBox(width: 8),
Text( Expanded(
title, child: Column(
textAlign: TextAlign.center, crossAxisAlignment: CrossAxisAlignment.start,
style: const TextStyle( children: [
fontSize: 13, Text(
color: Colors.black54, position,
), style: TextStyle(
), fontSize: 10,
const SizedBox(height: 4), color: Colors.grey.shade600,
Text( ),
name, maxLines: 2,
textAlign: TextAlign.center, overflow: TextOverflow.ellipsis,
style: const TextStyle( ),
fontSize: 14, const SizedBox(height: 2),
fontWeight: FontWeight.w600, 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 { class _CategoryButton extends StatelessWidget {
final String title; final String title;
final Color color; final Color color;
@ -189,11 +246,11 @@ class _CategoryButton extends StatelessWidget {
return GestureDetector( return GestureDetector(
onTap: onTap, onTap: onTap,
child: Container( child: Container(
width: 160, width: 178.34,
height: 70, height: 112.59,
decoration: BoxDecoration( decoration: BoxDecoration(
color: color, color: color,
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(20),
), ),
alignment: Alignment.center, alignment: Alignment.center,
child: Text( 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( showDialog(
context: context, context: context,
builder: (context) => AlertDialog( barrierColor: Colors.black.withOpacity(0.3), // semi-transparent background
content: Image.asset('assets/images/Popup-Trade-EN.png'), builder: (context) => BackdropFilter(
contentPadding: const EdgeInsets.all(8), filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), // blur effect
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), child: Dialog(
), insetPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 40),
); shape: RoundedRectangleBorder(
} borderRadius: BorderRadius.circular(16),
),
void _showFDIPopup(BuildContext context) { child: Padding(
showDialog( padding: const EdgeInsets.all(16.0),
context: context, child: CategoryPopupContent(category: category),
builder: (context) => AlertDialog( ),
content: Image.asset('assets/images/Popup-FDI-EN.png'), ),
contentPadding: const EdgeInsets.all(8),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)),
), ),
); );
} }

View File

@ -119,6 +119,7 @@ flutter:
- assets/backgrounds/ - assets/backgrounds/
- assets/backgrounds/from_alsaray/ - assets/backgrounds/from_alsaray/
- assets/country_flags/ - assets/country_flags/
- assets/country-profile/
- assets/cached_responses/informatica/ - assets/cached_responses/informatica/
- assets/cached_responses/sharepoint/ - assets/cached_responses/sharepoint/
- assets/cached_responses/qlik/ - assets/cached_responses/qlik/