country profile ph-3
This commit is contained in:
parent
1083b9b87f
commit
4b800042a8
@ -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 ø<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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -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
|
||||
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt ³‘™¬ó2
§ ÑÜÐßÓ2
|
||||
@ -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
|
||||
SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt Ò‘™¬ó2
§ ÑÜÐßÓ2
|
||||
@ -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
( <20>„—šì2\
|
||||
SC:\flutter code\FCSC\FCSC\android\app\.cxx\Debug\m4rj1019\x86_64\prefab_config.json „’™¬ó2
( <20>„—šì2\
|
||||
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
|
||||
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
|
||||
BIN
assets/country-profile/alberto.png
Normal file
BIN
assets/country-profile/alberto.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
@ -1,3 +1,5 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.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),
|
||||
|
||||
// Government Officials
|
||||
Wrap(
|
||||
spacing: 16,
|
||||
runSpacing: 16,
|
||||
alignment: WrapAlignment.center,
|
||||
GridView.count(
|
||||
crossAxisCount: 2,
|
||||
shrinkWrap: true,
|
||||
physics: const NeverScrollableScrollPhysics(),
|
||||
mainAxisSpacing: 12,
|
||||
crossAxisSpacing: 12,
|
||||
childAspectRatio: 2.0,
|
||||
children: const [
|
||||
_LeaderCard(
|
||||
title: 'President',
|
||||
imagePath: 'assets/country-profile/alberto.png',
|
||||
name: 'Alberto Fernández',
|
||||
imagePath: 'assets/backgrounds/share/fcsc.svg',
|
||||
position: 'President',
|
||||
),
|
||||
_LeaderCard(
|
||||
title: 'Vice President',
|
||||
name: 'Cristina Fernández De Kirchner',
|
||||
imagePath: 'assets/backgrounds/share/fcsc.svg',
|
||||
imagePath: 'assets/country-profile/alberto.png',
|
||||
name: 'Alberto Fernández',
|
||||
position: 'President',
|
||||
),
|
||||
_LeaderCard(
|
||||
title: 'Chief of the Cabinet\nof Ministers',
|
||||
name: 'Agustin Rossi',
|
||||
imagePath: 'assets/backgrounds/share/fcsc.svg',
|
||||
imagePath: 'assets/country-profile/alberto.png',
|
||||
name: 'Alberto Fernández',
|
||||
position: 'President',
|
||||
),
|
||||
_LeaderCard(
|
||||
title: 'President of Chamber\nof Deputies',
|
||||
name: 'Cecilia Moreau',
|
||||
imagePath: 'assets/backgrounds/share/fcsc.svg',
|
||||
imagePath: 'assets/country-profile/alberto.png',
|
||||
name: 'Alberto Fernández',
|
||||
position: 'President',
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
const SizedBox(height: 24),
|
||||
|
||||
// Category Buttons
|
||||
Wrap(
|
||||
spacing: 16,
|
||||
runSpacing: 16,
|
||||
@ -82,34 +84,28 @@ class DetailedCountryProfilePage extends StatelessWidget {
|
||||
children: [
|
||||
_CategoryButton(
|
||||
title: 'Demography',
|
||||
color: Color(0xFFD7C1AF),
|
||||
onTap: () {
|
||||
// Add Demography popup or navigation
|
||||
},
|
||||
color: const Color(0xFFD7C1AF),
|
||||
onTap: () => 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),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@ -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/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user