import 'package:awale/ui/widgets/game/game_player.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:awale/cubit/game_cubit.dart'; import 'package:awale/models/game/game.dart'; import 'package:awale/ui/widgets/game/game_board.dart'; import 'package:awale/ui/widgets/game/game_end.dart'; class GameLayout extends StatelessWidget { const GameLayout({super.key}); @override Widget build(BuildContext context) { return BlocBuilder<GameCubit, GameState>( builder: (BuildContext context, GameState gameState) { final Game currentGame = gameState.currentGame; var screenSize = MediaQuery.of(context).size; const totalMargins = 9 * 4; final availableHeight = screenSize.height - totalMargins; final double baseSize = availableHeight / 10; return Container( alignment: AlignmentDirectional.topCenter, padding: const EdgeInsets.all(4), child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, children: [ const SizedBox(height: 8), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, children: [ currentGame.isFinished ? GameEndWidget( playerIndex: 0, widgetSize: baseSize, ) : GamePlayerWidget( playerIndex: 0, widgetSize: baseSize, ), GameBoardWidget(houseSize: baseSize), currentGame.isFinished ? GameEndWidget( playerIndex: 1, widgetSize: baseSize, ) : GamePlayerWidget( playerIndex: 1, widgetSize: baseSize, ), ], ), const SizedBox(height: 8), ], ), ); }, ); } }