From c3fd7855a6babdcd2ad411e6a0546da71353c89d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Tue, 20 Jul 2021 22:25:11 +0200 Subject: [PATCH] Move settings to home page --- android/gradle.properties | 4 +- lib/main.dart | 2 - lib/provider/data.dart | 4 +- lib/screens/home.dart | 35 +++++++++++++++++ lib/screens/settings.dart | 77 ------------------------------------- lib/widgets/my_app_bar.dart | 9 ----- 6 files changed, 40 insertions(+), 91 deletions(-) delete mode 100644 lib/screens/settings.dart diff --git a/android/gradle.properties b/android/gradle.properties index b2c845d..35c9af1 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -2,5 +2,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true android.enableR8=true -app.versionName=1.2.0 -app.versionCode=11 +app.versionName=1.2.1 +app.versionCode=12 diff --git a/lib/main.dart b/lib/main.dart index 3e35935..0c468d9 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,6 @@ import 'package:provider/provider.dart'; import 'provider/data.dart'; import 'screens/home.dart'; -import 'screens/settings.dart'; import 'screens/game.dart'; import 'screens/scores.dart'; import './utils/constants.dart'; @@ -27,7 +26,6 @@ class Hangman extends StatelessWidget { routes: { Home.id: (context) => Home(), Game.id: (context) => Game(), - Settings.id: (context) => Settings(), Scores.id: (context) => Scores(), }, ); diff --git a/lib/provider/data.dart b/lib/provider/data.dart index ca67cc6..0570e49 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -65,7 +65,8 @@ class Data extends ChangeNotifier { set updateGameMode(bool value) { _gameModeValue = value; - _levelValue = onlineGameMode[value].first; + setPrefGameMode = gameModeValue; + updateLevel = onlineGameMode[value].first; notifyListeners(); } @@ -73,6 +74,7 @@ class Data extends ChangeNotifier { set updateLevel(String value) { _levelValue = value; + setPrefLevel = levelValue; notifyListeners(); } diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 45f9e9a..75e73b2 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -64,6 +64,41 @@ class Home extends StatelessWidget { ), ), ), + + Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Mode en ligne'), + Switch( + value: _myProvider.gameModeValue, + onChanged: (bool value) => _myProvider.updateGameMode = value, + activeTrackColor: Color(board), + activeColor: Colors.greenAccent[400], + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Niveau'), + DropdownButton<String>( + value: _myProvider.levelValue ?? onlineGameMode[_myProvider.gameModeValue].first, + items: onlineGameMode[_myProvider.gameModeValue] + .map<DropdownMenuItem<String>>((String value) { + return DropdownMenuItem<String>( + value: value, + child: Text(value), + ); + }).toList(), + onChanged: (String value) => _myProvider.updateLevel = value, + ), + ], + ), + ], + ), + RaisedButton.icon( shape: RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(10.0))), diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart deleted file mode 100644 index 00e2ba9..0000000 --- a/lib/screens/settings.dart +++ /dev/null @@ -1,77 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:provider/provider.dart'; -import '../provider/data.dart'; -import '../utils/constants.dart'; - -class Settings extends StatelessWidget { - static const String id = 'settings'; - - @override - Widget build(BuildContext context) { - Data _myProvider = Provider.of<Data>(context); - return Scaffold( - appBar: AppBar(title: Text('Réglages')), - body: SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.only(top: 30.0, left: 30.0, right: 30.0), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text('Mode en ligne'), - Switch( - value: _myProvider.gameModeValue, - onChanged: (bool value) => _myProvider.updateGameMode = value, - activeTrackColor: Color(board), - activeColor: Colors.greenAccent[400], - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text('Niveau'), - DropdownButton<String>( - value: _myProvider.levelValue ?? onlineGameMode[_myProvider.gameModeValue].first, - items: onlineGameMode[_myProvider.gameModeValue] - .map<DropdownMenuItem<String>>((String value) { - return DropdownMenuItem<String>( - value: value, - child: Text(value), - ); - }).toList(), - onChanged: (String value) => _myProvider.updateLevel = value, - ), - ], - ), - Divider(color: Colors.grey), - Padding( - padding: const EdgeInsets.only(top: 20.0), - child: RaisedButton.icon( - shape: - RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10.0))), - color: Color(board), - padding: EdgeInsets.symmetric(vertical: 10.0, horizontal: 20.0), - onPressed: () { - _myProvider.setPrefGameMode = _myProvider.gameModeValue; - _myProvider.setPrefLevel = _myProvider.levelValue; - Navigator.pop(context); - }, - icon: Icon(Icons.save, color: Colors.white), - label: Text( - 'Enregistrer', - style: TextStyle( - color: Colors.white, - fontSize: 18.0, - ), - ), - ), - ) - ], - ), - ), - ), - ); - } -} diff --git a/lib/widgets/my_app_bar.dart b/lib/widgets/my_app_bar.dart index 76a85b6..95ac8ec 100644 --- a/lib/widgets/my_app_bar.dart +++ b/lib/widgets/my_app_bar.dart @@ -3,7 +3,6 @@ import 'package:flutter/services.dart' show SystemNavigator; import 'package:provider/provider.dart'; import '../provider/data.dart'; -import '../screens/settings.dart'; import '../screens/scores.dart'; class MyAppBar extends StatelessWidget implements PreferredSizeWidget { @@ -21,14 +20,6 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { title: Text('Hangman'), automaticallyImplyLeading: false, actions: [ - IconButton( - icon: Icon(Icons.settings), - onPressed: () { - _myProvider.resetValues(); - Scaffold.of(context).removeCurrentSnackBar(); - Navigator.pushNamed(context, Settings.id); - }, - ), PopupMenuButton<String>( onSelected: (String value) { switch (value) { -- GitLab