Ahmed Fwela

+ rolled back participatesInRootNavigator

+ made GetNavigator key optional
@@ -36,13 +36,11 @@ class AppPages { @@ -36,13 +36,11 @@ class AppPages {
36 //only enter this route when not authed 36 //only enter this route when not authed
37 EnsureNotAuthedMiddleware(), 37 EnsureNotAuthedMiddleware(),
38 ], 38 ],
39 - participatesInRootNavigator: false,  
40 name: _Paths.LOGIN, 39 name: _Paths.LOGIN,
41 page: () => LoginView(), 40 page: () => LoginView(),
42 binding: LoginBinding(), 41 binding: LoginBinding(),
43 ), 42 ),
44 GetPage( 43 GetPage(
45 - participatesInRootNavigator: false,  
46 preventDuplicates: true, 44 preventDuplicates: true,
47 name: _Paths.HOME, 45 name: _Paths.HOME,
48 page: () => HomeView(), 46 page: () => HomeView(),
@@ -83,7 +81,6 @@ class AppPages { @@ -83,7 +81,6 @@ class AppPages {
83 ], 81 ],
84 ), 82 ),
85 GetPage( 83 GetPage(
86 - participatesInRootNavigator: true,  
87 name: _Paths.SETTINGS, 84 name: _Paths.SETTINGS,
88 page: () => SettingsView(), 85 page: () => SettingsView(),
89 binding: SettingsBinding(), 86 binding: SettingsBinding(),
@@ -263,7 +263,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig> @@ -263,7 +263,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
263 if (currentHistory == null) return <GetPage>[]; 263 if (currentHistory == null) return <GetPage>[];
264 264
265 final res = currentHistory.currentTreeBranch 265 final res = currentHistory.currentTreeBranch
266 - .where((r) => r.participatesInRootNavigator); 266 + .where((r) => r.participatesInRootNavigator != null);
267 if (res.length == 0) { 267 if (res.length == 0) {
268 //default behavoir, all routes participate in root navigator 268 //default behavoir, all routes participate in root navigator
269 return currentHistory.currentTreeBranch; 269 return currentHistory.currentTreeBranch;
@@ -421,10 +421,13 @@ class GetNavigator extends Navigator { @@ -421,10 +421,13 @@ class GetNavigator extends Navigator {
421 bool reportsRouteUpdateToEngine = false, 421 bool reportsRouteUpdateToEngine = false,
422 TransitionDelegate? transitionDelegate, 422 TransitionDelegate? transitionDelegate,
423 String? name, 423 String? name,
424 - }) : assert(key != null || name != null,  
425 - 'GetNavigator should either have a key or a name set'),  
426 - super(  
427 - key: key ?? Get.nestedKey(name), 424 + }) : super(
  425 + //keys should be optional
  426 + key: key != null
  427 + ? key
  428 + : name != null
  429 + ? Get.nestedKey(name)
  430 + : null,
428 onPopPage: onPopPage ?? 431 onPopPage: onPopPage ??
429 (route, result) { 432 (route, result) {
430 final didPop = route.didPop(result); 433 final didPop = route.didPop(result);
@@ -94,7 +94,7 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> { @@ -94,7 +94,7 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> {
94 GetPage Function(GetDelegate delegate)? emptyPage, 94 GetPage Function(GetDelegate delegate)? emptyPage,
95 required List<GetPage> Function(GetNavConfig currentNavStack) pickPages, 95 required List<GetPage> Function(GetNavConfig currentNavStack) pickPages,
96 bool Function(Route<dynamic>, dynamic)? onPopPage, 96 bool Function(Route<dynamic>, dynamic)? onPopPage,
97 - required String name, 97 + String? name,
98 }) : assert( 98 }) : assert(
99 (emptyPage == null && emptyWidget == null) || 99 (emptyPage == null && emptyWidget == null) ||
100 (emptyPage != null && emptyWidget == null) || 100 (emptyPage != null && emptyWidget == null) ||
@@ -34,7 +34,7 @@ class GetPage<T> extends Page<T> { @@ -34,7 +34,7 @@ class GetPage<T> extends Page<T> {
34 final String? title; 34 final String? title;
35 final Transition? transition; 35 final Transition? transition;
36 final Curve curve; 36 final Curve curve;
37 - final bool participatesInRootNavigator; 37 + final bool? participatesInRootNavigator;
38 final Alignment? alignment; 38 final Alignment? alignment;
39 final bool maintainState; 39 final bool maintainState;
40 final bool opaque; 40 final bool opaque;
@@ -66,7 +66,7 @@ class GetPage<T> extends Page<T> { @@ -66,7 +66,7 @@ class GetPage<T> extends Page<T> {
66 required this.name, 66 required this.name,
67 required this.page, 67 required this.page,
68 this.title, 68 this.title,
69 - this.participatesInRootNavigator = true, 69 + this.participatesInRootNavigator,
70 this.gestureWidth = 20, 70 this.gestureWidth = 20,
71 // RouteSettings settings, 71 // RouteSettings settings,
72 this.maintainState = true, 72 this.maintainState = true,