RouteGenerator
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import 'package:capstone_hungry_hippos/route_generator.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'screens/home_widget.dart';
|
||||
import 'screens/sport.dart';
|
||||
@@ -10,10 +11,7 @@ class App extends StatelessWidget {
|
||||
return MaterialApp(
|
||||
debugShowCheckedModeBanner: false,
|
||||
initialRoute: '/',
|
||||
routes: {
|
||||
'/': (context) => Home(),
|
||||
'/Sport': (context) => Sport(),
|
||||
},
|
||||
onGenerateRoute: RouteGenerator.generateRoute,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ class HorizontalNewsFeed extends StatelessWidget {
|
||||
title: title,
|
||||
trailing: IconButton(
|
||||
icon: Icon(Icons.navigate_next),
|
||||
onPressed: () => Navigator.pushNamed(context, '/Sport'),
|
||||
onPressed: () => Navigator.of(context).pushNamed('/Sport'),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
|
||||
45
lib/route_generator.dart
Normal file
45
lib/route_generator.dart
Normal file
@@ -0,0 +1,45 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:capstone_hungry_hippos/main.dart';
|
||||
import 'package:capstone_hungry_hippos/screens/home_widget.dart';
|
||||
import 'package:capstone_hungry_hippos/screens/sport.dart';
|
||||
|
||||
class RouteGenerator {
|
||||
static Route<dynamic> generateRoute(RouteSettings settings){
|
||||
final args = settings.arguments; //This is how we pass arguments and can be used in case
|
||||
|
||||
switch (settings.name){
|
||||
case '/':
|
||||
return MaterialPageRoute(builder: (_) => Home());
|
||||
case '/Sport':
|
||||
//We can put logic and stuff here for checking if logged in
|
||||
return MaterialPageRoute(builder: (_) => Sport());
|
||||
default:
|
||||
return _errorRoute();
|
||||
}
|
||||
}
|
||||
|
||||
static Route _errorRoute() {
|
||||
return MaterialPageRoute(builder: (_){
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text("Error Page"),
|
||||
),
|
||||
body: Center(
|
||||
child: Text("Error Page"),
|
||||
),
|
||||
drawer: Drawer(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
ListTile(
|
||||
title: IconButton(
|
||||
icon: Icon(Icons.home),
|
||||
onPressed: () => Navigator.pushNamed(_, '/'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user