From c5ed5d75c7dbb240df20b808a0695a9aabe2ed90 Mon Sep 17 00:00:00 2001 From: AmirrezaChegini Date: Tue, 11 Nov 2025 10:45:57 +0330 Subject: [PATCH 1/2] fix: theme --- lib/common_ui/theme/my_theme.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/common_ui/theme/my_theme.dart b/lib/common_ui/theme/my_theme.dart index 7b1a386..ee0796a 100644 --- a/lib/common_ui/theme/my_theme.dart +++ b/lib/common_ui/theme/my_theme.dart @@ -14,9 +14,9 @@ class MyTheme { const MyTheme._internal(); factory MyTheme() => _i; - static final ThemeData light = ThemeData(brightness: Brightness.dark); + static final ThemeData light = ThemeData(brightness: Brightness.light); - static final ThemeData dark = ThemeData(brightness: Brightness.light); + static final ThemeData dark = ThemeData(brightness: Brightness.dark); static Map get lightColors => { ColorsName.primaryColor: MyColors.white, -- 2.30.2 From ab31f5aeb2aef94cfc603d3a4477c6a64a2bac55 Mon Sep 17 00:00:00 2001 From: AmirrezaChegini Date: Tue, 11 Nov 2025 12:00:36 +0330 Subject: [PATCH 2/2] add: finding player page --- assets/images/world_map.png | Bin 0 -> 9680 bytes assets/svg/magnifier.svg | 99 +++++++++++++ lib/common_ui/resources/my_assets.dart | 3 + .../presentation/ui/battle_find_page.dart | 140 ++++++++++++++++++ .../topic/presentation/ui/topic_page.dart | 6 +- lib/l10n/app_en.arb | 8 +- lib/l10n/app_localizations.dart | 36 +++++ lib/l10n/app_localizations_en.dart | 19 +++ 8 files changed, 307 insertions(+), 4 deletions(-) create mode 100644 assets/images/world_map.png create mode 100644 assets/svg/magnifier.svg create mode 100644 lib/features/battle_league/presentation/ui/battle_find_page.dart diff --git a/assets/images/world_map.png b/assets/images/world_map.png new file mode 100644 index 0000000000000000000000000000000000000000..57d19d7f47c4897492a6c74dd612474087bf3270 GIT binary patch literal 9680 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/common_ui/resources/my_assets.dart b/lib/common_ui/resources/my_assets.dart index 41d9662..8c30640 100644 --- a/lib/common_ui/resources/my_assets.dart +++ b/lib/common_ui/resources/my_assets.dart @@ -30,6 +30,7 @@ class MyAssets { static const String member3 = 'assets/images/member_3.png'; static const String member4 = 'assets/images/member_4.png'; static const String done = 'assets/images/done.png'; + static const String worldMap = 'assets/images/world_map.png'; /// ----- Svg ----- static const String iconHome = 'assets/svg/icon_home.svg'; @@ -64,6 +65,7 @@ class MyAssets { static const String micBLur = 'assets/svg/mic_blur.svg'; static const String iconArt = 'assets/svg/icon_art.svg'; static const String iconRandom = 'assets/svg/icon_random.svg'; + static const String magnifier = 'assets/svg/magnifier.svg'; /// ----- Audios ----- static const String sampleAudio = 'assets/audios/sample.mp3'; @@ -98,5 +100,6 @@ class MyAssets { member3, member4, done, + worldMap, ]; } diff --git a/lib/features/battle_league/presentation/ui/battle_find_page.dart b/lib/features/battle_league/presentation/ui/battle_find_page.dart new file mode 100644 index 0000000..6a4f3a9 --- /dev/null +++ b/lib/features/battle_league/presentation/ui/battle_find_page.dart @@ -0,0 +1,140 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_assets.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_colors.dart'; +import 'package:shia_game_flutter/common_ui/resources/my_text_style.dart'; +import 'package:shia_game_flutter/core/utils/gap.dart'; +import 'package:shia_game_flutter/core/utils/my_localization.dart'; +import 'package:shia_game_flutter/core/utils/screen_size.dart'; +import 'package:shia_game_flutter/core/widgets/container/my_container.dart'; +import 'package:shia_game_flutter/core/widgets/image/my_image.dart'; +import 'package:shia_game_flutter/core/widgets/text/gradient_text.dart'; +import 'package:shia_game_flutter/features/battle_league/presentation/controller/battle_league_controller.dart'; + +class BattleFindPage extends GetView { + const BattleFindPage({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: MyColors.battleLeagueBackgroundColor, + body: SafeArea( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 30), + child: Column( + children: [ + 20.h.gapHeight, + _rankTitle(context), + const Spacer(), + _findingImage(context), + const Spacer(), + _description(context), + 37.h.gapHeight, + const BattlePurpleButton(), + ], + ), + ), + ), + ); + } + + Container _rankTitle(BuildContext context) { + return Container( + height: 42.h, + width: context.widthScreen, + alignment: Alignment.center, + padding: const EdgeInsets.symmetric(horizontal: 17), + decoration: const ShapeDecoration( + shape: StadiumBorder(), + color: Color(0XFF2E0869), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: FittedBox( + child: Text( + '${context.translate.quiz_league} (june) | ${context.translate.your_place} (1,569)', + textAlign: TextAlign.center, + maxLines: 1, + style: Lexend.semiBold.copyWith(fontSize: 12.sp), + ), + ), + ), + 15.w.gapWidth, + const MyImage(asset: MyAssets.iconRank), + 4.w.gapWidth, + Text('265', style: Lexend.bold.copyWith(fontSize: 12.sp)), + ], + ), + ); + } + + Widget _findingImage(BuildContext context) { + return Stack( + alignment: Alignment.center, + children: [ + const MyImage(asset: MyAssets.worldMap), + const MyImage(asset: MyAssets.magnifier), + Positioned( + bottom: 0, + child: Text( + context.translate.finding_player, + style: Lexend.semiBold.copyWith(fontSize: 20.sp), + ), + ), + ], + ); + } + + Column _description(BuildContext context) { + return Column( + children: [ + Text('،،', style: Lexend.black.copyWith(fontSize: 84.sp, height: 1)), + Text( + context.translate.find_hint, + textAlign: TextAlign.center, + style: Lexend.regular.copyWith( + fontSize: 14.sp, + color: const Color(0XFFC9B7E8), + ), + ), + ], + ); + } +} + +class BattlePurpleButton extends StatelessWidget { + const BattlePurpleButton({super.key}); + + @override + Widget build(BuildContext context) { + return MyContainer( + onTap: () {}, + width: context.widthScreen, + height: 64.h, + borderRadius: const BorderRadius.all(Radius.circular(20)), + borderGradient: LinearGradient( + begin: AlignmentDirectional.topStart, + end: AlignmentDirectional.bottomEnd, + colors: [ + const Color(0XFF7F4CD4), + const Color(0XFF7F4CD4).withValues(alpha: 0), + ], + ), + gradient: const RadialGradient( + radius: 5, + center: Alignment(-0.5, 0), + colors: [Color(0xFF6A36BF), Color(0xFF562A9E)], + ), + child: GradientText( + text: context.translate.stop_finding, + fontSize: 22.sp, + color: const Color(0xFFE1E1E1), + offset: const Offset(0, 1.04), + blurRadius: 1.9, + shadowColor: const Color(0xFF898989), + ), + ); + } +} diff --git a/lib/features/topic/presentation/ui/topic_page.dart b/lib/features/topic/presentation/ui/topic_page.dart index 1fc7a4b..e934dd7 100644 --- a/lib/features/topic/presentation/ui/topic_page.dart +++ b/lib/features/topic/presentation/ui/topic_page.dart @@ -102,9 +102,9 @@ class TopicPage extends GetView { } Widget _startButton(BuildContext context) { - return const Padding( - padding: EdgeInsets.symmetric(horizontal: 30), - child: BattleLeagueStartButton(title: 'Start Finding'), + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 30), + child: BattleLeagueStartButton(title: context.translate.start_finding), ); } } diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 1637a54..13ea525 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -43,5 +43,11 @@ "or": "or", "random": "Random", "selection_option": "selection option", - "art": "Art" + "art": "Art", + "start_finding": "Start Finding", + "stop_finding": "Stop Finding", + "quiz_league": "Quiz league", + "your_place": "Your place", + "finding_player": "Finding player ...", + "find_hint": "The fastest player to answer the question correctly gets the point." } \ No newline at end of file diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 221c12e..ae41b97 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -357,6 +357,42 @@ abstract class AppLocalizations { /// In en, this message translates to: /// **'Art'** String get art; + + /// No description provided for @start_finding. + /// + /// In en, this message translates to: + /// **'Start Finding'** + String get start_finding; + + /// No description provided for @stop_finding. + /// + /// In en, this message translates to: + /// **'Stop Finding'** + String get stop_finding; + + /// No description provided for @quiz_league. + /// + /// In en, this message translates to: + /// **'Quiz league'** + String get quiz_league; + + /// No description provided for @your_place. + /// + /// In en, this message translates to: + /// **'Your place'** + String get your_place; + + /// No description provided for @finding_player. + /// + /// In en, this message translates to: + /// **'Finding player ...'** + String get finding_player; + + /// No description provided for @find_hint. + /// + /// In en, this message translates to: + /// **'The fastest player to answer the question correctly gets the point.'** + String get find_hint; } class _AppLocalizationsDelegate diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index d318215..6af744c 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -139,4 +139,23 @@ class AppLocalizationsEn extends AppLocalizations { @override String get art => 'Art'; + + @override + String get start_finding => 'Start Finding'; + + @override + String get stop_finding => 'Stop Finding'; + + @override + String get quiz_league => 'Quiz league'; + + @override + String get your_place => 'Your place'; + + @override + String get finding_player => 'Finding player ...'; + + @override + String get find_hint => + 'The fastest player to answer the question correctly gets the point.'; } -- 2.30.2