Benyamin

fix onGenerateRoute erorr and add initialRoute to GetNavigator

@@ -455,16 +455,18 @@ class GetDelegate extends RouterDelegate<GetNavConfig> @@ -455,16 +455,18 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
455 } 455 }
456 456
457 class GetNavigator extends Navigator { 457 class GetNavigator extends Navigator {
458 - GetNavigator({  
459 - GlobalKey<NavigatorState>? key,  
460 - bool Function(Route<dynamic>, dynamic)? onPopPage,  
461 - required List<Page> pages,  
462 - List<NavigatorObserver>? observers,  
463 - bool reportsRouteUpdateToEngine = false,  
464 - TransitionDelegate? transitionDelegate,  
465 - }) : super( 458 + GetNavigator(
  459 + {GlobalKey<NavigatorState>? key,
  460 + bool Function(Route<dynamic>, dynamic)? onPopPage,
  461 + required List<GetPage> pages,
  462 + List<NavigatorObserver>? observers,
  463 + bool reportsRouteUpdateToEngine = false,
  464 + TransitionDelegate? transitionDelegate,
  465 + String? initialRoute})
  466 + : super(
466 //keys should be optional 467 //keys should be optional
467 key: key, 468 key: key,
  469 + initialRoute: initialRoute ?? '/',
468 onPopPage: onPopPage ?? 470 onPopPage: onPopPage ??
469 (route, result) { 471 (route, result) {
470 final didPop = route.didPop(result); 472 final didPop = route.didPop(result);
@@ -473,6 +475,17 @@ class GetNavigator extends Navigator { @@ -473,6 +475,17 @@ class GetNavigator extends Navigator {
473 } 475 }
474 return true; 476 return true;
475 }, 477 },
  478 + onGenerateRoute: (RouteSettings settings) {
  479 + final selectedPageList =
  480 + pages.where((element) => element.name == settings.name);
  481 + if (selectedPageList.isNotEmpty) {
  482 + final selectedPage = selectedPageList.first;
  483 + return GetPageRoute(
  484 + page: selectedPage.page,
  485 + settings: settings,
  486 + );
  487 + }
  488 + },
476 reportsRouteUpdateToEngine: reportsRouteUpdateToEngine, 489 reportsRouteUpdateToEngine: reportsRouteUpdateToEngine,
477 pages: pages, 490 pages: pages,
478 observers: [ 491 observers: [