Select Git revision
-
Benoît Harrault authoredBenoît Harrault authored
home.dart 1.78 KiB
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:overlay_support/overlay_support.dart';
import 'package:calculus/layout/game.dart';
import 'package:calculus/layout/parameters.dart';
import 'package:calculus/provider/data.dart';
import 'package:calculus/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();
Data myProvider = Provider.of<Data>(context, listen: false);
myProvider.initParametersValues();
}
@override
Widget build(BuildContext context) {
final Data myProvider = Provider.of<Data>(context);
final List<Widget> menuActions = [];
if (myProvider.gameIsRunning) {
menuActions.add(
TextButton(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4),
border: Border.all(
color: Colors.blue,
width: 4,
),
),
margin: const EdgeInsets.all(8),
child: const Image(
image: AssetImage('assets/icons/button_back.png'), fit: BoxFit.fill),
),
onPressed: () => toast('Long press to quit game...'),
onLongPress: () => GameUtils.resetGame(myProvider),
),
);
}
return Scaffold(
appBar: AppBar(
actions: menuActions,
),
body: SafeArea(
child: Center(
child: myProvider.gameIsRunning
? Game.buildGameWidget(myProvider)
: Parameters.buildParametersSelector(myProvider)),
));
}
}