diff --git a/android/gradle.properties b/android/gradle.properties index b2c845d9eaedef81b02fdf55b68883c9283831c4..35c9af14f30b16fb392e284f842705cff2d23a56 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 3e35935610f6b1cf90b5ff086e52dd1c0b106d06..0c468d9e100d3bc4aca850c90900edc6aa2a14fb 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 ca67cc61c42412f7c135aa7adaeca637ce995af0..0570e499594e47cffd59711d89b2fa312765cf5b 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 45f9e9a20e1a001eb8355b06aec127d292640012..75e73b201321c5d0cf84e235c1cd0202eb0e430c 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 00e2ba994b5ed2e70bcfe0f0a6081d8b5f70093e..0000000000000000000000000000000000000000 --- 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 76a85b6faa4172cc1e46cc865edbf9523475c479..95ac8ecd993f2ad0da7fa238d8e982a4bb2973bc 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) {