CountryProfile PopUp Updated
This commit is contained in:
parent
988ba186fc
commit
9d37fa04d3
@ -2,27 +2,27 @@ C/C++ Structured Logo
|
||||
m
|
||||
kC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\arm64-v8a\additional_project_files.txtC
|
||||
A
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ¥“¡<EFBFBD>ú2 äýŸÞø2l
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint <08>Åݰú2 äýŸÞø2l
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -2,27 +2,27 @@ C/C++ Structured Logq
|
||||
o
|
||||
mC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\armeabi-v7a\additional_project_files.txtC
|
||||
A
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint á“¡<EFBFBD>ú2 åÇ Þø2n
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ˜ÆÝ°ú2 åÇ Þø2n
|
||||
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
|
||||
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
|
||||
`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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -2,27 +2,27 @@ C/C++ Structured Logi
|
||||
g
|
||||
eC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86\additional_project_files.txtC
|
||||
A
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ‰”¡<EFBFBD>ú2 ÿò Þø2f
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ÍÆÝ°ú2 ÿò Þø2f
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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_
|
||||
]
|
||||
[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
|
||||
`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
|
||||
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
|
||||
@ -2,27 +2,27 @@ C/C++ Structured Logl
|
||||
j
|
||||
hC:\Flutter Applications\Git_New\FCSC\android\app\.cxx\Debug\29y7472m\x86_64\additional_project_files.txtC
|
||||
A
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint Ž•¡<EFBFBD>ú2 ù”¡Þø2i
|
||||
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint ïÆÝ°ú2 ù”¡Þø2i
|
||||
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
|
||||
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
|
||||
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
|
||||
`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
|
||||
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
|
||||
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
|
||||
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
|
||||
`
|
||||
^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
|
||||
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
|
||||
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
|
||||
BIN
assets/country-profile/icons/animal.png
Normal file
BIN
assets/country-profile/icons/animal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
BIN
assets/country-profile/icons/chemical.png
Normal file
BIN
assets/country-profile/icons/chemical.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
BIN
assets/country-profile/icons/food.png
Normal file
BIN
assets/country-profile/icons/food.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 87 KiB |
BIN
assets/country-profile/icons/metal.png
Normal file
BIN
assets/country-profile/icons/metal.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 47 KiB |
BIN
assets/country-profile/icons/vegetable.png
Normal file
BIN
assets/country-profile/icons/vegetable.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
@ -13,5 +13,11 @@ abstract class PopupAssetPath {
|
||||
static const perCapita = '$_basePath/perCapita.png';
|
||||
static const population = '$_basePath/population.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';
|
||||
}
|
||||
|
||||
@ -296,6 +296,10 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
);
|
||||
final yellowDivider=Divider(
|
||||
color: Color(0xFFE9BF70),
|
||||
);
|
||||
final screenWidth=MediaQuery.of(context).size.width;
|
||||
switch (category) {
|
||||
case 'Demography':
|
||||
return Column(
|
||||
@ -380,16 +384,16 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
lineBorder,
|
||||
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 Text(
|
||||
'Income Level',
|
||||
style: TextStyle(color: Colors.grey),
|
||||
style: TextStyle(color: Color(0xFF666666),fontSize: 16),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
const Text(
|
||||
'Upper Middle Income',
|
||||
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
|
||||
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
],
|
||||
@ -401,7 +405,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
children: [
|
||||
const SizedBox(height: 16),
|
||||
_FDIItem(
|
||||
icon: Icons.trending_down,
|
||||
icon: PopupAssetPath.outflows,
|
||||
title: '2020 FDI Outflows (AED)',
|
||||
value: '4.75 B',
|
||||
growthRate: '-15.94%',
|
||||
@ -409,7 +413,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
lineBorder,
|
||||
_FDIItem(
|
||||
icon: Icons.swap_horizontal_circle_outlined,
|
||||
icon: PopupAssetPath.inflows,
|
||||
title: '2020 FDI Inflows (AED)',
|
||||
value: '14.75 B',
|
||||
growthRate: '-39.68%',
|
||||
@ -417,7 +421,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
lineBorder,
|
||||
_FDIItem(
|
||||
icon: Icons.thumb_up_alt_outlined,
|
||||
icon: PopupAssetPath.stocks,
|
||||
title: '2021 FDI Stocks (AED)',
|
||||
value: '18.98 B',
|
||||
growthRate: '89.75%',
|
||||
@ -433,7 +437,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
children: [
|
||||
const SizedBox(height: 16),
|
||||
_TradeItem(
|
||||
icon: Icons.cached,
|
||||
icon: PopupAssetPath.trade,
|
||||
title: '2021 Total Trade (AED)',
|
||||
value: '603 B',
|
||||
growthRate: '39.89%',
|
||||
@ -441,7 +445,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
lineBorder,
|
||||
_TradeItem(
|
||||
icon: Icons.download_outlined,
|
||||
icon: PopupAssetPath.imports,
|
||||
title: '2021 Imports (AED)',
|
||||
value: '272.9 B',
|
||||
growthRate: '40.79%',
|
||||
@ -449,7 +453,7 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
lineBorder,
|
||||
_TradeItem(
|
||||
icon: Icons.upload_outlined,
|
||||
icon: PopupAssetPath.exports,
|
||||
title: '2021 Exports (AED)',
|
||||
value: '330.1 B',
|
||||
growthRate: '39.15%',
|
||||
@ -472,60 +476,90 @@ class CategoryPopupContent extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
const Center(
|
||||
child: Text(
|
||||
'Total \$472.5M',
|
||||
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
|
||||
child: Text.rich(
|
||||
TextSpan(
|
||||
text:'Total ',
|
||||
style: TextStyle(fontSize: 20,),
|
||||
children: [
|
||||
TextSpan(
|
||||
text:'\$472.5M',
|
||||
style: TextStyle(fontSize: 28,fontWeight: FontWeight.w500),
|
||||
|
||||
)
|
||||
]
|
||||
)
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: const [
|
||||
_BilateralTradeValueBox(
|
||||
label: 'Total Import',
|
||||
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)),
|
||||
],
|
||||
Center(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF8F8F8),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
alignment: Alignment.center,
|
||||
width: screenWidth * 0.90,
|
||||
child:Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: const [
|
||||
_BilateralTradeValueBox(
|
||||
label: 'Total Import',
|
||||
value: '\$390.2M',
|
||||
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 Center(
|
||||
child: Text(
|
||||
'Top 5 Import Commodities',
|
||||
style: TextStyle(
|
||||
fontSize: 16,
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Color(0xFF4FBFA8)),
|
||||
color: Color(0xFF4FBFA8),),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
yellowDivider,
|
||||
_CommodityRow(
|
||||
icon: Icons.eco,
|
||||
icon: PopupAssetPath.vegetable,
|
||||
label: 'Vegetable Products',
|
||||
value: '\$198.6M'),
|
||||
value: '\$198.6M',),
|
||||
yellowDivider,
|
||||
_CommodityRow(
|
||||
icon: Icons.liquor,
|
||||
icon: PopupAssetPath.food,
|
||||
label: 'Foodstuffs, Beverages, Spirits And Tobacco',
|
||||
value: '\$89.9M'),
|
||||
value: '\$89.9M',),
|
||||
yellowDivider,
|
||||
_CommodityRow(
|
||||
icon: Icons.build,
|
||||
icon: PopupAssetPath.metal,
|
||||
label: 'Base Metals And Articles Of Base Metal',
|
||||
value: '\$65.6M'),
|
||||
value: '\$65.6M',),
|
||||
yellowDivider,
|
||||
_CommodityRow(
|
||||
icon: Icons.pets,
|
||||
icon: PopupAssetPath.animal,
|
||||
label: 'Live Animals And Their Products',
|
||||
value: '\$23.7M'),
|
||||
value: '\$23.7M',),
|
||||
yellowDivider,
|
||||
_CommodityRow(
|
||||
icon: Icons.science,
|
||||
icon: PopupAssetPath.chemical,
|
||||
label: 'Products Of The Chemical or Allied Industries',
|
||||
value: '\$4.7M'),
|
||||
value: '\$4.7M',),
|
||||
const SizedBox(height: 16),
|
||||
],
|
||||
);
|
||||
@ -548,11 +582,11 @@ Widget _DemographyItem({
|
||||
height: 40,
|
||||
),
|
||||
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),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
|
||||
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
],
|
||||
@ -577,7 +611,7 @@ Widget _DemographyStatItem({
|
||||
height: 40,
|
||||
),
|
||||
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),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@ -635,7 +669,7 @@ Widget _GDPMetricItem({
|
||||
height: 40,
|
||||
),
|
||||
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),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
@ -673,7 +707,7 @@ Widget _GDPMetricItem({
|
||||
}
|
||||
|
||||
Widget _FDIItem({
|
||||
required IconData icon,
|
||||
required String icon,
|
||||
required String title,
|
||||
required String value,
|
||||
required String growthRate,
|
||||
@ -681,32 +715,55 @@ Widget _FDIItem({
|
||||
}) {
|
||||
return Column(
|
||||
children: [
|
||||
Icon(icon, size: 32, color: Colors.grey),
|
||||
const SizedBox(height: 4),
|
||||
Text(title, style: const TextStyle(color: Colors.grey)),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 18,
|
||||
color: Colors.black,
|
||||
),
|
||||
Image.asset(
|
||||
icon,
|
||||
width: 40,
|
||||
height: 40,
|
||||
),
|
||||
const SizedBox(height: 2),
|
||||
Text(
|
||||
'$growthRate Growth Rate',
|
||||
style: TextStyle(
|
||||
color: isPositive ? Colors.green : Colors.red,
|
||||
fontSize: 12,
|
||||
const SizedBox(height: 4),
|
||||
Text(title, style: const TextStyle(color: Colors.grey,fontSize: 16),),
|
||||
const SizedBox(height: 4),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
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({
|
||||
required IconData icon,
|
||||
required String icon,
|
||||
required String title,
|
||||
required String value,
|
||||
required String growthRate,
|
||||
@ -714,25 +771,48 @@ Widget _TradeItem({
|
||||
}) {
|
||||
return Column(
|
||||
children: [
|
||||
Icon(icon, size: 32, color: Colors.grey),
|
||||
const SizedBox(height: 4),
|
||||
Text(title, style: const TextStyle(color: Colors.grey)),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 18,
|
||||
color: Colors.black,
|
||||
),
|
||||
Image.asset(
|
||||
icon,
|
||||
width: 40,
|
||||
height: 40,
|
||||
),
|
||||
const SizedBox(height: 2),
|
||||
Text(
|
||||
'$growthRate Growth Rate',
|
||||
style: TextStyle(
|
||||
color: isPositive ? Colors.green : Colors.red,
|
||||
fontSize: 12,
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text(title, style: const TextStyle(fontSize: 16,color: Colors.grey)),
|
||||
const SizedBox(height: 4),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
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 value;
|
||||
final Color color;
|
||||
final bool isSelected;
|
||||
|
||||
const _BilateralTradeValueBox({
|
||||
required this.label,
|
||||
required this.value,
|
||||
required this.color,
|
||||
required this.isSelected,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
height: 90,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8),
|
||||
decoration: BoxDecoration(
|
||||
color: color.withOpacity(0.1),
|
||||
color: isSelected?Colors.white:Colors.transparent,
|
||||
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(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
label,
|
||||
style: TextStyle(fontSize: 12, color: color),
|
||||
style: TextStyle(fontSize: 13,),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: 14,
|
||||
fontSize: 22,
|
||||
color: color,
|
||||
),
|
||||
),
|
||||
@ -780,7 +875,7 @@ class _BilateralTradeValueBox extends StatelessWidget {
|
||||
}
|
||||
|
||||
Widget _CommodityRow({
|
||||
required IconData icon,
|
||||
required String icon,
|
||||
required String label,
|
||||
required String value,
|
||||
}) {
|
||||
@ -788,15 +883,20 @@ Widget _CommodityRow({
|
||||
padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 12),
|
||||
child: Row(
|
||||
children: [
|
||||
Icon(icon, size: 20, color: Colors.grey[600]),
|
||||
Image.asset(
|
||||
icon,
|
||||
width: 35,
|
||||
height:35,
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
Expanded(
|
||||
child: Text(label, style: const TextStyle(fontSize: 14)),
|
||||
child: Text(label, style: const TextStyle(fontSize: 13,fontWeight: FontWeight.w500)),
|
||||
),
|
||||
Text(
|
||||
value,
|
||||
style: const TextStyle(
|
||||
fontWeight: FontWeight.bold, color: Colors.teal),
|
||||
style: const TextStyle(fontSize: 13,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Color(0xFF54AFA6),),
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -806,7 +906,7 @@ Widget _CommodityRow({
|
||||
void showCategoryPopup(BuildContext context, String category) {
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierColor: Colors.black.withOpacity(0.3),
|
||||
barrierColor: Colors.black.withValues(alpha: 0.3),
|
||||
builder: (context) => BackdropFilter(
|
||||
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
|
||||
child: Dialog(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user