CountryProfile PopUp Updated

This commit is contained in:
Kalonkarthik 2025-06-25 14:01:26 +05:30
parent 988ba186fc
commit 9d37fa04d3
11 changed files with 247 additions and 141 deletions

View File

@ -2,27 +2,27 @@ C/C++ Structured Logo
m m
kC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\additional_project_files.txtC kC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ¥“¡<EFBFBD>ú2  äýŸÞø2l ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  <08>Åݰú2  äýŸÞø2l
j j
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\android_gradle_build.json  ¥“¡<EFBFBD>ú2É ŠþŸÞø2q hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\android_gradle_build.json  <08>Åݰú2É ŠþŸÞø2q
o o
mC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\android_gradle_build_mini.json  ¥“¡<EFBFBD>ú2œ ·þŸÞø2^ mC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\android_gradle_build_mini.json  <08>Åݰú2œ ·þŸÞø2^
\ \
ZC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build.ninja  ¥“¡<EFBFBD>ú2›Ü çúŸÞø2b ZC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build.ninja  <08>Åݰú2›Ü çúŸÞø2b
` `
^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build.ninja.txt  ¥“¡<EFBFBD>ú2g ^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build.ninja.txt  <08>Åݰú2g
e e
cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build_file_index.txt  ¥“¡<EFBFBD>ú2 K ÜþŸÞø2h cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\build_file_index.txt  <08>Åݰú2 K ÜþŸÞø2h
f f
dC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\compile_commands.json  ¥“¡<EFBFBD>ú2l dC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\compile_commands.json  <08>Åݰú2l
j j
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\compile_commands.json.bin  ¥“¡<EFBFBD>ú2 r hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\compile_commands.json.bin  <08>Åݰú2 r
p p
nC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\metadata_generation_command.txt  ¥“¡<EFBFBD>ú2 nC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\metadata_generation_command.txt  <08>Åݰú2
à ÔþŸÞø2e à ÔþŸÞø2e
c c
aC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\prefab_config.json  ¥“¡<EFBFBD>ú2  ( ÙþŸÞø2j aC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\prefab_config.json  <08>Åݰú2  ( ÙþŸÞø2j
h h
fC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\symbol_folder_index.txt  ¥“¡<EFBFBD>ú2  ] ÙþŸÞø2O fC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\symbol_folder_index.txt  <08>Åݰú2  ] ÙþŸÞø2O
M M
KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ¥“¡<EFBFBD>ú2 § œ¬ùšõ2 KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  <08>Åݰú2 § œ¬ùšõ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logq
o o
mC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\additional_project_files.txtC mC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  á“¡<EFBFBD>ú2  åÇ Þø2n ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ˜ÆÝ°ú2  åÇ Þø2n
l l
jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\android_gradle_build.json  á“¡<EFBFBD>ú2Í ïÇ Þø2s jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\android_gradle_build.json  ˜ÆÝ°ú2Í ïÇ Þø2s
q q
oC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\android_gradle_build_mini.json  á“¡<EFBFBD>ú2  óÇ Þø2` oC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\android_gradle_build_mini.json  ˜ÆÝ°ú2  óÇ Þø2`
^ ^
\C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build.ninja  á“¡<EFBFBD>ú2¥Ü ÃÅ Þø2d \C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build.ninja  ™ÆÝ°ú2¥Ü ÃÅ Þø2d
b b
`C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build.ninja.txt  á“¡<EFBFBD>ú2i `C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build.ninja.txt  ™ÆÝ°ú2i
g g
eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build_file_index.txt  á“¡<EFBFBD>ú2 K ýÇ Þø2j eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\build_file_index.txt  ™ÆÝ°ú2 K ýÇ Þø2j
h h
fC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\compile_commands.json  á“¡<EFBFBD>ú2n fC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\compile_commands.json  ™ÆÝ°ú2n
l l
jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\compile_commands.json.bin  á“¡<EFBFBD>ú2 t jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\compile_commands.json.bin  ™ÆÝ°ú2 t
r r
pC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\metadata_generation_command.txt  á“¡<EFBFBD>ú2 pC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\metadata_generation_command.txt  ™ÆÝ°ú2
ê øÇ Þø2g ê øÇ Þø2g
e e
cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\prefab_config.json  á“¡<EFBFBD>ú2  ( ùÇ Þø2l cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\prefab_config.json  ™ÆÝ°ú2  ( ùÇ Þø2l
j j
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\symbol_folder_index.txt  á“¡<EFBFBD>ú2  _ ùÇ Þø2O hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\symbol_folder_index.txt  ™ÆÝ°ú2  _ ùÇ Þø2O
M M
KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  á“¡<EFBFBD>ú2 § œ¬ùšõ2 KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ™ÆÝ°ú2 § œ¬ùšõ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logi
g g
eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\additional_project_files.txtC eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ‰”¡<EFBFBD>ú2  ÿò Þø2f ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÍÆÝ°ú2  ÿò Þø2f
d d
bC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\android_gradle_build.json  ‰”¡<EFBFBD>ú2½ ¤ó Þø2k bC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\android_gradle_build.json  ÍÆÝ°ú2½ ¤ó Þø2k
i i
gC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\android_gradle_build_mini.json  ‰”¡<EFBFBD>ú2<18> °ó Þø2X gC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\android_gradle_build_mini.json  ÍÆÝ°ú2<18> °ó Þø2X
V V
TC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build.ninja  ‰”¡<EFBFBD>ú2ýÛ ³ï Þø2\ TC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build.ninja  ÍÆÝ°ú2ýÛ ³ï Þø2\
Z Z
XC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build.ninja.txt  ‰”¡<EFBFBD>ú2a XC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build.ninja.txt  ÍÆÝ°ú2a
_ _
]C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build_file_index.txt  ‰”¡<EFBFBD>ú2 K Âó Þø2b ]C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\build_file_index.txt  ÍÆÝ°ú2 K Âó Þø2b
` `
^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\compile_commands.json  ‰”¡<EFBFBD>ú2f ^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\compile_commands.json  ÍÆÝ°ú2f
d d
bC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\compile_commands.json.bin  ‰”¡<EFBFBD>ú2 l bC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\compile_commands.json.bin  ÍÆÝ°ú2 l
j j
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\metadata_generation_command.txt  ‰”¡<EFBFBD>ú2 hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\metadata_generation_command.txt  ÍÆÝ°ú2
 ´ó Þø2_  ´ó Þø2_
] ]
[C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\prefab_config.json  ‰”¡<EFBFBD>ú2  ( ´ó Þø2d [C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\prefab_config.json  ÍÆÝ°ú2  ( ´ó Þø2d
b b
`C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\symbol_folder_index.txt  ‰”¡<EFBFBD>ú2  W ¹ó Þø2O `C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\symbol_folder_index.txt  ÍÆÝ°ú2  W ¹ó Þø2O
M M
KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ‰”¡<EFBFBD>ú2 § œ¬ùšõ2 KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ÍÆÝ°ú2 § œ¬ùšõ2

View File

@ -2,27 +2,27 @@ C/C++ Structured Logl
j j
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\additional_project_files.txtC hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\additional_project_files.txtC
A A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  Ž•¡<EFBFBD>ú2  ù”¡Þø2i ?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ïÆÝ°ú2  ù”¡Þø2i
g g
eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\android_gradle_build.json  Ž•¡<EFBFBD>ú2à •¡Þø2n eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\android_gradle_build.json  ðÆÝ°ú2à •¡Þø2n
l l
jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\android_gradle_build_mini.json  Ž•¡<EFBFBD>ú2 †•¡Þø2[ jC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\android_gradle_build_mini.json  ðÆÝ°ú2 †•¡Þø2[
Y Y
WC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build.ninja  •¡<EFBFBD>ú2ŒÜ þ¡Þø2_ WC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build.ninja  ðÆÝ°ú2ŒÜ þ¡Þø2_
] ]
[C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build.ninja.txt  •¡<EFBFBD>ú2d [C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build.ninja.txt  ðÆÝ°ú2d
b b
`C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build_file_index.txt  •¡<EFBFBD>ú2 K <20>•¡Þø2e `C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\build_file_index.txt  ðÆÝ°ú2 K <20>•¡Þø2e
c c
aC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\compile_commands.json  •¡<EFBFBD>ú2i aC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\compile_commands.json  ðÆÝ°ú2i
g g
eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\compile_commands.json.bin  •¡<EFBFBD>ú2 o eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\compile_commands.json.bin  ðÆÝ°ú2 o
m m
kC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\metadata_generation_command.txt  •¡<EFBFBD>ú2 kC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\metadata_generation_command.txt  ðÆÝ°ú2
Ñ ‰•¡Þø2b Ñ ‰•¡Þø2b
` `
^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\prefab_config.json  •¡<EFBFBD>ú2  ( •¡Þø2g ^C:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\prefab_config.json  ðÆÝ°ú2  ( •¡Þø2g
e e
cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\symbol_folder_index.txt  •¡<EFBFBD>ú2  Z Œ•¡Þø2O cC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\symbol_folder_index.txt  ðÆÝ°ú2  Z Œ•¡Þø2O
M M
KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  •¡<EFBFBD>ú2 § œ¬ùšõ2 KC:\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ðÆÝ°ú2 § œ¬ùšõ2

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -13,5 +13,11 @@ abstract class PopupAssetPath {
static const perCapita = '$_basePath/perCapita.png'; static const perCapita = '$_basePath/perCapita.png';
static const population = '$_basePath/population.png'; static const population = '$_basePath/population.png';
static const real = '$_basePath/real.png'; static const real = '$_basePath/real.png';
static const stocks = '$_basePath/stocks.png';
static const trade = '$_basePath/trade.png';
static const vegetable = '$_basePath/vegetable.png';
static const metal = '$_basePath/metal.png';
static const food = '$_basePath/food.png';
static const chemical = '$_basePath/chemical.png';
static const animal = '$_basePath/animal.png';
} }

View File

@ -296,6 +296,10 @@ class CategoryPopupContent extends StatelessWidget {
), ),
), ),
); );
final yellowDivider=Divider(
color: Color(0xFFE9BF70),
);
final screenWidth=MediaQuery.of(context).size.width;
switch (category) { switch (category) {
case 'Demography': case 'Demography':
return Column( return Column(
@ -380,16 +384,16 @@ class CategoryPopupContent extends StatelessWidget {
), ),
lineBorder, lineBorder,
const SizedBox(height: 8), const SizedBox(height: 8),
const Icon(Icons.stacked_bar_chart, color: Colors.grey), Image.asset(PopupAssetPath.IncomeLevel,width: 40,height: 40,),
const SizedBox(height: 4), const SizedBox(height: 4),
const Text( const Text(
'Income Level', 'Income Level',
style: TextStyle(color: Colors.grey), style: TextStyle(color: Color(0xFF666666),fontSize: 16),
), ),
const SizedBox(height: 4), const SizedBox(height: 4),
const Text( const Text(
'Upper Middle Income', 'Upper Middle Income',
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16), style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
], ],
@ -401,7 +405,7 @@ class CategoryPopupContent extends StatelessWidget {
children: [ children: [
const SizedBox(height: 16), const SizedBox(height: 16),
_FDIItem( _FDIItem(
icon: Icons.trending_down, icon: PopupAssetPath.outflows,
title: '2020 FDI Outflows (AED)', title: '2020 FDI Outflows (AED)',
value: '4.75 B', value: '4.75 B',
growthRate: '-15.94%', growthRate: '-15.94%',
@ -409,7 +413,7 @@ class CategoryPopupContent extends StatelessWidget {
), ),
lineBorder, lineBorder,
_FDIItem( _FDIItem(
icon: Icons.swap_horizontal_circle_outlined, icon: PopupAssetPath.inflows,
title: '2020 FDI Inflows (AED)', title: '2020 FDI Inflows (AED)',
value: '14.75 B', value: '14.75 B',
growthRate: '-39.68%', growthRate: '-39.68%',
@ -417,7 +421,7 @@ class CategoryPopupContent extends StatelessWidget {
), ),
lineBorder, lineBorder,
_FDIItem( _FDIItem(
icon: Icons.thumb_up_alt_outlined, icon: PopupAssetPath.stocks,
title: '2021 FDI Stocks (AED)', title: '2021 FDI Stocks (AED)',
value: '18.98 B', value: '18.98 B',
growthRate: '89.75%', growthRate: '89.75%',
@ -433,7 +437,7 @@ class CategoryPopupContent extends StatelessWidget {
children: [ children: [
const SizedBox(height: 16), const SizedBox(height: 16),
_TradeItem( _TradeItem(
icon: Icons.cached, icon: PopupAssetPath.trade,
title: '2021 Total Trade (AED)', title: '2021 Total Trade (AED)',
value: '603 B', value: '603 B',
growthRate: '39.89%', growthRate: '39.89%',
@ -441,7 +445,7 @@ class CategoryPopupContent extends StatelessWidget {
), ),
lineBorder, lineBorder,
_TradeItem( _TradeItem(
icon: Icons.download_outlined, icon: PopupAssetPath.imports,
title: '2021 Imports (AED)', title: '2021 Imports (AED)',
value: '272.9 B', value: '272.9 B',
growthRate: '40.79%', growthRate: '40.79%',
@ -449,7 +453,7 @@ class CategoryPopupContent extends StatelessWidget {
), ),
lineBorder, lineBorder,
_TradeItem( _TradeItem(
icon: Icons.upload_outlined, icon: PopupAssetPath.exports,
title: '2021 Exports (AED)', title: '2021 Exports (AED)',
value: '330.1 B', value: '330.1 B',
growthRate: '39.15%', growthRate: '39.15%',
@ -472,60 +476,90 @@ class CategoryPopupContent extends StatelessWidget {
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
const Center( const Center(
child: Text( child: Text.rich(
'Total \$472.5M', TextSpan(
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), text:'Total ',
style: TextStyle(fontSize: 20,),
children: [
TextSpan(
text:'\$472.5M',
style: TextStyle(fontSize: 28,fontWeight: FontWeight.w500),
)
]
)
), ),
), ),
const SizedBox(height: 16), const SizedBox(height: 16),
Row( Center(
mainAxisAlignment: MainAxisAlignment.spaceEvenly, child: Container(
children: const [ decoration: BoxDecoration(
_BilateralTradeValueBox( color: Color(0xFFF8F8F8),
label: 'Total Import', borderRadius: BorderRadius.circular(10),
value: '\$390.2M', ),
color: Color(0xFF00B292)), alignment: Alignment.center,
_BilateralTradeValueBox( width: screenWidth * 0.90,
label: 'Total Export', child:Row(
value: '\$42.2M', mainAxisAlignment: MainAxisAlignment.spaceEvenly,
color: Color(0xFFDE4D86)), children: const [
_BilateralTradeValueBox( _BilateralTradeValueBox(
label: 'Total ReExport', label: 'Total Import',
value: '\$40.2M', value: '\$390.2M',
color: Color(0xFF4D52A1)), color: Color(0xFF5BB3AA),
], isSelected: true,
),
_BilateralTradeValueBox(
label: 'Total Export',
value: '\$42.2M',
color: Color(0xFFB57184),
isSelected: false,
),
_BilateralTradeValueBox(
label: 'Total ReExport',
value: '\$40.2M',
color: Color(0xFF243E83),
isSelected: false,
),
],
),
),
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
const Center( const Center(
child: Text( child: Text(
'Top 5 Import Commodities', 'Top 5 Import Commodities',
style: TextStyle( style: TextStyle(
fontSize: 16, fontSize: 20,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Color(0xFF4FBFA8)), color: Color(0xFF4FBFA8),),
), ),
), ),
const SizedBox(height: 12), const SizedBox(height: 12),
yellowDivider,
_CommodityRow( _CommodityRow(
icon: Icons.eco, icon: PopupAssetPath.vegetable,
label: 'Vegetable Products', label: 'Vegetable Products',
value: '\$198.6M'), value: '\$198.6M',),
yellowDivider,
_CommodityRow( _CommodityRow(
icon: Icons.liquor, icon: PopupAssetPath.food,
label: 'Foodstuffs, Beverages, Spirits And Tobacco', label: 'Foodstuffs, Beverages, Spirits And Tobacco',
value: '\$89.9M'), value: '\$89.9M',),
yellowDivider,
_CommodityRow( _CommodityRow(
icon: Icons.build, icon: PopupAssetPath.metal,
label: 'Base Metals And Articles Of Base Metal', label: 'Base Metals And Articles Of Base Metal',
value: '\$65.6M'), value: '\$65.6M',),
yellowDivider,
_CommodityRow( _CommodityRow(
icon: Icons.pets, icon: PopupAssetPath.animal,
label: 'Live Animals And Their Products', label: 'Live Animals And Their Products',
value: '\$23.7M'), value: '\$23.7M',),
yellowDivider,
_CommodityRow( _CommodityRow(
icon: Icons.science, icon: PopupAssetPath.chemical,
label: 'Products Of The Chemical or Allied Industries', label: 'Products Of The Chemical or Allied Industries',
value: '\$4.7M'), value: '\$4.7M',),
const SizedBox(height: 16), const SizedBox(height: 16),
], ],
); );
@ -548,11 +582,11 @@ Widget _DemographyItem({
height: 40, height: 40,
), ),
const SizedBox(height: 4), const SizedBox(height: 4),
Text(title, style: const TextStyle(color: Color(0xFF666666))), Text(title, style: const TextStyle(color: Color(0xFF666666),fontSize: 20)),
const SizedBox(height: 4), const SizedBox(height: 4),
Text( Text(
value, value,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16), style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
textAlign: TextAlign.center, textAlign: TextAlign.center,
), ),
], ],
@ -577,7 +611,7 @@ Widget _DemographyStatItem({
height: 40, height: 40,
), ),
const SizedBox(height: 4), const SizedBox(height: 4),
Text(title, style: const TextStyle(color: Color(0xFF666666))), Text(title, style: const TextStyle(color: Color(0xFF666666),fontSize: 16)),
const SizedBox(height: 4), const SizedBox(height: 4),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -635,7 +669,7 @@ Widget _GDPMetricItem({
height: 40, height: 40,
), ),
const SizedBox(height: 4), const SizedBox(height: 4),
Text(title, style: const TextStyle(color: Color(0xFF666666))), Text(title, style: const TextStyle(color: Color(0xFF666666),fontSize: 16)),
const SizedBox(height: 4), const SizedBox(height: 4),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -673,7 +707,7 @@ Widget _GDPMetricItem({
} }
Widget _FDIItem({ Widget _FDIItem({
required IconData icon, required String icon,
required String title, required String title,
required String value, required String value,
required String growthRate, required String growthRate,
@ -681,32 +715,55 @@ Widget _FDIItem({
}) { }) {
return Column( return Column(
children: [ children: [
Icon(icon, size: 32, color: Colors.grey), Image.asset(
const SizedBox(height: 4), icon,
Text(title, style: const TextStyle(color: Colors.grey)), width: 40,
const SizedBox(height: 4), height: 40,
Text(
value,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18,
color: Colors.black,
),
), ),
const SizedBox(height: 2), const SizedBox(height: 4),
Text( Text(title, style: const TextStyle(color: Colors.grey,fontSize: 16),),
'$growthRate Growth Rate', const SizedBox(height: 4),
style: TextStyle( Row(
color: isPositive ? Colors.green : Colors.red, mainAxisAlignment: MainAxisAlignment.center,
fontSize: 12, children: [
Text(
value,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 28,
color: Colors.black,
),
), ),
const SizedBox(width: 12,),
Column(
children: [
Row(
children: [
Text(
growthRate,
style: TextStyle(fontSize: 16, color:isPositive ? Colors.green : Colors.red,fontWeight: FontWeight.w500),
),
Icon(isPositive ? Icons.arrow_upward:Icons.arrow_downward, size: 16, color: isPositive ? Colors.green : Colors.red),
],
),
Text(
'Growth Rate',
style: const TextStyle(fontSize: 12, color: Color(0xFF666666)),
),
],
),
],
), ),
], ],
); );
} }
Widget _TradeItem({ Widget _TradeItem({
required IconData icon, required String icon,
required String title, required String title,
required String value, required String value,
required String growthRate, required String growthRate,
@ -714,25 +771,48 @@ Widget _TradeItem({
}) { }) {
return Column( return Column(
children: [ children: [
Icon(icon, size: 32, color: Colors.grey), Image.asset(
const SizedBox(height: 4), icon,
Text(title, style: const TextStyle(color: Colors.grey)), width: 40,
const SizedBox(height: 4), height: 40,
Text(
value,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18,
color: Colors.black,
),
), ),
const SizedBox(height: 2), const SizedBox(height: 4),
Text( Text(title, style: const TextStyle(fontSize: 16,color: Colors.grey)),
'$growthRate Growth Rate', const SizedBox(height: 4),
style: TextStyle( Row(
color: isPositive ? Colors.green : Colors.red, mainAxisAlignment: MainAxisAlignment.center,
fontSize: 12, children: [
), Text(
value,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 28,
color: Colors.black,
),
),
const SizedBox(width: 12,),
Column(
children: [
Row(
children: [
Text(
growthRate,
style: TextStyle(fontSize: 16, color:isPositive ? Colors.green : Colors.red,fontWeight: FontWeight.w500),
),
Icon(isPositive ? Icons.arrow_upward:Icons.arrow_downward, size: 16, color: isPositive ? Colors.green : Colors.red),
],
),
Text(
'Growth Rate',
style: const TextStyle(fontSize: 12, color: Color(0xFF666666)),
),
],
),
],
), ),
], ],
); );
@ -742,34 +822,49 @@ class _BilateralTradeValueBox extends StatelessWidget {
final String label; final String label;
final String value; final String value;
final Color color; final Color color;
final bool isSelected;
const _BilateralTradeValueBox({ const _BilateralTradeValueBox({
required this.label, required this.label,
required this.value, required this.value,
required this.color, required this.color,
required this.isSelected,
}); });
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
height: 90,
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
decoration: BoxDecoration( decoration: BoxDecoration(
color: color.withOpacity(0.1), color: isSelected?Colors.white:Colors.transparent,
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
border: Border.all(color: color), border: isSelected?Border.all(color:Color(0xFFAA8E83)):null,
), boxShadow:isSelected ?[
BoxShadow(
color: Color(0xFFAA8E83).withValues(alpha: 0.5),
blurRadius: 15,
spreadRadius: 0,
offset: Offset(
0,
5,
),
),
]:null,
),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text( Text(
label, label,
style: TextStyle(fontSize: 12, color: color), style: TextStyle(fontSize: 13,),
), ),
const SizedBox(height: 4), const SizedBox(height: 4),
Text( Text(
value, value,
style: TextStyle( style: TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 14, fontSize: 22,
color: color, color: color,
), ),
), ),
@ -780,7 +875,7 @@ class _BilateralTradeValueBox extends StatelessWidget {
} }
Widget _CommodityRow({ Widget _CommodityRow({
required IconData icon, required String icon,
required String label, required String label,
required String value, required String value,
}) { }) {
@ -788,15 +883,20 @@ Widget _CommodityRow({
padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 12), padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 12),
child: Row( child: Row(
children: [ children: [
Icon(icon, size: 20, color: Colors.grey[600]), Image.asset(
icon,
width: 35,
height:35,
),
const SizedBox(width: 12), const SizedBox(width: 12),
Expanded( Expanded(
child: Text(label, style: const TextStyle(fontSize: 14)), child: Text(label, style: const TextStyle(fontSize: 13,fontWeight: FontWeight.w500)),
), ),
Text( Text(
value, value,
style: const TextStyle( style: const TextStyle(fontSize: 13,
fontWeight: FontWeight.bold, color: Colors.teal), fontWeight: FontWeight.w500,
color: Color(0xFF54AFA6),),
), ),
], ],
), ),
@ -806,7 +906,7 @@ Widget _CommodityRow({
void showCategoryPopup(BuildContext context, String category) { void showCategoryPopup(BuildContext context, String category) {
showDialog( showDialog(
context: context, context: context,
barrierColor: Colors.black.withOpacity(0.3), barrierColor: Colors.black.withValues(alpha: 0.3),
builder: (context) => BackdropFilter( builder: (context) => BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
child: Dialog( child: Dialog(