since3-portal/modules/shared/data/sidebar-menu-content.ts
2026-10-05 08:23:02 +02:00

102 lines
No EOL
2 KiB
TypeScript

import {
FileTextIcon,
FoldersIcon,
InfoIcon,
KeyIcon,
LayoutDashboardIcon,
LayoutTemplateIcon,
LucideIcon,
SettingsIcon,
UserRoundIcon,
UsersRoundIcon
}
from "lucide-react";
export type MenuItem = {
title: string;
url: string;
icon: LucideIcon;
}
export const adminMenu: MenuItem[] = [
{
title: "Dashboard",
url: "/admin/dashboard",
icon: LayoutDashboardIcon
},
{
title: "Clients",
url: "/admin/clients",
icon: UsersRoundIcon
},
{
title: "Vorlagen",
url: "/admin/templates",
icon: LayoutTemplateIcon
},
{
title: "Settings",
url: "/admin/settings",
icon: SettingsIcon
}
]
export const clientMenu: MenuItem[] = [
{
title: "Dashboard",
url: "/client/dashboard",
icon: LayoutDashboardIcon
},
{
title: "Stammdaten",
url: "/client/data",
icon: UserRoundIcon
},
{
title: "Rechungen",
url: "/client/billing",
icon: FileTextIcon
},
{
title: "Passwörter",
url: "/client/passwords",
icon: KeyIcon
},
{
title: "Dokumente",
url: "/client/storage",
icon: FoldersIcon
}
]
export function getClientDetailMenu(clientId: string): MenuItem[] {
const base = `/admin/clients/${clientId}`
return [
{
title: "Info",
url: base,
icon: InfoIcon
},
{
title: "Stammdaten",
url: `${base}/data`,
icon: UserRoundIcon
},
{
title: "Rechnungen",
url: `${base}/billing`,
icon: FileTextIcon
},
{
title: "Passwörter",
url: `${base}/passwords`,
icon: KeyIcon
},
{
title: "Dokumente",
url: `${base}/storage`,
icon: FoldersIcon
}
]
}