fix: enhance MainDrawer with typed MenuItem structure and submenu handling

This commit is contained in:
rstubryan
2025-10-09 09:12:07 +07:00
parent 1968761b5d
commit 3051e931ca
2 changed files with 13 additions and 3 deletions
+3 -1
View File
@@ -189,6 +189,8 @@ const MainDrawer = ({
); );
const traverseMenuTitle = (menu: typeof activeMenu) => { const traverseMenuTitle = (menu: typeof activeMenu) => {
if (!menu) return;
const hasSubmenu = menu?.submenu && menu?.submenu.length > 0; const hasSubmenu = menu?.submenu && menu?.submenu.length > 0;
if (!title) { if (!title) {
@@ -197,7 +199,7 @@ const MainDrawer = ({
title += ' - ' + menu?.title; title += ' - ' + menu?.title;
} }
if (!hasSubmenu) return; if (!hasSubmenu || !menu.submenu) return;
const activeSubmenu = menu.submenu.find((item) => const activeSubmenu = menu.submenu.find((item) =>
isPathActive(pathname, item.link) isPathActive(pathname, item.link)
+10 -2
View File
@@ -1,4 +1,13 @@
export const MAIN_DRAWER_LINKS = [ export type MenuItem = {
title: string;
link: string;
icon: string;
submenu?: MenuItem[];
};
type MainDrawerLink = MenuItem;
export const MAIN_DRAWER_LINKS: MainDrawerLink[] = [
{ {
title: 'Dashboard', title: 'Dashboard',
link: '/dashboard', link: '/dashboard',
@@ -119,4 +128,3 @@ export const PRODUCT_FLAG_OPTIONS = [
{ label: 'VITAMIN', value: 'VITAMIN' }, { label: 'VITAMIN', value: 'VITAMIN' },
{ label: 'KIMIA', value: 'KIMIA' }, { label: 'KIMIA', value: 'KIMIA' },
]; ];