BloomRoute.shell constructor
BloomRoute.shell({
- required BloomNode layout(),
- required List<
BloomRoute> routes, - List<
BloomRouteGuard> guards = const [],
Factory constructor for persistent shell layouts enclosing nested routes.
Allows persistent UI chrome (such as top navigation bars, sidebars, and footers) to surround child routes without altering the URL path hierarchy.
final shellRoute = BloomRoute.shell(
layout: (child, params) => Div(
className: 'app-container',
children: [
const Nav(text: 'Header'),
child,
],
),
routes: [
BloomRoute('/home', (params) => const Div(text: 'Home')),
BloomRoute('/profile', (params) => const Div(text: 'Profile')),
],
);
Implementation
factory BloomRoute.shell({
required BloomNode Function(BloomNode child, Map<String, String> params) layout,
required List<BloomRoute> routes,
List<BloomRouteGuard> guards = const [],
}) {
return BloomRoute(
'',
null,
layout: layout,
guards: guards,
children: routes,
);
}