onGenerateRoute method

Route? onGenerateRoute(
  1. RouteSettings settings
)

Implementation

Route? onGenerateRoute(RouteSettings settings) {
  ///`Check if List is Empty`
  if (routes.isEmpty || getPages.isEmpty) {
    return GetPageRoute(
      settings: settings,
      page: () => EmptyPage(),
    );
  }

  /// Check if we Have Route of That Page
  /// assigning first Route as Default
  /// in case if no route name matches

  for (var element in routes) {
    if (element == settings.name) {
      //   GetRouteMap routeMap = routeList[routes.indexOf(element)];

      ///Grab `Get Page` from list
      GetPage? getPage = getPages.firstWhereOrNull((e) => e.name == element);

      ///if `GetPage = Null` , Means Wrong Route Passed , Show Empty Page
      if (getPage == null) {
        return EmptyGetPageRoute(element, settings);
      }

      /// Else We can return Finally The `Correct` Page
      return GetRouteFromPage(getPage, settings);
      // return routeList[pages.indexOf(element)].getPageRoute;
    }

    ///if `settingName = / ` We can Pass the First Page
    if (settings.name == '/') {
      GetPage? getPage =
          getPages.firstWhereOrNull((e) => e.name == routes[0]);
      if (getPage == null) {
        return EmptyGetPageRoute(routes[0], settings);
      }
      return GetRouteFromPage(getPage, settings);
    }
  }
}