Skip to content
Snippets Groups Projects
Commit 0a6e0337 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Merge branch '24-move-parameters-to-home-page' into 'master'

Resolve "Move parameters to home page"

Closes #24

See merge request !22
parents b2103d53 c3fd7855
No related branches found
No related tags found
1 merge request!22Resolve "Move parameters to home page"
Pipeline #2032 passed
...@@ -2,5 +2,5 @@ org.gradle.jvmargs=-Xmx1536M ...@@ -2,5 +2,5 @@ org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
android.enableR8=true android.enableR8=true
app.versionName=1.2.0 app.versionName=1.2.1
app.versionCode=11 app.versionCode=12
...@@ -3,7 +3,6 @@ import 'package:provider/provider.dart'; ...@@ -3,7 +3,6 @@ import 'package:provider/provider.dart';
import 'provider/data.dart'; import 'provider/data.dart';
import 'screens/home.dart'; import 'screens/home.dart';
import 'screens/settings.dart';
import 'screens/game.dart'; import 'screens/game.dart';
import 'screens/scores.dart'; import 'screens/scores.dart';
import './utils/constants.dart'; import './utils/constants.dart';
...@@ -27,7 +26,6 @@ class Hangman extends StatelessWidget { ...@@ -27,7 +26,6 @@ class Hangman extends StatelessWidget {
routes: { routes: {
Home.id: (context) => Home(), Home.id: (context) => Home(),
Game.id: (context) => Game(), Game.id: (context) => Game(),
Settings.id: (context) => Settings(),
Scores.id: (context) => Scores(), Scores.id: (context) => Scores(),
}, },
); );
......
...@@ -65,7 +65,8 @@ class Data extends ChangeNotifier { ...@@ -65,7 +65,8 @@ class Data extends ChangeNotifier {
set updateGameMode(bool value) { set updateGameMode(bool value) {
_gameModeValue = value; _gameModeValue = value;
_levelValue = onlineGameMode[value].first; setPrefGameMode = gameModeValue;
updateLevel = onlineGameMode[value].first;
notifyListeners(); notifyListeners();
} }
...@@ -73,6 +74,7 @@ class Data extends ChangeNotifier { ...@@ -73,6 +74,7 @@ class Data extends ChangeNotifier {
set updateLevel(String value) { set updateLevel(String value) {
_levelValue = value; _levelValue = value;
setPrefLevel = levelValue;
notifyListeners(); notifyListeners();
} }
......
...@@ -64,6 +64,41 @@ class Home extends StatelessWidget { ...@@ -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( RaisedButton.icon(
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(10.0))), borderRadius: BorderRadius.all(Radius.circular(10.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,
),
),
),
)
],
),
),
),
);
}
}
...@@ -3,7 +3,6 @@ import 'package:flutter/services.dart' show SystemNavigator; ...@@ -3,7 +3,6 @@ import 'package:flutter/services.dart' show SystemNavigator;
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../provider/data.dart'; import '../provider/data.dart';
import '../screens/settings.dart';
import '../screens/scores.dart'; import '../screens/scores.dart';
class MyAppBar extends StatelessWidget implements PreferredSizeWidget { class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
...@@ -21,14 +20,6 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget { ...@@ -21,14 +20,6 @@ class MyAppBar extends StatelessWidget implements PreferredSizeWidget {
title: Text('Hangman'), title: Text('Hangman'),
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
actions: [ actions: [
IconButton(
icon: Icon(Icons.settings),
onPressed: () {
_myProvider.resetValues();
Scaffold.of(context).removeCurrentSnackBar();
Navigator.pushNamed(context, Settings.id);
},
),
PopupMenuButton<String>( PopupMenuButton<String>(
onSelected: (String value) { onSelected: (String value) {
switch (value) { switch (value) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment