Files
Checkmate/client/src/Components/sidebar/Menu.tsx
T

157 lines
3.2 KiB
TypeScript
Raw Normal View History

2026-02-20 18:13:39 +00:00
import { Icon } from "@/Components/design-elements";
2026-02-10 19:21:57 +00:00
import {
Globe,
Gauge,
Link,
Bell,
FileText,
AlertTriangle,
Wifi,
Wrench,
ScrollText,
2026-02-10 19:21:57 +00:00
Settings,
2026-02-10 22:17:13 +00:00
HelpCircle,
MessageCircle,
Code,
User,
Lock,
Users,
2026-05-20 10:45:36 -07:00
Tag,
2026-08-21 15:13:34 -07:00
Waypoints,
Container,
2026-02-10 19:21:57 +00:00
} from "lucide-react";
export const getMenu = (t: Function) => {
return [
{
group: t("components.sidebar.menu.groups.monitoring"),
items: [
{
name: t("components.sidebar.menu.uptime"),
path: "uptime",
icon: <Icon icon={Globe} />,
},
{
name: t("components.sidebar.menu.docker"),
path: "docker",
icon: <Icon icon={Container} />,
},
{
name: t("components.sidebar.menu.infrastructure"),
path: "infrastructure",
icon: <Icon icon={Link} />,
},
2026-08-31 10:26:38 -07:00
{
name: t("components.sidebar.menu.pagespeed"),
path: "pagespeed",
icon: <Icon icon={Gauge} />,
2026-08-31 10:26:38 -07:00
},
],
},
{
group: t("components.sidebar.menu.groups.alerting"),
items: [
{
name: t("components.sidebar.menu.incidents"),
path: "incidents",
icon: <Icon icon={AlertTriangle} />,
},
{
name: t("components.sidebar.menu.notifications"),
path: "notifications",
icon: <Icon icon={Bell} />,
},
{
name: t("components.sidebar.menu.maintenance"),
path: "maintenance",
icon: <Icon icon={Wrench} />,
},
],
},
{
group: t("components.sidebar.menu.groups.reporting"),
items: [
{
name: t("components.sidebar.menu.statusPages"),
path: "status",
icon: <Icon icon={Wifi} />,
},
{
name: t("components.sidebar.menu.checks"),
path: "checks",
icon: <Icon icon={FileText} />,
},
{
name: t("components.sidebar.menu.logs"),
path: "logs",
icon: <Icon icon={ScrollText} />,
},
],
},
{
group: t("components.sidebar.menu.groups.configuration"),
items: [
{
name: t("components.sidebar.menu.tags"),
path: "tags",
icon: <Icon icon={Tag} />,
},
{
name: t("components.sidebar.menu.proxies"),
path: "proxies",
icon: <Icon icon={Waypoints} />,
},
{
name: t("components.sidebar.menu.settings"),
path: "settings",
icon: <Icon icon={Settings} />,
},
],
2026-02-10 19:21:57 +00:00
},
];
};
2026-02-10 22:17:13 +00:00
export const getBottomMenu = (t: Function) => {
return [
{
2026-02-10 22:47:39 +00:00
name: t("components.sidebar.bottomMenu.support"),
path: "support",
icon: <Icon icon={HelpCircle} />,
},
{
name: t("components.sidebar.bottomMenu.discussions"),
2026-02-10 22:17:13 +00:00
path: "discussions",
icon: <Icon icon={MessageCircle} />,
},
2026-02-10 22:47:39 +00:00
{
name: t("components.sidebar.bottomMenu.docs"),
path: "docs",
icon: <Icon icon={FileText} />,
},
{
name: t("components.sidebar.bottomMenu.changelog"),
path: "changelog",
icon: <Icon icon={Code} />,
},
];
};
export const getAccountMenu = (t: Function) => {
return [
{
name: t("components.sidebar.accountMenu.profile"),
path: "account/profile",
icon: <Icon icon={User} />,
},
{
name: t("components.sidebar.accountMenu.password"),
path: "account/password",
icon: <Icon icon={Lock} />,
},
{
name: t("components.sidebar.accountMenu.team"),
path: "account/team",
icon: <Icon icon={Users} />,
},
2026-02-10 22:17:13 +00:00
];
};