feat:add frames

This commit is contained in:
2026-07-08 12:15:06 +03:30
parent 46a649166b
commit df2ae2a215
9 changed files with 379 additions and 70 deletions
@@ -3,6 +3,7 @@ import 'package:random_avatar/random_avatar.dart';
import '../../../../core/network/ws_client.dart';
import '../../../../core/theme/app_theme.dart';
import '../../../../core/theme/frames.dart';
import '../../domain/entities/game_entities.dart';
import '../bloc/game_state.dart';
@@ -227,6 +228,10 @@ List<Color> _rankFrame(String tier) {
}
}
/// قابِ نمایشِ آواتارِ یک بازیکن: قابِ اختصاصیِ خریداری‌شده (اگر باشد)، وگرنه قابِ رتبه.
List<Color> _seatFrame(GamePlayer p) =>
frameGradient(p.frame) ?? _rankFrame(p.bot ? '' : p.rankTier);
class _PlayerSeat extends StatelessWidget {
final GamePlayer player;
final double diameter;
@@ -287,7 +292,7 @@ class _PlayerSeat extends StatelessWidget {
clipBehavior: Clip.none,
alignment: Alignment.center,
children: [
// قابِ رتبه‌ای + آواتار (رنگِ قاب بر اساسِ نشانِ رتبه‌ی بازیکن).
// قابِ آواتار: قابِ اختصاصیِ خریداری‌شده (اگر باشد)، وگرنه قابِ رتبه.
Container(
width: diameter,
height: diameter,
@@ -296,14 +301,13 @@ class _PlayerSeat extends StatelessWidget {
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: _rankFrame(player.bot ? '' : player.rankTier),
colors: _seatFrame(player),
),
boxShadow: [
const BoxShadow(color: Colors.black54, blurRadius: 6),
if (isTurn)
BoxShadow(
color: _rankFrame(player.rankTier)[0]
.withValues(alpha: 0.6),
color: _seatFrame(player)[0].withValues(alpha: 0.6),
blurRadius: 12),
],
),