generateRoute static method
- RouteSettings settings,
- 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(),
));
}