generateRoute static method

PageRouteBuilder generateRoute(
  1. RouteSettings settings,
  2. bool user
)

Generate PageRouteBuilder

Implementation

static PageRouteBuilder generateRoute(RouteSettings settings, bool user) {
  // clear redirect
  _redirect = null;
  // find route
  for (var route in routes) {
    if (settings.name?.equalsRoute(route.route) ?? false) {
      if (route.user == null || route.user == user) {
        // set current page
        _current = settings.name;
        // show page
        return _routeWithAnimation(
          settings,
          route.widget(settings.name?.parametersRoute(route.route) ?? {}),
        );
      } else if (route.user == true) {
        // set redirect after login
        _redirect = settings.name;
        // show page Sing In
        return _routeWithAnimation(
          const RouteSettings(name: AppRoutes.signIn),
          routes
              .firstWhere((element) => element.route == AppRoutes.signIn)
              .widget(settings.name?.parametersRoute(route.route) ?? {}),
        );
      }
      break;
    }
  }
  return _routeWithAnimation(
      settings,
      const AppLayout(
        page: Error404Page(),
      ));
}