Skip to content
Snippets Groups Projects
Select Git revision
  • 5b8fca201e5e4154b9391760d6bba22f65a699a8
  • master default protected
  • 100-upgrade-framework-and-dependencies
  • 65-improve-app-metadata
  • Release_1.8.0_80 protected
  • Release_1.7.2_79 protected
  • Release_1.7.1_78 protected
  • Release_1.7.0_77 protected
  • Release_1.6.0_76 protected
  • Release_1.5.0_75 protected
  • Release_1.4.0_74 protected
  • Release_1.3.2_73 protected
  • Release_1.3.1_72 protected
  • Release_1.3.0_71 protected
  • Release_1.2.1_70 protected
  • Release_1.2.0_69 protected
  • Release_1.1.3_68 protected
  • Release_1.1.2_67 protected
  • Release_1.1.1_66 protected
  • Release_1.1.0_65 protected
  • Release_1.0.63_64 protected
  • Release_1.0.62_63 protected
  • Release_1.0.61_62 protected
  • Release_1.0.60_61 protected
24 results

pubspec.yaml

Blame
  • 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)),
            ));
      }
    }