Skip to content

Commit d09dc16

Browse files
committed
update manifest.dart
1 parent 68ca35b commit d09dc16

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

configuration/lib/route/route_define.dart

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import 'package:flutter/material.dart';
22

3+
final List<RouteDefine> routes = [];
4+
35
abstract 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

1319
class 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

2128
MaterialPageRoute? 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 ?? ""];

lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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
}

lib/manifest.dart

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
import 'package:flutter/material.dart';
21
import 'package:flutter_architecture/presentation/home/home_route.dart';
32
import '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
}

0 commit comments

Comments
 (0)