From 5160deb973cb72a3d08f80ac0dcae8ef7ac5f66b Mon Sep 17 00:00:00 2001 From: Amirmahdi Nourkazemi Date: Fri, 26 Jun 2026 17:29:21 +0330 Subject: [PATCH] feat: change theme --- .vscode/launch.json | 2 +- lib/core/config.dart | 2 +- lib/core/theme/app_theme.dart | 18 +++++++++++++----- lib/core/widgets/game_ui.dart | 6 +++--- .../chat/presentation/widgets/chat_panel.dart | 12 ++++++------ .../screen/private_table_screen.dart | 4 ++-- .../presentation/widgets/flame/hokm_game.dart | 2 +- .../widgets/flame/table_pieces.dart | 6 +++--- .../shop/presentation/screen/shop_screen.dart | 2 +- .../presentation/screen/lobby_screen.dart | 2 +- 10 files changed, 32 insertions(+), 24 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 33df1f8..14abf63 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -7,7 +7,7 @@ "type": "dart", "program": "lib/main.dart", "args": [ - "--dart-define=BASE_URL=http://192.168.72.210:8080", + "--dart-define=BASE_URL=http://192.168.8.210:8080", "--target-platform=android-arm64" ] }, diff --git a/lib/core/config.dart b/lib/core/config.dart index 11bd01d..d3a6341 100644 --- a/lib/core/config.dart +++ b/lib/core/config.dart @@ -8,7 +8,7 @@ class AppConfig { /// با تغییر شبکه/IP مک، مقدار dart-define یا همین پیش‌فرض را عوض کنید. static const String baseUrl = String.fromEnvironment( 'BASE_URL', - defaultValue: 'http://192.168.72.210:8080', + defaultValue: 'http://192.168.8.210:8080', ); static String get apiUrl => '$baseUrl/api'; diff --git a/lib/core/theme/app_theme.dart b/lib/core/theme/app_theme.dart index 24f25c8..0f983cc 100644 --- a/lib/core/theme/app_theme.dart +++ b/lib/core/theme/app_theme.dart @@ -3,17 +3,25 @@ import 'package:flutter/material.dart'; /// تم بصری حکم‌شو (الهام‌گرفته از اپ مرجع: قرمز تیره و طلایی). /// همه‌ی رنگ‌های پرتکرار اینجا متمرکزند تا در کد به‌صورت ثابتِ بی‌نام تکرار نشوند. class AppColors { - // پایه - static const bg = Color(0xFF3A0A12); - static const bgDark = Color(0xFF240108); - static const panel = Color(0xFF5A0E1A); + // پایه — تمِ شاهانهٔ ایران باستان: لاجوردِ تخت‌جمشید + طلا (با شنگرفِ کنتراست). + static const bg = Color(0xFF0E2347); // لاجوردِ شب + static const bgDark = Color(0xFF081428); // لاجوردِ تیره + static const panel = Color(0xFF17345C); // پنلِ نیمه‌شب آبی static const gold = Color(0xFFE9B949); static const goldDark = Color(0xFFB8860B); static const goldFaint = Color(0x33E9B949); // جداکننده/خطِ طلاییِ کم‌رنگ - static const accent = Color(0xFFB81D2A); + static const accent = Color(0xFFB81D2A); // شنگرفِ ایرانی (کنشِ مهم/خروج) static const green = Color(0xFF2E7D32); static const text = Color(0xFFF5E9D0); + // رمپِ لاجوردِ شاهانه (روشن → تیره) برای پس‌زمینه‌ها، پنل‌ها و میز. + static const lapis = Color(0xFF1E5FA8); // فیروزه‌ایِ روشن (تأکید/تب) + static const lapisHi = Color(0xFF1C4E8E); // سطحِ روشن (میز/اوال) + static const lapisMid = Color(0xFF1B4576); // پنلِ گرادیانِ بالا + static const lapisLo = Color(0xFF0C2848); // گرادیانِ پایین + static const lapisNight = Color(0xFF071A33); // لبهٔ میز/پس‌زمینهٔ Flame + static const lapisInk = Color(0xFF04101F); // مرکزِ تیرهٔ میز + // معنایی (دکمه‌ها/وضعیت/خال‌ها) static const success = Color(0xFF3FA34D); // سبزِ روشنِ دکمه static const successDark = Color(0xFF1B5E20); // سبزِ تیره (گرادیان/درخشش) diff --git a/lib/core/widgets/game_ui.dart b/lib/core/widgets/game_ui.dart index c413475..b75b129 100644 --- a/lib/core/widgets/game_ui.dart +++ b/lib/core/widgets/game_ui.dart @@ -20,7 +20,7 @@ class GameBackground extends StatelessWidget { gradient: RadialGradient( center: Alignment(0, -0.4), radius: 1.3, - colors: [Color(0xFF5A0F1E), AppColors.bgDark], + colors: [AppColors.lapisMid, AppColors.bgDark], stops: [0.0, 1.0], ), ), @@ -65,7 +65,7 @@ class GamePanel extends StatelessWidget { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [Color(0xFF6E1322), AppColors.bg], + colors: [AppColors.lapisMid, AppColors.bg], ), borderRadius: BorderRadius.circular(radius), border: Border.all(color: AppColors.gold, width: 2), @@ -223,7 +223,7 @@ class StatChip extends StatelessWidget { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [Color(0xFF2A0610), Color(0xFF14040A)], + colors: [AppColors.lapisLo, AppColors.lapisNight], ), borderRadius: BorderRadius.circular(20), border: Border.all(color: AppColors.goldDark), diff --git a/lib/feature/chat/presentation/widgets/chat_panel.dart b/lib/feature/chat/presentation/widgets/chat_panel.dart index 91ec5f9..ecbb73b 100644 --- a/lib/feature/chat/presentation/widgets/chat_panel.dart +++ b/lib/feature/chat/presentation/widgets/chat_panel.dart @@ -107,7 +107,7 @@ class _ChatPanelState extends State { isScrollable: true, tabAlignment: TabAlignment.center, indicator: BoxDecoration( - color: const Color(0xFF7B0E14), + color: AppColors.lapis, borderRadius: BorderRadius.circular(10), border: Border.all(color: AppColors.gold, width: 1.4), ), @@ -146,7 +146,7 @@ class _ChatPanelState extends State { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [Color(0xFF8E0E1B), Color(0xFF5A0A12)], + colors: [AppColors.lapisMid, AppColors.lapisLo], ), borderRadius: BorderRadius.circular(16), border: Border.all(color: AppColors.gold, width: 2), @@ -171,7 +171,7 @@ class _ChatPanelState extends State { ), child: const Text('بسته چت', style: TextStyle( - color: Color(0xFF3A0A12), + color: AppColors.lapisInk, fontSize: 17, fontWeight: FontWeight.bold)), ), @@ -184,7 +184,7 @@ class _ChatPanelState extends State { onTap: () => Navigator.pop(context), child: const CircleAvatar( radius: 15, - backgroundColor: Color(0xFFB81D2A), + backgroundColor: AppColors.accent, child: Icon(Icons.close, color: Colors.white, size: 18), ), ), @@ -211,7 +211,7 @@ class _ChatPanelState extends State { padding: const EdgeInsets.all(16), margin: const EdgeInsets.symmetric(horizontal: 24), decoration: BoxDecoration( - color: const Color(0xCC2A0710), + color: AppColors.lapisLo.withValues(alpha: 0.9), borderRadius: BorderRadius.circular(14), border: Border.all(color: AppColors.gold, width: 1.5), ), @@ -270,7 +270,7 @@ class _ChatPanelState extends State { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [Color(0xFF9A1622), Color(0xFF5E0E16)], + colors: [AppColors.lapisHi, AppColors.lapisLo], ), borderRadius: BorderRadius.circular(10), border: Border.all(color: AppColors.goldDark, width: 1.2), diff --git a/lib/feature/game/presentation/screen/private_table_screen.dart b/lib/feature/game/presentation/screen/private_table_screen.dart index 86e3071..8c3df0e 100644 --- a/lib/feature/game/presentation/screen/private_table_screen.dart +++ b/lib/feature/game/presentation/screen/private_table_screen.dart @@ -164,7 +164,7 @@ class _LobbyViewState extends State<_LobbyView> { child: Container( decoration: BoxDecoration( gradient: const RadialGradient( - colors: [Color(0xFF1E7E3A), Color(0xFF0C5022)], + colors: [AppColors.lapisHi, AppColors.lapisLo], radius: 0.9, ), borderRadius: BorderRadius.circular(160), @@ -291,7 +291,7 @@ class _LobbyViewState extends State<_LobbyView> { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [Color(0xFF8E1B2A), Color(0xFF5A0E18)], + colors: [AppColors.lapisMid, AppColors.lapisLo], ), borderRadius: BorderRadius.circular(10), border: Border.all(color: AppColors.gold, width: 1.5), diff --git a/lib/feature/game/presentation/widgets/flame/hokm_game.dart b/lib/feature/game/presentation/widgets/flame/hokm_game.dart index 0984bab..87ce209 100644 --- a/lib/feature/game/presentation/widgets/flame/hokm_game.dart +++ b/lib/feature/game/presentation/widgets/flame/hokm_game.dart @@ -72,7 +72,7 @@ class HokmGame extends FlameGame { HokmGame(this.cubit, {this.skin = 'simple'}); @override - Color backgroundColor() => const Color(0xFF0C3A1B); + Color backgroundColor() => AppColors.lapisNight; @override Future onLoad() async { diff --git a/lib/feature/game/presentation/widgets/flame/table_pieces.dart b/lib/feature/game/presentation/widgets/flame/table_pieces.dart index edab3b7..db97b8b 100644 --- a/lib/feature/game/presentation/widgets/flame/table_pieces.dart +++ b/lib/feature/game/presentation/widgets/flame/table_pieces.dart @@ -18,14 +18,14 @@ class Felt extends PositionComponent with HasGameReference { final w = game.size.x, h = game.size.y; final center = Offset(w / 2, h / 2); - // ۱) زمینِ سبزِ نمدی (کلِ صفحه) با وینیتِ شعاعی برای عمق. + // ۱) زمینِ لاجوردیِ نمدی (کلِ صفحه) با وینیتِ شعاعی برای عمق. canvas.drawRect( Rect.fromLTWH(0, 0, w, h), Paint() ..shader = RadialGradient( center: Alignment.center, radius: 1.0, - colors: const [Color(0xFF1C7A3E), Color(0xFF0C3A1B)], + colors: const [AppColors.lapisHi, AppColors.lapisNight], stops: const [0.5, 1.0], ).createShader(Rect.fromLTWH(0, 0, w, h)), ); @@ -62,7 +62,7 @@ class Felt extends PositionComponent with HasGameReference { ..shader = RadialGradient( center: Alignment.center, radius: 0.9, - colors: const [Color(0xFF153A63), Color(0xFF07172E)], + colors: const [AppColors.lapisLo, AppColors.lapisInk], stops: const [0.4, 1.0], ).createShader(rect), ); diff --git a/lib/feature/shop/presentation/screen/shop_screen.dart b/lib/feature/shop/presentation/screen/shop_screen.dart index 9288d00..6975d08 100644 --- a/lib/feature/shop/presentation/screen/shop_screen.dart +++ b/lib/feature/shop/presentation/screen/shop_screen.dart @@ -527,7 +527,7 @@ class _CardSkinArt extends StatelessWidget { decoration: BoxDecoration( borderRadius: BorderRadius.circular(10), gradient: const RadialGradient( - colors: [Color(0xFF12508F), Colors.black87], + colors: [AppColors.lapis, Colors.black87], radius: 0.95, ), border: Border.all( diff --git a/lib/feature/wallet/presentation/screen/lobby_screen.dart b/lib/feature/wallet/presentation/screen/lobby_screen.dart index a73e5d4..f6964af 100644 --- a/lib/feature/wallet/presentation/screen/lobby_screen.dart +++ b/lib/feature/wallet/presentation/screen/lobby_screen.dart @@ -152,7 +152,7 @@ class _TopBar extends StatelessWidget { gradient: const LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, - colors: [AppColors.bg, Color(0xFF1A0106)], + colors: [AppColors.bg, AppColors.bgDark], ), borderRadius: BorderRadius.circular(16), border: Border.all(color: AppColors.goldDark),