diff --git a/client/src/App.tsx b/client/src/App.tsx
index 5f82cea..ae1d388 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -1,165 +1,11 @@
import { BrowserRouter as Router, Route, Routes, Navigate } from "react-router-dom"
-import Main from "./pages/Main"
-import Users from "./pages/Users"
-import Roles from "./pages/Roles"
import NotFound from "./pages/NotFound"
import MainLayout from "./layouts/MainLayout"
-import SignIn from "./pages/auth/SignIn"
-import SignUp from "./pages/auth/SignUp"
import { initAuth, useAuthStore } from "./store/auth"
import { useEffect, useState } from "react"
-import Documents from "./pages/Documents"
-import Reports from "./pages/Reports"
-import Boilers from "./pages/Boilers"
-import Servers from "./pages/Servers"
-import Settings from "./pages/Settings"
-import PasswordReset from "./pages/auth/PasswordReset"
-import MapTest from "./pages/MapTest"
-import MonitorPage from "./pages/MonitorPage"
import DashboardLayout from "./layouts/DashboardLayout"
-import { IconBuildingFactory2, IconComponents, IconDeviceDesktopAnalytics, IconFiles, IconHome, IconLogin, IconLogin2, IconMap, IconPassword, IconReport, IconServer, IconSettings, IconShield, IconTable, IconUsers } from "@tabler/icons-react"
import { Box, Loader } from "@mantine/core"
-import TableTest from "./pages/TableTest"
-import ComponentTest from "./pages/ComponentTest"
-
-// Определение страниц с путями и компонентом для рендера
-export const pages = [
- {
- label: "",
- path: "/auth/signin",
- icon: ,
- component: ,
- drawer: false,
- dashboard: false,
- enabled: true,
- },
- {
- label: "",
- path: "/auth/signup",
- icon: ,
- component: ,
- drawer: false,
- dashboard: false,
- enabled: false,
- },
- {
- label: "",
- path: "/auth/password-reset",
- icon: ,
- component: ,
- drawer: false,
- dashboard: false,
- enabled: true,
- },
- {
- label: "Настройки",
- path: "/settings",
- icon: ,
- component: ,
- drawer: false,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Главная",
- path: "/",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Пользователи",
- path: "/user",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Роли",
- path: "/role",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Документы",
- path: "/documents",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Отчеты",
- path: "/reports",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Серверы",
- path: "/servers",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Котельные",
- path: "/boilers",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "ИКС",
- path: "/map-test",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Монитор",
- path: "/monitor",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Table test",
- path: "/table-test",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
- {
- label: "Component test",
- path: "/component-test",
- icon: ,
- component: ,
- drawer: true,
- dashboard: true,
- enabled: true,
- },
-]
+import { pages } from "./constants/app"
function App() {
const auth = useAuthStore()
diff --git a/client/src/constants/app.tsx b/client/src/constants/app.tsx
new file mode 100644
index 0000000..815f744
--- /dev/null
+++ b/client/src/constants/app.tsx
@@ -0,0 +1,160 @@
+import { IconBuildingFactory2, IconComponents, IconDeviceDesktopAnalytics, IconFiles, IconHome, IconLogin, IconLogin2, IconMap, IconPassword, IconReport, IconServer, IconSettings, IconShield, IconTable, IconUsers } from "@tabler/icons-react";
+import SignIn from "../pages/auth/SignIn";
+import SignUp from "../pages/auth/SignUp";
+import PasswordReset from "../pages/auth/PasswordReset";
+import TableTest from "../pages/TableTest";
+import ComponentTest from "../pages/ComponentTest";
+import MonitorPage from "../pages/MonitorPage";
+import Settings from "../pages/Settings";
+import Main from "../pages/Main";
+import Users from "../pages/Users";
+import Roles from "../pages/Roles";
+import Documents from "../pages/Documents";
+import Reports from "../pages/Reports";
+import Servers from "../pages/Servers";
+import Boilers from "../pages/Boilers";
+import MapTest from "../pages/MapTest";
+
+// Определение страниц с путями и компонентом для рендера
+
+const pages = [
+ {
+ label: "",
+ path: "/auth/signin",
+ icon: ,
+ component: ,
+ drawer: false,
+ dashboard: false,
+ enabled: true,
+ },
+ {
+ label: "",
+ path: "/auth/signup",
+ icon: ,
+ component: ,
+ drawer: false,
+ dashboard: false,
+ enabled: false,
+ },
+ {
+ label: "",
+ path: "/auth/password-reset",
+ icon: ,
+ component: ,
+ drawer: false,
+ dashboard: false,
+ enabled: true,
+ },
+ {
+ label: "Настройки",
+ path: "/settings",
+ icon: ,
+ component: ,
+ drawer: false,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Главная",
+ path: "/",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Пользователи",
+ path: "/user",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Роли",
+ path: "/role",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Документы",
+ path: "/documents",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Отчеты",
+ path: "/reports",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Серверы",
+ path: "/servers",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Котельные",
+ path: "/boilers",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "ИКС",
+ path: "/map-test",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Монитор",
+ path: "/monitor",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Table test",
+ path: "/table-test",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+ {
+ label: "Component test",
+ path: "/component-test",
+ icon: ,
+ component: ,
+ drawer: true,
+ dashboard: true,
+ enabled: true,
+ },
+]
+
+export {
+ pages
+}
\ No newline at end of file
diff --git a/client/src/layouts/DashboardLayout.tsx b/client/src/layouts/DashboardLayout.tsx
index 2b5fda6..cc5e99b 100644
--- a/client/src/layouts/DashboardLayout.tsx
+++ b/client/src/layouts/DashboardLayout.tsx
@@ -1,11 +1,11 @@
import { AppShell, Avatar, Burger, Button, Flex, Group, Image, Menu, NavLink, rem, Text, useMantineColorScheme } from '@mantine/core';
import { useDisclosure } from '@mantine/hooks';
import { Outlet, useNavigate } from 'react-router-dom';
-import { pages } from '../App';
import { IconChevronDown, IconLogout, IconSettings, IconMoon, IconSun } from '@tabler/icons-react';
import { getUserData, logout, useAuthStore } from '../store/auth';
import { useEffect, useState } from 'react';
import { UserData } from '../interfaces/auth';
+import { pages } from '../constants/app';
function DashboardLayout() {
const [mobileOpened, { toggle: toggleMobile }] = useDisclosure()