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

Merge branch '28-improve-menu-activities' into 'master'

Resolve "Improve menu / activities"

Closes #28

See merge request !27
parents f0050cdd b9bb4f6f
No related branches found
No related tags found
1 merge request!27Resolve "Improve menu / activities"
Pipeline #4336 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=1.0.18
app.versionCode=19
app.versionName=1.0.19
app.versionCode=20
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:random/provider/data.dart';
class DemoPage extends StatelessWidget {
static String code = 'demo';
class ActivityDemoPage extends StatelessWidget {
static const String code = 'demo';
static const String route = '/' + code;
@override
Widget build(BuildContext context) {
......@@ -15,8 +15,11 @@ class DemoPage extends StatelessWidget {
elevation: 0,
actions: <Widget>[
IconButton(
icon: const Icon(Icons.loop),
onPressed: () => print(myProvider),
icon: const Icon(Icons.arrow_back),
onPressed: () {
myProvider.resetActivity();
Navigator.pop(context);
},
),
],
),
......
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:random/painters/graph_painter.dart';
import 'package:random/painters/GraphPainter.dart';
import 'package:random/provider/data.dart';
class GraphPage extends StatelessWidget {
static String code = 'graph';
class ActivityGraphPage extends StatelessWidget {
static const String code = 'graph';
static const String route = '/' + code;
@override
Widget build(BuildContext context) {
......@@ -15,7 +16,15 @@ class GraphPage extends StatelessWidget {
Scaffold pageContent = Scaffold(
appBar: AppBar(
elevation: 0,
actions: <Widget>[],
actions: <Widget>[
IconButton(
icon: const Icon(Icons.arrow_back),
onPressed: () {
myProvider.resetActivity();
Navigator.pop(context);
},
),
],
),
backgroundColor: Colors.blue,
body: SafeArea(
......
......@@ -3,8 +3,8 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart';
import 'package:random/provider/data.dart';
import 'package:random/screens/demo.dart';
import 'package:random/screens/graph.dart';
import 'package:random/activities/ActivityDemoPage.dart';
import 'package:random/activities/ActivityGraphPage.dart';
import 'package:random/screens/home.dart';
void main() {
......@@ -27,16 +27,16 @@ class MyApp extends StatelessWidget {
home: Home(),
onGenerateRoute: (settings) {
switch (settings.name) {
case '/demo':
case ActivityDemoPage.route:
{
return MaterialPageRoute(
builder: (context) => DemoPage(),
builder: (context) => ActivityDemoPage(),
);
}
case '/graph':
case ActivityGraphPage.route:
{
return MaterialPageRoute(
builder: (context) => GraphPage(),
builder: (context) => ActivityGraphPage(),
);
}
......
File moved
import 'package:flutter/foundation.dart';
class Data extends ChangeNotifier {}
class Data extends ChangeNotifier {
void resetActivity() {
print('reset activity');
}
}
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:random/provider/data.dart';
import 'package:random/screens/demo.dart';
import 'package:random/screens/graph.dart';
import 'package:random/activities/ActivityDemoPage.dart';
import 'package:random/activities/ActivityGraphPage.dart';
class Home extends StatelessWidget {
static const String id = 'home';
Future<void> resetGame(Data myProvider) async {}
@override
Widget build(BuildContext context) {
Data myProvider = Provider.of<Data>(context);
double screenWidth = MediaQuery.of(context).size.width;
Container _buildMenuItemContainer(String code, Color color) {
double imageSize = 150;
Container _menuItem(String activityCode) {
double imageSize = screenWidth / 4;
String imageAsset = 'assets/menu/' + code + '.png';
String imageAsset = 'assets/menu/' + activityCode + '.png';
return Container(
margin: EdgeInsets.all(2),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
border: Border.all(
color: Colors.teal,
width: 8,
),
),
child: TextButton(
style: TextButton.styleFrom(
padding: EdgeInsets.all(15),
backgroundColor: color,
padding: EdgeInsets.all(4),
backgroundColor: Colors.lightBlue,
),
child: Image(
image: AssetImage(imageAsset),
......@@ -40,10 +29,9 @@ class Home extends StatelessWidget {
fit: BoxFit.fill,
),
onPressed: () {
resetGame(myProvider);
Navigator.pushNamed(
context,
'/' + code,
'/' + activityCode,
);
},
),
......@@ -58,8 +46,8 @@ class Home extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
_buildMenuItemContainer(DemoPage.code, Colors.pink),
_buildMenuItemContainer(GraphPage.code, Colors.lightBlue),
_menuItem(ActivityDemoPage.code),
_menuItem(ActivityGraphPage.code),
],
),
),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment