The Sidebar.tsx file defines the main collapsible navigation sidebar for the Glint admin theme.
It is designed to be dynamic, customizable, and developer-friendly.
The sidebar supports multi-level menus, translations, responsive behavior, and integrates seamlessly with React Router.
menu.json inside src/data/.react-i18next.SimpleBar for smooth scrolling UI.useLocation.
The menu items are defined in menu.json under src/data/.
Each menu group can have a category (optional) and a list of items.
Each item may have:
label β The text of the menu item (translatable key).icon β The icon class (e.g., lni lni-dashboard).route β The path for navigation (React Router).children β (Optional) Submenu items with label and route.
{
"items": [
{
"label": "Dashboard",
"icon": "lni lni-dashboard-square-1",
"children": [
{ "label": "E-Commerce", "route": "/" },
{ "label": "CRM", "route": "/crm" },
{ "label": "SAAS", "route": "/saas" },
{ "label": "Academy", "route": "/academy" },
{ "label": "Creator/Blogger", "route": "/creator" }
],
"open": false
}
]
},
{
"category": "APPS & MODULES",
"items": [
{ "label": "Email", "icon": "lni lni-envelope-1", "route": "/email" },
{ "label": "Chat", "icon": "lni lni-message-2", "route": "/chat" },
{ "label": "Calendar", "icon": "lni lni-calendar-days", "route": "/calendar" }
]
},
The logo section is inside Sidebar.tsx under .glint-brand.
By default, it uses:
/images/glint-logo-icon.png β Sidebar logo icon./images/glint-text-logo.png β Text logo beside the icon.To replace them, simply update these image files or point to your own assets.
menu.json.currentRoute.public/images.SimpleBar options or styles in SCSS.