diff --git a/android/app/.cxx/Debug/6k676t62/arm64-v8a/configure_fingerprint.bin b/android/app/.cxx/Debug/6k676t62/arm64-v8a/configure_fingerprint.bin index 9f1acb5e..d9056f6c 100644 --- a/android/app/.cxx/Debug/6k676t62/arm64-v8a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/6k676t62/arm64-v8a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Loge c aC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\additional_project_files.txtC 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 -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 -PC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja  2 Ʊ2X +PC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\arm64-v8a\build.ninja  2 Ʊ2X 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 -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[ 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 -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/6k676t62/armeabi-v7a/configure_fingerprint.bin b/android/app/.cxx/Debug/6k676t62/armeabi-v7a/configure_fingerprint.bin index 14592bed..771596e7 100644 --- a/android/app/.cxx/Debug/6k676t62/armeabi-v7a/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/6k676t62/armeabi-v7a/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logg e cC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\additional_project_files.txtC A -?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  2  啋2d +?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ⼓2  啋2d 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 -eC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build_mini.json  2 2V +eC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\armeabi-v7a\android_gradle_build_mini.json  ⼓2 2V 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 -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 -`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 -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] [ -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 -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  ⼓2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/6k676t62/x86/configure_fingerprint.bin b/android/app/.cxx/Debug/6k676t62/x86/configure_fingerprint.bin index 98a269ef..3ff98ec2 100644 --- a/android/app/.cxx/Debug/6k676t62/x86/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/6k676t62/x86/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Log_ ] [C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\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\ Z -XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build.json  2 2a +XC:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\x86\android_gradle_build.json  2 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  2 2N 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  2 2R 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  2W 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  2 S 2X 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  2\ 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  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  2  2U 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  2  ( 2Z 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  2  M 2W U -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/android/app/.cxx/Debug/6k676t62/x86_64/configure_fingerprint.bin b/android/app/.cxx/Debug/6k676t62/x86_64/configure_fingerprint.bin index 02f709e1..5d08449f 100644 --- a/android/app/.cxx/Debug/6k676t62/x86_64/configure_fingerprint.bin +++ b/android/app/.cxx/Debug/6k676t62/x86_64/configure_fingerprint.bin @@ -2,27 +2,27 @@ C/C++ Structured Logb ` ^C:\flutter code\share\FCSC\android\app\.cxx\Debug\6k676t62\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_ ] -[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 -`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 -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 -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 -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 -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 -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 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 -SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file +SC:\flutter\src\flutter\packages\flutter_tools\gradle\src\main\groovy\CMakeLists.txt  2  2 \ No newline at end of file diff --git a/lib/config/my_router.dart b/lib/config/my_router.dart index 058bb76a..c4c31ad6 100644 --- a/lib/config/my_router.dart +++ b/lib/config/my_router.dart @@ -372,8 +372,8 @@ final GoRouter router = GoRouter( routes: [ GoRoute( path: '/', - // builder: (context, state) => LoginRoute(), - builder: (context, state) => SessionCheckScreen(), + builder: (context, state) => Competitiveness(), + // builder: (context, state) => SessionCheckScreen(), ), // GoRoute( // path: '/', @@ -673,7 +673,7 @@ final GoRouter router = GoRouter( path: '/reportDetail', builder: (context, state) { final report = state.extra as Map; - return ReportDetailPage(report: report); + return ReportDetailPage(); }, ), diff --git a/lib/l10n/intl_ar.arb b/lib/l10n/intl_ar.arb index 7e41b973..fb887af0 100644 --- a/lib/l10n/intl_ar.arb +++ b/lib/l10n/intl_ar.arb @@ -118,6 +118,7 @@ "new_password_required": "كلمة المرور الجديدة مطلوبة", "old_password_is_required": "كلمة المرور القديمة مطلوبة", "confirm_password_is_required": "تأكيد كلمة المرور مطلوب", + "UAE Competitiveness":"التقارير التنافسيه لدولة الامارات", "kpiCards": "يمكنك عرض بطاقات مؤشرات الأداء الرئيسية التفاعلية والرسوم البيانية لاستكشاف اتجاهات البيانات ومقارنة المقاييس الرئيسية بصريًا", "home_topic": "اختر أي فئة (على سيبل المثال : الاقتصاد، الاجتماعية، البيئة) لاستكشاف مؤشرات الأداء الرئيسية التفصيلية ، التصورات، ورؤى البيانات .", diff --git a/lib/presentation/Screens/Bottom Navigation Pages/Competitiveness/Detailedcompetitiveness.dart b/lib/presentation/Screens/Bottom Navigation Pages/Competitiveness/Detailedcompetitiveness.dart index 961485a3..2b6001f2 100644 --- a/lib/presentation/Screens/Bottom Navigation Pages/Competitiveness/Detailedcompetitiveness.dart +++ b/lib/presentation/Screens/Bottom Navigation Pages/Competitiveness/Detailedcompetitiveness.dart @@ -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'; class ReportDetailPage extends StatelessWidget { - final Map report; - - const ReportDetailPage({super.key, required this.report}); + const ReportDetailPage({super.key}); @override Widget build(BuildContext context) { - double width = MediaQuery.of(context).size.width; - return BaseScaffold( title: Text( - context.translate('UAE Competitiveness', 'القدرة التنافسية للإمارات'), // Add localization + context.translate( + 'UAE Competitiveness', + 'التقارير التنافسيه لدولة الامارات', + ), style: TextStyle( - fontFamily: context.translate('Roboto', 'NotoKufi'), + fontFamily: context.translate( + 'Roboto', + 'NotoKufi', + ) ), ), - // hasDrawer: false, showBackButton: true, body: SingleChildScrollView( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - // Header Section: Report Title and Image - Center( - child: Column( + Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Expanded( + child: Text( + 'Prosperity Index (2023)', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + ), + ), + ), Image.asset( 'assets/competitiveness/solo.png', - height: 80, // Increase size for prominence - ), - const SizedBox(height: 8), - Text( - context.translate('Prosperity Index (2023)', 'مؤشر الازدهار (2023)'), - style: const TextStyle( - fontSize: 22, - fontWeight: FontWeight.bold, - ), + height: 71, + width: 84, ), ], ), ), const SizedBox(height: 24), - // Description Section - Text( - context.translate( - "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 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.', + style: TextStyle(fontSize: 13), ), const SizedBox(height: 24), - // Ranking Section (Using LeaderCard-like styling) - Wrap( - spacing: 16, - runSpacing: 16, - alignment: WrapAlignment.center, + // Ranking section + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ _RankingCard( - title: context.translate('Rank in 2023', 'الترتيب في 2023'), - value: "44", - icon: const Icon(Icons.arrow_downward, color: Colors.red, size: 16), + title: 'Rank in 2023', + value: '44', + icon: const Icon(Icons.arrow_downward, color: Colors.red, size: 25,weight: 50), ), _RankingCard( - title: context.translate('vs. Previous Edition', 'مقارنة بالإصدار السابق'), - value: "41", - icon: const SizedBox.shrink(), // No icon for this + title: 'vs. Previous Edition', + value: '41', + icon: const SizedBox.shrink(), ), ], ), const SizedBox(height: 24), - // Country Rankings Section (Using CategoryButton-like styling) - // Wrap( - // spacing: 16, - // runSpacing: 16, - // alignment: WrapAlignment.center, - // children: [ - // _CountryRankingButton( - // title: context.translate('First Globally: DENMARK', 'الأول عالميًا: الدنمارك'), - // imagePath: 'assets/flags/denmark.png', - // color: const Color(0xFFD7C1AF), - // ), - // _CountryRankingButton( - // title: context.translate('First in GCC: MULTIPLE COUNTRIES', 'الأول في دول الخليج: دول متعددة'), - // imagePath: null, // No specific flag - // color: const Color(0xFFAEC6CF), - // ), - // _CountryRankingButton( - // title: context.translate('First in Arab Countries: UAE', 'الأول في الدول العربية: الإمارات'), - // imagePath: 'assets/flags/uae.png', - // color: const Color(0xFFD7AFAF), - // ), - // ], - // ), + // Country ranking section + _CountryRankingItem( + title: 'First Globally', + country: 'DENMARK', + flagPath: 'assets/country_flags/de.png', + ), + const Divider(), + _CountryRankingItem( + title: 'First in Oman', + country: 'Oman', + flagPath: 'assets/country_flags/fk.png', + ), + const Divider(), + _CountryRankingItem( + title: 'First in Arab Countries', + country: 'UNITED ARAB EMIRATES', + flagPath: 'assets/country_flags/ga.png', + ), ], ), ), ); } } - -// Ranking Card (similar to _LeaderCard) class _RankingCard extends StatelessWidget { final String title; final String value; final Widget icon; const _RankingCard({ - Key? key, required this.title, required this.value, 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 Widget build(BuildContext context) { return Container( + margin: const EdgeInsets.symmetric(vertical: 6), width: 160, - height: 70, + padding: const EdgeInsets.all(12), decoration: BoxDecoration( - color: color, - borderRadius: BorderRadius.circular(16), + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), ), - alignment: Alignment.center, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, + child: Column( children: [ - if (imagePath != null) ...[ - Image.asset( - imagePath!, - width: 24, - height: 24, - ), - const SizedBox(width: 8), - ], - Flexible( - child: Text( - title, - style: const TextStyle( - color: Colors.white, - fontWeight: FontWeight.bold, - fontSize: 14, + Text( + title, + textAlign: TextAlign.center, + style: const TextStyle(fontSize: 13, color: Colors.black54), + ), + const SizedBox(height: 4), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + value, + style: const TextStyle( + fontSize: 36, + fontWeight: FontWeight.bold, + ), ), - textAlign: TextAlign.center, - overflow: TextOverflow.ellipsis, + const SizedBox(width: 6), + 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), ), ), ],