import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:overlay_support/overlay_support.dart'; import 'package:tetrisdual/layout/game.dart'; import 'package:tetrisdual/layout/parameters.dart'; import 'package:tetrisdual/provider/data.dart'; import 'package:tetrisdual/utils/game_utils.dart'; class Home extends StatefulWidget { const Home({super.key}); static const String id = 'home'; @override HomeState createState() => HomeState(); } class HomeState extends State<Home> { @override void initState() { super.initState(); } @override Widget build(BuildContext context) { final Data myProvider = Provider.of<Data>(context); final double screenWidth = MediaQuery.of(context).size.width; final List<Widget> menuActions = []; if (myProvider.isGameRunning) { menuActions.add(TextButton( child: const Image( image: AssetImage('assets/icons/button_back.png'), fit: BoxFit.fill, ), onPressed: () => toast('Long press to quit game...'), onLongPress: () => GameUtils.quitGame(myProvider), )); } return Scaffold( appBar: AppBar( actions: menuActions, ), body: myProvider.isGameRunning ? Game.buildGameWidget(myProvider, screenWidth) : Parameters.buildParametersSelector(myProvider), ); } }