import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../layout/game.dart'; import '../layout/parameters.dart'; import '../provider/data.dart'; import '../utils/game_utils.dart'; class Home extends StatelessWidget { static const String id = 'home'; @override Widget build(BuildContext context) { Data myProvider = Provider.of<Data>(context); List<Widget> menuActions = []; if (myProvider.stateRunning) { menuActions = [ FlatButton( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), border: Border.all( color: Colors.blue, width: 4, ), ), margin: EdgeInsets.all(8), child: Image( image: AssetImage('assets/icons/button_help.png'), fit: BoxFit.fill ), ), onPressed: () => GameUtils.showTip(myProvider), ), FlatButton( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), border: Border.all( color: myProvider.showConflicts ? Colors.white : Colors.blue, width: 4, ), ), margin: EdgeInsets.all(8), child: Image( image: AssetImage('assets/icons/button_show_conflicts.png'), fit: BoxFit.fill ), ), onPressed: () { myProvider.updateShowConflicts = !myProvider.showConflicts; }, ), FlatButton( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(4), border: Border.all( color: Colors.blue, width: 4, ), ), margin: EdgeInsets.all(8), child: Image( image: AssetImage('assets/icons/button_back.png'), fit: BoxFit.fill ), ), onPressed: () => GameUtils.resetGame(myProvider), ), ]; } return Scaffold( appBar: AppBar( actions: menuActions, ), body: SafeArea( child: Center( child: myProvider.stateRunning ? Game.buildGameWidget(myProvider) : Parameters.buildParametersSelector(myProvider) ), ) ); } }