Skip to content

Commit b74cf74

Browse files
committed
Refactor Menu
1 parent ff8fad1 commit b74cf74

2 files changed

Lines changed: 83 additions & 579 deletions

File tree

src/lib/config/navigation.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ export interface NavigationItem {
3636
external?: boolean;
3737
}
3838

39+
export interface NavigationSection {
40+
id: string;
41+
label: string;
42+
iconComponent: any;
43+
items: NavigationItem[];
44+
basePaths: string[];
45+
}
46+
3947
// Build navigation items dynamically based on environment variables
4048
function buildMyAccountItems(): NavigationItem[] {
4149
const items: NavigationItem[] = [
@@ -404,3 +412,16 @@ export function getActiveAbacMenuItem(pathname: string) {
404412

405413
return found || abacItems[0]; // fallback to first item
406414
}
415+
416+
export const navSections: NavigationSection[] = [
417+
{ id: "my-account", label: "My Account", iconComponent: User, items: myAccountItems, basePaths: ["/user"] },
418+
{ id: "system", label: "System", iconComponent: Server, items: systemItems, basePaths: ["/system"] },
419+
{ id: "integration", label: "Integration", iconComponent: Plug, items: integrationItems, basePaths: ["/integration"] },
420+
{ id: "metrics", label: "Metrics", iconComponent: BarChart3, items: metricsItems, basePaths: ["/metrics", "/aggregate-metrics", "/connector-metrics"] },
421+
{ id: "abac", label: "ABAC", iconComponent: Lock, items: abacItems, basePaths: ["/abac"] },
422+
{ id: "products", label: "Products", iconComponent: Package, items: productsItems, basePaths: ["/products"] },
423+
{ id: "rbac", label: "RBAC", iconComponent: Shield, items: rbacItems, basePaths: ["/rbac"] },
424+
{ id: "account-access", label: "Account Access", iconComponent: Landmark, items: accountAccessItems, basePaths: ["/account-access"] },
425+
{ id: "dynamic-entities", label: "Dynamic Entities", iconComponent: Box, items: dynamicEntitiesItems, basePaths: ["/dynamic-entities"] },
426+
{ id: "dynamic-endpoints", label: "Dynamic Endpoints", iconComponent: Plug, items: dynamicEndpointsItems, basePaths: ["/dynamic-endpoints"] },
427+
];

0 commit comments

Comments
 (0)