File tree Expand file tree Collapse file tree 3 files changed +15
-8
lines changed Expand file tree Collapse file tree 3 files changed +15
-8
lines changed Original file line number Diff line number Diff line change 11import 'package:flutter/material.dart' ;
22
3+ final List <RouteDefine > routes = [];
4+
35abstract class RouteDefine {
46 build (Map <String ?, WidgetBuilder ?>? routeBuilders, RouteSettings settings) {
57 initRoute (settings.arguments).forEach ((element) {
@@ -8,20 +10,27 @@ abstract class RouteDefine {
810 }
911
1012 List <Path > initRoute (Object ? arguments);
13+
14+ RouteDefine () {
15+ routes.add (this );
16+ }
1117}
1218
1319class Path {
1420 String name;
1521 WidgetBuilder builder;
22+
1623 Path ({required this .name, required this .builder});
1724
1825 Map <String , WidgetBuilder > path () => {name: builder};
1926}
2027
2128MaterialPageRoute ? manifest (Function generateRoute, RouteSettings settings) {
2229 final Map <String ?, WidgetBuilder ?>? routeBuilders = < String , WidgetBuilder > {};
23-
24- generateRoute (routeBuilders, settings);
30+ generateRoute ();
31+ routes.forEach ((route) {
32+ route.build (routeBuilders, settings);
33+ });
2534
2635 final Widget Function (BuildContext context)? routeBuilder =
2736 routeBuilders? [settings.name ?? "" ];
Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ class _ApplicationState extends State<Application> {
4747 locale: const Locale ('en' ),
4848 supportedLocales: S .delegate.supportedLocales,
4949 initialRoute: LoginRoute .id,
50- onGenerateRoute: (settings) => manifest (generateRoute , settings),
50+ onGenerateRoute: (settings) => manifest (generateRoutes , settings),
5151 );
5252 }
5353}
Original file line number Diff line number Diff line change 1- import 'package:flutter/material.dart' ;
21import 'package:flutter_architecture/presentation/home/home_route.dart' ;
32import 'package:flutter_architecture/presentation/login/login_route.dart' ;
43
5- void generateRoute (
6- Map <String ?, WidgetBuilder ?>? builders, RouteSettings settings) {
7- LoginRoute ().build (builders, settings);
8- HomeRoute ().build (builders, settings);
4+ void generateRoutes () {
5+ LoginRoute ();
6+ HomeRoute ();
97}
You can’t perform that action at this time.
0 commit comments