import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:sudoku/cubit/game_cubit.dart'; import 'package:sudoku/models/game/cell_location.dart'; import 'package:sudoku/models/game/game.dart'; import 'package:sudoku/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 Color borderColor = Theme.of(context).colorScheme.onSurface; return Container( margin: const EdgeInsets.all(2), padding: const EdgeInsets.all(2), decoration: BoxDecoration( color: borderColor, borderRadius: BorderRadius.circular(2), border: Border.all( color: borderColor, width: 2, ), ), child: Column( children: [ Table( defaultColumnWidth: const IntrinsicColumnWidth(), children: [ for (int row = 0; row < currentGame.boardSize; row++) TableRow( children: [ for (int col = 0; col < currentGame.boardSize; col++) Column( children: [ CellWidget( cell: currentGame.board.get(CellLocation.go(row, col))) ], ), ], ), ], ), ], ), ); }, ); } }