Skip to content
Snippets Groups Projects
game_end.dart 1.62 KiB
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/game.dart';
import 'package:sudoku/ui/widgets/actions/button_game_quit.dart';

class GameEndWidget extends StatelessWidget {
  const GameEndWidget({super.key});

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<GameCubit, GameState>(
      builder: (BuildContext context, GameState gameState) {
        final Game currentGame = gameState.currentGame;

        final Image decorationImage = Image(
          image: AssetImage(
              currentGame.gameWon ? 'assets/ui/game_win.png' : 'assets/ui/game_fail.png'),
          fit: BoxFit.fill,
        );

        return Container(
          margin: const EdgeInsets.all(2),
          padding: const EdgeInsets.all(2),
          child: Table(
            defaultColumnWidth: const IntrinsicColumnWidth(),
            defaultVerticalAlignment: TableCellVerticalAlignment.bottom,
            children: [
              TableRow(
                children: [
                  Column(
                    children: [decorationImage],
                  ),
                  Column(
                    children: [
                      currentGame.animationInProgress == true
                          ? decorationImage
                          : const QuitGameButton()
                    ],
                  ),
                  Column(
                    children: [decorationImage],
                  ),
                ],
              ),
            ],
          ),
        );
      },
    );
  }
}