main
tsx 96 lines 1.54 KB
Raw
1 import type { MenuMixedOption } from "naive-ui/es/menu/src/interface"
2 import { h } from "vue"
3 import { RouterLink } from "vue-router"
4 import { ICONS } from "@/const"
5 import { renderIcon } from "@/utils"
6
7 export default function getItems(): MenuMixedOption[] {
8 const items: MenuMixedOption[] = [
9 {
10 label: () =>
11 h(
12 RouterLink,
13 {
14 to: {
15 name: "Overview"
16 }
17 },
18 { default: () => "Overview" }
19 ),
20 key: "Overview",
21 icon: renderIcon(ICONS.dashboard)
22 },
23 {
24 label: () =>
25 h(
26 RouterLink,
27 {
28 to: {
29 name: "AlertsList"
30 }
31 },
32 { default: () => "Alerts" }
33 ),
34 key: "AlertsList",
35 icon: renderIcon(ICONS.alerts)
36 },
37 {
38 label: () =>
39 h(
40 RouterLink,
41 {
42 to: {
43 name: "CasesList"
44 }
45 },
46 { default: () => "Cases" }
47 ),
48 key: "CasesList",
49 icon: renderIcon(ICONS.cases)
50 },
51 {
52 label: () =>
53 h(
54 RouterLink,
55 {
56 to: {
57 name: "AgentsList"
58 }
59 },
60 { default: () => "Agents" }
61 ),
62 key: "AgentsList",
63 icon: renderIcon(ICONS.agents)
64 },
65 {
66 label: () =>
67 h(
68 RouterLink,
69 {
70 to: {
71 name: "EventSearch"
72 }
73 },
74 { default: () => "Event Search" }
75 ),
76 key: "EventSearch",
77 icon: renderIcon(ICONS.eventSearch)
78 },
79 {
80 label: () =>
81 h(
82 RouterLink,
83 {
84 to: {
85 name: "DashboardsList"
86 }
87 },
88 { default: () => "Dashboards" }
89 ),
90 key: "DashboardsList",
91 icon: renderIcon(ICONS.processes)
92 }
93 ]
94
95 return items
96 }