refactored routes to use onGenerateRoute
This commit is contained in:
parent
5bde7ee9c2
commit
3b0c87328c
3 changed files with 37 additions and 18 deletions
|
@ -1,5 +1,6 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:ohthatsa/pages/YearsPage.dart';
|
import 'package:ohthatsa/pages/YearsPage.dart';
|
||||||
|
import 'package:ohthatsa/pages/practice/PracticeSetup.dart';
|
||||||
|
|
||||||
import 'package:ohthatsa/pages/practice/PracticeSetupPage.dart';
|
import 'package:ohthatsa/pages/practice/PracticeSetupPage.dart';
|
||||||
import 'package:ohthatsa/pages/practice/month/MonthPracticePage.dart';
|
import 'package:ohthatsa/pages/practice/month/MonthPracticePage.dart';
|
||||||
|
@ -15,15 +16,31 @@ class OhThatsA extends StatelessWidget {
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return MaterialApp(
|
return MaterialApp(
|
||||||
title: "OhThatsA",
|
title: "OhThatsA",
|
||||||
initialRoute: '/years',
|
onGenerateRoute: RouteGenerator.generateRoute,
|
||||||
routes: {
|
|
||||||
'/monthValues': (context) => MonthValuesPage(),
|
|
||||||
'/years': (context) => YearsPage(),
|
|
||||||
'/practice/setup': (context) => PracticeSetupPage(),
|
|
||||||
'/practice/month/practice': (context) => MonthPracticePage(),
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class RouteGenerator {
|
||||||
|
static Route<dynamic> generateRoute(RouteSettings settings){
|
||||||
|
switch(settings.name){
|
||||||
|
case "/monthValues": {
|
||||||
|
return MaterialPageRoute(builder: (context) => MonthValuesPage());
|
||||||
|
}
|
||||||
|
case "/years": {
|
||||||
|
return MaterialPageRoute(builder: (context) => YearsPage());
|
||||||
|
}
|
||||||
|
case "/practice/setup": {
|
||||||
|
return MaterialPageRoute(builder: (context) => PracticeSetupPage());
|
||||||
|
}
|
||||||
|
case "/practice/month/practice": {
|
||||||
|
return MaterialPageRoute(builder: (context) => MonthPracticePage(settings.arguments));
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
return MaterialPageRoute(builder: (context) => YearsPage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:numberpicker/numberpicker.dart';
|
import 'package:numberpicker/numberpicker.dart';
|
||||||
import 'package:ohthatsa/AppDrawer.dart';
|
import 'package:ohthatsa/AppDrawer.dart';
|
||||||
import 'file:///D:/dev/projects/ohthatsa/lib/pages/practice/PracticeSetup.dart';
|
import 'package:ohthatsa/pages/practice/PracticeSetup.dart';
|
||||||
|
|
||||||
class PracticeSetupPage extends StatefulWidget {
|
class PracticeSetupPage extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -1,29 +1,34 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:ohthatsa/pages/practice/PracticeGenerator.dart';
|
import 'package:ohthatsa/pages/practice/PracticeSetup.dart';
|
||||||
import 'package:ohthatsa/pages/practice/month/MonthPracticeGenerator.dart';
|
import 'package:ohthatsa/pages/practice/month/MonthPracticeGenerator.dart';
|
||||||
import 'file:///D:/dev/projects/ohthatsa/lib/pages/practice/PracticeSetup.dart';
|
|
||||||
import 'package:ohthatsa/util/DayCalculator.dart';
|
|
||||||
import 'package:ohthatsa/AppDrawer.dart';
|
import 'package:ohthatsa/AppDrawer.dart';
|
||||||
import 'package:ohthatsa/util/Months.dart';
|
|
||||||
import 'package:ohthatsa/util/Extensions.dart';
|
import 'package:ohthatsa/util/Extensions.dart';
|
||||||
import "dart:math";
|
|
||||||
|
|
||||||
import 'MonthPracticeAnswer.dart';
|
import 'MonthPracticeAnswer.dart';
|
||||||
|
|
||||||
class MonthPracticePage extends StatefulWidget {
|
class MonthPracticePage extends StatefulWidget {
|
||||||
|
final PracticeSetup practiceSetup;
|
||||||
|
MonthPracticePage(
|
||||||
|
this.practiceSetup
|
||||||
|
);
|
||||||
@override
|
@override
|
||||||
_MonthPracticeState createState() => _MonthPracticeState();
|
_MonthPracticeState createState() => _MonthPracticeState(practiceSetup);
|
||||||
}
|
}
|
||||||
|
|
||||||
class _MonthPracticeState extends State<MonthPracticePage> {
|
class _MonthPracticeState extends State<MonthPracticePage> {
|
||||||
int _startCount = 0;
|
int _startCount = 0;
|
||||||
|
bool _showCorrect = true;
|
||||||
|
|
||||||
int _count = 0;
|
int _count = 0;
|
||||||
int _correct = 0;
|
int _correct = 0;
|
||||||
int _incorrect = 0;
|
int _incorrect = 0;
|
||||||
bool _showCorrect = true;
|
|
||||||
static final practiceGenerator = MonthPracticeGenerator();
|
static final practiceGenerator = MonthPracticeGenerator();
|
||||||
List<MonthPracticeAnswer> answers = List<MonthPracticeAnswer>();
|
List<MonthPracticeAnswer> answers = List<MonthPracticeAnswer>();
|
||||||
|
|
||||||
|
_MonthPracticeState(PracticeSetup practiceSetup){
|
||||||
|
_startCount = practiceSetup.count;
|
||||||
|
_showCorrect = practiceSetup.showCorrect;
|
||||||
|
}
|
||||||
Widget getAnswerRow(){
|
Widget getAnswerRow(){
|
||||||
List<Widget> answerBoxes = List<Widget>();
|
List<Widget> answerBoxes = List<Widget>();
|
||||||
for(MonthPracticeAnswer answer in answers){
|
for(MonthPracticeAnswer answer in answers){
|
||||||
|
@ -202,9 +207,6 @@ class _MonthPracticeState extends State<MonthPracticePage> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
PracticeSetup setup = ModalRoute.of(context).settings.arguments;
|
|
||||||
_startCount = setup.count;
|
|
||||||
_showCorrect = setup.showCorrect;
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
drawer: AppDrawer(),
|
drawer: AppDrawer(),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
|
|
Loading…
Add table
Reference in a new issue