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

Improve menu and activities

parent f0050cdd
No related branches found
No related tags found
1 merge request!27Resolve "Improve menu / activities"
Pipeline #3854 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.
Please register or to comment