competitiveness ph-1

This commit is contained in:
Juki-shiba 2025-06-11 18:38:10 +05:30
parent 3aba16f9f9
commit 62ba6d52c7
7 changed files with 189 additions and 195 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -372,8 +372,8 @@ final GoRouter router = GoRouter(
routes: [ routes: [
GoRoute( GoRoute(
path: '/', path: '/',
// builder: (context, state) => LoginRoute(), builder: (context, state) => Competitiveness(),
builder: (context, state) => SessionCheckScreen(), // builder: (context, state) => SessionCheckScreen(),
), ),
// GoRoute( // GoRoute(
// path: '/', // path: '/',
@ -673,7 +673,7 @@ final GoRouter router = GoRouter(
path: '/reportDetail', path: '/reportDetail',
builder: (context, state) { builder: (context, state) {
final report = state.extra as Map<String, dynamic>; final report = state.extra as Map<String, dynamic>;
return ReportDetailPage(report: report); return ReportDetailPage();
}, },
), ),

View File

@ -118,6 +118,7 @@
"new_password_required": "كلمة المرور الجديدة مطلوبة", "new_password_required": "كلمة المرور الجديدة مطلوبة",
"old_password_is_required": "كلمة المرور القديمة مطلوبة", "old_password_is_required": "كلمة المرور القديمة مطلوبة",
"confirm_password_is_required": "تأكيد كلمة المرور مطلوب", "confirm_password_is_required": "تأكيد كلمة المرور مطلوب",
"UAE Competitiveness":"التقارير التنافسيه لدولة الامارات",
"kpiCards": "يمكنك عرض بطاقات مؤشرات الأداء الرئيسية التفاعلية والرسوم البيانية لاستكشاف اتجاهات البيانات ومقارنة المقاييس الرئيسية بصريًا", "kpiCards": "يمكنك عرض بطاقات مؤشرات الأداء الرئيسية التفاعلية والرسوم البيانية لاستكشاف اتجاهات البيانات ومقارنة المقاييس الرئيسية بصريًا",
"home_topic": "اختر أي فئة (على سيبل المثال : الاقتصاد، الاجتماعية، البيئة) لاستكشاف مؤشرات الأداء الرئيسية التفصيلية ، التصورات، ورؤى البيانات .", "home_topic": "اختر أي فئة (على سيبل المثال : الاقتصاد، الاجتماعية، البيئة) لاستكشاف مؤشرات الأداء الرئيسية التفصيلية ، التصورات، ورؤى البيانات .",

View File

@ -4,209 +4,202 @@ import 'package:uae_stat/domain/use_cases/language.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';
class ReportDetailPage extends StatelessWidget { class ReportDetailPage extends StatelessWidget {
final Map<String, dynamic> report; const ReportDetailPage({super.key});
const ReportDetailPage({super.key, required this.report});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
double width = MediaQuery.of(context).size.width;
return BaseScaffold( return BaseScaffold(
title: Text( title: Text(
context.translate('UAE Competitiveness', 'القدرة التنافسية للإمارات'), // Add localization context.translate(
'UAE Competitiveness',
'التقارير التنافسيه لدولة الامارات',
),
style: TextStyle( style: TextStyle(
fontFamily: context.translate('Roboto', 'NotoKufi'), fontFamily: context.translate(
'Roboto',
'NotoKufi',
)
), ),
), ),
// hasDrawer: false,
showBackButton: true, showBackButton: true,
body: SingleChildScrollView( body: SingleChildScrollView(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
// Header Section: Report Title and Image Container(
Center( padding: EdgeInsets.all(12),
child: Column( decoration: BoxDecoration(
color: Colors.grey[100],
borderRadius: BorderRadius.circular(12),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Expanded(
child: Text(
'Prosperity Index (2023)',
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.bold,
),
),
),
Image.asset( Image.asset(
'assets/competitiveness/solo.png', 'assets/competitiveness/solo.png',
height: 80, // Increase size for prominence height: 71,
), width: 84,
const SizedBox(height: 8),
Text(
context.translate('Prosperity Index (2023)', 'مؤشر الازدهار (2023)'),
style: const TextStyle(
fontSize: 22,
fontWeight: FontWeight.bold,
),
), ),
], ],
), ),
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
// Description Section const Text(
Text( 'The Legatum Prosperity Index is published annually by the Legatum Institute. It is a policy-focused report that measures the current state of prosperity since 2007. Using the Prosperity Index framework, nations around the world can assess their strengths and weaknesses in order to determine the economic and strategic choices that need to be made to further build inclusive societies, open economies, and empowered people to drive greater levels of prosperity.',
context.translate( style: TextStyle(fontSize: 13),
"The Legatum Prosperity Index is published annually by the Legatum Institute. It is a policy-focused report that measures the current state of prosperity since 2007. Using the Prosperity Index framework, nations around the world can assess their strengths and weaknesses in order to determine the economic and strategic choices that need to be made to further build inclusive societies, open economies, and empowered people to drive greater levels of prosperity.",
"يُنشر مؤشر الازدهار الليجاتوم سنويًا من قبل معهد ليجاتوم. إنه تقرير يركز على السياسات ويقيس الحالة الحالية للازدهار منذ عام 2007. باستخدام إطار مؤشر الازدهار، يمكن للدول حول العالم تقييم نقاط قوتها وضعفها لتحديد الخيارات الاقتصادية والاستراتيجية التي يجب اتخاذها لتعزيز بناء مجتمعات شاملة واقتصادات مفتوحة وتمكين الأفراد لدفع مستويات أعلى من الازدهار.",
),
style: const TextStyle(fontSize: 14),
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
// Ranking Section (Using LeaderCard-like styling) // Ranking section
Wrap( Row(
spacing: 16, mainAxisAlignment: MainAxisAlignment.spaceEvenly,
runSpacing: 16,
alignment: WrapAlignment.center,
children: [ children: [
_RankingCard( _RankingCard(
title: context.translate('Rank in 2023', 'الترتيب في 2023'), title: 'Rank in 2023',
value: "44", value: '44',
icon: const Icon(Icons.arrow_downward, color: Colors.red, size: 16), icon: const Icon(Icons.arrow_downward, color: Colors.red, size: 25,weight: 50),
), ),
_RankingCard( _RankingCard(
title: context.translate('vs. Previous Edition', 'مقارنة بالإصدار السابق'), title: 'vs. Previous Edition',
value: "41", value: '41',
icon: const SizedBox.shrink(), // No icon for this icon: const SizedBox.shrink(),
), ),
], ],
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
// Country Rankings Section (Using CategoryButton-like styling) // Country ranking section
// Wrap( _CountryRankingItem(
// spacing: 16, title: 'First Globally',
// runSpacing: 16, country: 'DENMARK',
// alignment: WrapAlignment.center, flagPath: 'assets/country_flags/de.png',
// children: [ ),
// _CountryRankingButton( const Divider(),
// title: context.translate('First Globally: DENMARK', 'الأول عالميًا: الدنمارك'), _CountryRankingItem(
// imagePath: 'assets/flags/denmark.png', title: 'First in Oman',
// color: const Color(0xFFD7C1AF), country: 'Oman',
// ), flagPath: 'assets/country_flags/fk.png',
// _CountryRankingButton( ),
// title: context.translate('First in GCC: MULTIPLE COUNTRIES', 'الأول في دول الخليج: دول متعددة'), const Divider(),
// imagePath: null, // No specific flag _CountryRankingItem(
// color: const Color(0xFFAEC6CF), title: 'First in Arab Countries',
// ), country: 'UNITED ARAB EMIRATES',
// _CountryRankingButton( flagPath: 'assets/country_flags/ga.png',
// title: context.translate('First in Arab Countries: UAE', 'الأول في الدول العربية: الإمارات'), ),
// imagePath: 'assets/flags/uae.png',
// color: const Color(0xFFD7AFAF),
// ),
// ],
// ),
], ],
), ),
), ),
); );
} }
} }
// Ranking Card (similar to _LeaderCard)
class _RankingCard extends StatelessWidget { class _RankingCard extends StatelessWidget {
final String title; final String title;
final String value; final String value;
final Widget icon; final Widget icon;
const _RankingCard({ const _RankingCard({
Key? key,
required this.title, required this.title,
required this.value, required this.value,
required this.icon, required this.icon,
}) : super(key: key); });
@override
Widget build(BuildContext context) {
return SizedBox(
width: 160,
child: Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey[100],
borderRadius: BorderRadius.circular(12),
),
child: Column(
children: [
Text(
title,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 13,
color: Colors.black54,
),
),
const SizedBox(height: 4),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
value,
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
),
),
const SizedBox(width: 4),
icon,
],
),
],
),
),
);
}
}
// Country Ranking Button (similar to _CategoryButton)
class _CountryRankingButton extends StatelessWidget {
final String title;
final String? imagePath;
final Color color;
const _CountryRankingButton({
Key? key,
required this.title,
required this.imagePath,
required this.color,
}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
margin: const EdgeInsets.symmetric(vertical: 6),
width: 160, width: 160,
height: 70, padding: const EdgeInsets.all(12),
decoration: BoxDecoration( decoration: BoxDecoration(
color: color, color: Colors.grey[100],
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(12),
), ),
alignment: Alignment.center, child: Column(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
if (imagePath != null) ...[ Text(
Image.asset( title,
imagePath!, textAlign: TextAlign.center,
width: 24, style: const TextStyle(fontSize: 13, color: Colors.black54),
height: 24, ),
), const SizedBox(height: 4),
const SizedBox(width: 8), Row(
], mainAxisAlignment: MainAxisAlignment.center,
Flexible( children: [
child: Text( Text(
title, value,
style: const TextStyle( style: const TextStyle(
color: Colors.white, fontSize: 36,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
fontSize: 14, ),
), ),
textAlign: TextAlign.center, const SizedBox(width: 6),
overflow: TextOverflow.ellipsis, icon,
],
),
],
),
);
}
}
class _CountryRankingItem extends StatelessWidget {
final String title;
final String country;
final String flagPath;
const _CountryRankingItem({
required this.title,
required this.country,
required this.flagPath,
});
@override
Widget build(BuildContext context) {
return Container(
color: Colors.grey[100],
padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 8),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: const TextStyle(fontSize: 14, color: Colors.black54),
),
const SizedBox(height: 4),
Text(
country,
style: const TextStyle(
fontSize: 20,
fontWeight: FontWeight.bold,
),
),
],
),
),
const SizedBox(width: 16),
ClipOval(
child: Container(
width: 50,
height: 50,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.transparent,
),
child: Image.asset(flagPath, width: 50, height: 50, fit: BoxFit.cover),
), ),
), ),
], ],