import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:snake/cubit/game_cubit.dart'; import 'package:snake/models/game/game.dart'; import 'package:snake/ui/game/game_bottom.dart'; import 'package:snake/ui/game/game_end.dart'; import 'package:snake/ui/game/game_top.dart'; import 'package:snake/ui/widgets/game/game_board.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; return Container( alignment: AlignmentDirectional.topCenter, padding: const EdgeInsets.all(4), child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, children: [ const GameTopWidget(), const SizedBox(height: 8), const GameBoardWidget(), const SizedBox(height: 8), const GameBottomWidget(), const Expanded(child: SizedBox.shrink()), currentGame.isFinished ? const GameEndWidget() : const SizedBox.shrink(), ], ), ); }, ); } }