import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:minehunter/cubit/game_cubit.dart'; import 'package:minehunter/models/game/game.dart'; import 'package:minehunter/models/types.dart'; import 'package:minehunter/ui/widgets/game/cell.dart'; class GameBoardWidget extends StatelessWidget { const GameBoardWidget({super.key}); @override Widget build(BuildContext context) { return BlocBuilder<GameCubit, GameState>( builder: (BuildContext context, GameState gameState) { final Game currentGame = gameState.currentGame; final Board board = currentGame.board; final Color borderColor = currentGame.reportMode ? Colors.blue : Colors.black; return Container( margin: const EdgeInsets.all(2), padding: const EdgeInsets.all(2), child: Column( children: [ Container( decoration: BoxDecoration( color: borderColor, borderRadius: BorderRadius.circular(2), border: Border.all( color: borderColor, width: 2, ), ), child: Table( defaultColumnWidth: const IntrinsicColumnWidth(), children: [ for (int row = 0; row < currentGame.sizeVertical; row++) TableRow( children: [ for (int col = 0; col < currentGame.sizeHorizontal; col++) Column( children: [ CellWidget(cell: board[row][col], row: row, col: col) ], ), ], ), ], ), ), ], ), ); }, ); } }