68 lines
1.1 KiB
TypeScript
68 lines
1.1 KiB
TypeScript
import { authStore } from "@shared";
|
|
import {
|
|
Power,
|
|
LucideIcon,
|
|
Building2,
|
|
MonitorSmartphone,
|
|
Map,
|
|
BookImage,
|
|
Newspaper,
|
|
} from "lucide-react";
|
|
export const DRAWER_WIDTH = 300;
|
|
|
|
interface NavigationItem {
|
|
id: string;
|
|
label: string;
|
|
icon: LucideIcon;
|
|
path?: string;
|
|
onClick?: () => void;
|
|
}
|
|
|
|
export const NAVIGATION_ITEMS: {
|
|
primary: NavigationItem[];
|
|
secondary: NavigationItem[];
|
|
} = {
|
|
primary: [
|
|
{
|
|
id: "attractions",
|
|
label: "Достопримечательности",
|
|
icon: Building2,
|
|
path: "/sight",
|
|
},
|
|
{
|
|
id: "map",
|
|
label: "Карта",
|
|
icon: Map,
|
|
path: "/map",
|
|
},
|
|
{
|
|
id: "devices",
|
|
label: "Устройства",
|
|
icon: MonitorSmartphone,
|
|
path: "/devices",
|
|
},
|
|
{
|
|
id: "media",
|
|
label: "Медиа",
|
|
icon: BookImage,
|
|
path: "/media",
|
|
},
|
|
{
|
|
id: "articles",
|
|
label: "Статьи",
|
|
icon: Newspaper,
|
|
path: "/articles",
|
|
},
|
|
],
|
|
secondary: [
|
|
{
|
|
id: "logout",
|
|
label: "Выйти",
|
|
icon: Power,
|
|
onClick: () => {
|
|
authStore.logout();
|
|
},
|
|
},
|
|
],
|
|
};
|