import 'package:flutter/material.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'; import 'package:provider/provider.dart'; import 'package:overlay_support/overlay_support.dart'; class Home extends StatefulWidget { static const String id = 'home'; @override _HomeState createState() => _HomeState(); } class _HomeState extends State<Home> { @override void initState() { super.initState(); } @override Widget build(BuildContext context) { Data myProvider = Provider.of<Data>(context); double boardWidth = MediaQuery.of(context).size.width; List<Widget> menuActions = []; if (myProvider.isGameRunning) { menuActions = [ TextButton( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), border: Border.all( color: Colors.blue, width: 4, ), ), child: 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: SafeArea( child: Center( child: myProvider.isGameRunning ? Game.buildGameWidget(myProvider, boardWidth) : Parameters.buildParametersSelector(myProvider), ), ), ); } }