Select Git revision
game_board.dart
-
Benoît Harrault authoredBenoît Harrault authored
game_board.dart 1.77 KiB
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.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)))
],
),
],
),
],
),
],
),
);
},
);
}
}