gitscope
← marzneshin / v0.6.1 / dashboard/src/features/search-command/commands.ts
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/search-command/commands.ts · TypeScript
Blame Raw
 1import {
 2    UsersIcon,
 3    ServerIcon,
 4    BoxIcon,
 5    ServerCogIcon,
 6    SettingsIcon,
 7    LucideIcon,
 8    ShieldIcon,
 9} from "lucide-react";
10
11export interface CommandItemConfig {
12    icon: LucideIcon;
13    label: string;
14    path: string;
15    sudo: boolean;
16}
17
18export interface CommandGroupConfig {
19    group: string;
20    items: CommandItemConfig[];
21}
22
23export const commandItems: CommandGroupConfig[] = [
24    {
25        group: "Pages",
26        items: [
27            {
28                icon: UsersIcon,
29                label: "users",
30                path: "/users",
31                sudo: false,
32            },
33            {
34                icon: ServerIcon,
35                label: "services",
36                path: "/services",
37                sudo: true,
38            },
39            {
40                icon: BoxIcon,
41                label: "nodes",
42                path: "/nodes",
43                sudo: true,
44            },
45            {
46                icon: ServerCogIcon,
47                label: "hosts",
48                path: "/hosts",
49                sudo: true,
50            },
51            {
52                icon: ShieldIcon,
53                label: "admins",
54                path: "/admins",
55                sudo: true,
56            },
57        ],
58    },
59    {
60        group: "Actions",
61        items: [
62            {
63                icon: UsersIcon,
64                label: "page.users.dialogs.creation.title",
65                path: "/users/create",
66                sudo: false,
67            },
68            {
69                icon: ServerIcon,
70                label: "page.services.dialogs.creation.title",
71                path: "/services/create",
72                sudo: true,
73            },
74            {
75                icon: BoxIcon,
76                label: "page.nodes.dialogs.creation.title",
77                path: "/nodes/create",
78                sudo: true,
79            },
80            {
81                icon: ShieldIcon,
82                label: "page.admins.dialogs.creation.title",
83                path: "/admins/create",
84                sudo: true,
85            },
86        ],
87    },
88    {
89        group: "Settings",
90        items: [
91            {
92                icon: SettingsIcon,
93                label: "settings",
94                path: "/settings",
95                sudo: true,
96            },
97        ],
98    },
99];