injectAdminSetup function
MenuConfiguration
injectAdminSetup(
- MenuConfiguration config
Creates a dynamic GoRouter based on menu configurations.
This function handles:
- Main app shell with menu
- Authentication redirects
- Route generation from menu options
Returns
configwith a System Setup menu item appended when it is not already present. Works on any top-level item list — also called from DisplayMenuItem so the BLoC-driven config gets the same injection.
Implementation
MenuConfiguration injectAdminSetup(MenuConfiguration config) {
final alreadyPresent =
config.menuItems.any((m) => m.widgetName == 'SystemSetupDialog');
if (alreadyPresent) return config;
final setupItem = MenuItem(
menuItemId: 'systemSetup',
title: 'System Setup',
iconName: 'settings',
widgetName: 'SystemSetupDialog',
route: '/systemSetup',
sequenceNum: 999,
isActive: true,
);
return config.copyWith(
menuItems: [...config.menuItems, setupItem],
);
}