Navigation
The dashboard provides a flexible navigation system that allows you to add custom navigation sections and menu items. Navigation items are organized into sections that can be placed in either the "Platform" (top) or "Administration" (bottom) areas of the sidebar.
Adding Navigation Items to Existing Sections
The simplest way to add navigation is to add menu items to existing sections. This is done automatically when you define routes with navMenuItem properties.
Available Section IDs
The dashboard comes with several built-in sections:
catalog- For product-related functionalityorders- For order managementcustomers- For customer managementmarketing- For promotions and marketing toolssettings- For configuration and admin settings
Finding Section IDs & Ordering
You can find the available IDs & their order value for all navigation sections and items using Dev mode:
Creating Custom Navigation Sections
You can create entirely new navigation sections with their own icons and ordering:
For documentation on all the configuration properties available, see the reference docs:
Section Placement and Ordering
The navigation sidebar is divided into two areas:
- Top Placement (
'top'): The "Platform" area for core functionality (Dashboard, Catalog, Sales, etc.) - Bottom Placement (
'bottom'): The "Administration" area for system and configuration sections (System, Settings)
Placement Examples
Order Scoping
:::important Order Scoping Order values are scoped within each placement area. This means:
- Top sections compete only with other top sections for positioning
- Bottom sections compete only with other bottom sections for positioning
- You can use the same order value in both top and bottom without conflict :::
Default Section Orders
Top Placement (Platform):
- Dashboard: 100
- Catalog: 200
- Sales: 300
- Customers: 400
- Marketing: 500
Bottom Placement (Administration):
- System: 100
- Settings: 200
This means if you want to add a section between Catalog and Sales in the top area, you might use order: 250. If you want to add a section before Settings in the bottom area, you could use order: 150.
If you don't specify a placement, sections default to 'top' placement.
Unauthenticated Routes
By default, all navigation is assumed to be for authenticated routes, i.e. the routes are only accessible to administrators who are logged in.
Sometimes you want to make a certain route accessible to unauthenticated users. For example, you may want to implement a completely custom login page or a password recovery page, which must be accessible to everyone.
This is done by setting authenticated: false in your route definition:
This page will then be accessible to all users at http://localhost:4873/dashboard/public
Complete Example
Here's a comprehensive example showing how to create a complete navigation structure for a content management system:
Icons
The dashboard uses Lucide React icons. You can import any icon from the library:
Common icons for navigation sections:
- Content:
FileTextIcon,EditIcon,BookOpenIcon - Media:
ImageIcon,FolderIcon,UploadIcon - Analytics:
BarChartIcon,TrendingUpIcon,PieChartIcon - Tools:
WrenchIcon,SettingsIcon,CogIcon - Integrations:
LinkIcon,ZapIcon,PlugIcon
Best Practices
- Use descriptive section names: Choose clear, concise names that indicate the section's purpose
- Group related functionality: Keep logically related menu items in the same section
- Choose appropriate icons: Select icons that clearly represent the section's function
- Consider ordering carefully: Place frequently used sections earlier in the navigation
- Keep section counts reasonable: Avoid creating too many sections as it can clutter the navigation
- Use consistent naming: Follow consistent patterns for menu item names within sections

