diff --git a/src/components/layouts/dashboard/headerWithSidebar/Sidebar/SidebarMenu.jsx b/src/components/layouts/dashboard/headerWithSidebar/Sidebar/SidebarMenu.jsx
index 4142b7f..3be25b1 100644
--- a/src/components/layouts/dashboard/headerWithSidebar/Sidebar/SidebarMenu.jsx
+++ b/src/components/layouts/dashboard/headerWithSidebar/Sidebar/SidebarMenu.jsx
@@ -7,6 +7,7 @@ import Profile from "@/core/components/Profile";
import { filterMenuItems } from "@/core/utils/filterMenuItems";
import { pageMenu } from "@/core/utils/pageMenu";
import SidebarListItems from "./SidebarListItems";
+import { pageMenuDev } from "@/core/utils/pageMenuDev";
function selectPage(item, route) {
if (item.type === "page") {
@@ -76,7 +77,7 @@ function reducer(state, action) {
const SidebarMenu = () => {
const { data: userPermissions } = usePermissions();
- const [menuItems, dispatch] = useReducer(reducer, pageMenu);
+ const [menuItems, dispatch] = useReducer(reducer, process.env.NODE_ENV == "production" ? pageMenu : pageMenuDev);
const pathname = usePathname();
const [selectedKey, setSelectedKey] = useState(null);
diff --git a/src/core/utils/pageMenuDev.js b/src/core/utils/pageMenuDev.js
new file mode 100644
index 0000000..f881e04
--- /dev/null
+++ b/src/core/utils/pageMenuDev.js
@@ -0,0 +1,548 @@
+import SpaceDashboardIcon from "@mui/icons-material/SpaceDashboard";
+import GroupsIcon from "@mui/icons-material/Groups";
+import AccountTreeIcon from "@mui/icons-material/AccountTree";
+import FactCheckIcon from "@mui/icons-material/FactCheck";
+import FireTruckIcon from "@mui/icons-material/FireTruck";
+import RouteIcon from "@mui/icons-material/Route";
+import DoorbellIcon from "@mui/icons-material/Doorbell";
+import ElectricBoltIcon from "@mui/icons-material/ElectricBolt";
+import CottageIcon from "@mui/icons-material/Cottage";
+import GppMaybeIcon from "@mui/icons-material/GppMaybe";
+import GavelIcon from "@mui/icons-material/Gavel";
+import BallotIcon from "@mui/icons-material/Ballot";
+import AssistantIcon from "@mui/icons-material/Assistant";
+import AdminPanelSettingsIcon from "@mui/icons-material/AdminPanelSettings";
+import MapIcon from "@mui/icons-material/Map";
+import SpeedIcon from "@mui/icons-material/Speed";
+import EngineeringIcon from "@mui/icons-material/Engineering";
+import AssessmentIcon from "@mui/icons-material/Assessment";
+import AssignmentLateIcon from "@mui/icons-material/AssignmentLate";
+import LockPersonIcon from "@mui/icons-material/LockPerson";
+import LineAxisIcon from "@mui/icons-material/LineAxis";
+import ScienceIcon from "@mui/icons-material/Science";
+import DriveEtaIcon from "@mui/icons-material/DriveEta";
+import BiotechIcon from "@mui/icons-material/Biotech";
+
+export const pageMenuDev = [
+ {
+ id: "dashboard",
+ label: "پیشخوان",
+ type: "page",
+ route: "/dashboard",
+ icon: ,
+ permissions: ["all"],
+ },
+ {
+ id: "userManagement",
+ label: "مدیریت کاربران",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/user_management",
+ icon: ,
+ permissions: ["full-user-management", "limited-user-management"],
+ },
+ {
+ id: "projectsManagment",
+ label: "پروژه های راهداری",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "projectsManagmentFinance",
+ label: "ثبت قرارداد و پروژه",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/finance",
+ icon: ,
+ permissions: ["show-contract", "show-contract-province"],
+ },
+ {
+ id: "projectsManagmentList",
+ label: "لیست پروژه ها",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/projects_list",
+ icon: ,
+ permissions: ["all"],
+ },
+ {
+ id: "projectsManagmentProposal",
+ label: "پروژه های پیشنهادی",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/proposal",
+ icon: ,
+ permissions: ["show-proposal", "show-proposal-province"],
+ },
+ {
+ id: "projectsManagmentLawmaker",
+ label: "درخواست نمایندگان",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/lawmakers",
+ icon: ,
+ permissions: ["show-lawmaker", "show-lawmaker-province"],
+ },
+ {
+ id: "projectsManagmentMap",
+ label: "پراکندگی بر روی نقشه",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=rahdari_projects",
+ icon: ,
+ permissions: ["all"],
+ },
+ ],
+ },
+ {
+ id: "roadItemManagment",
+ label: "فعالیت های روزانه",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadItem.total" }],
+ Subitems: [
+ {
+ id: "roadItemManagmentSupervisor",
+ label: "ارزیابی",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadItem.supervise_cnt" }],
+ Subitems: [
+ {
+ id: "roadItemManagmentSupervisorCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-items/supervisor",
+ permissions: [
+ "show-road-item-supervise-cartable",
+ "show-road-item-supervise-cartable-province",
+ ],
+ },
+ ],
+ },
+ {
+ id: "roadItemManagmentOparation",
+ label: "عملیات",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadItem.operation_cnt" }],
+ Subitems: [
+ {
+ id: "roadItemManagmentOparationCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-items/operator",
+ permissions: ["create-road-item"],
+ },
+ ],
+ },
+ {
+ id: "roadItemManagmentMap",
+ label: "پراکندگی بر روی نقشه",
+ type: "page",
+ route: "/dashboard/road-items/reports/map",
+ icon: ,
+ permissions: [
+ "show-road-item-supervise-cartable",
+ "show-road-item-supervise-cartable-province",
+ "create-road-item",
+ ],
+ },
+ {
+ id: "roadItemManagmentReport",
+ label: "گزارش ها",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "roadItemManagmentReportProvince",
+ label: "تعداد فعالیت ها به تفکیک آیتم",
+ type: "page",
+ route: "/dashboard/road-items/reports/items-report",
+ permissions: [
+ "show-road-item-supervise-cartable",
+ "show-road-item-supervise-cartable-province",
+ "create-road-item",
+ ],
+ },
+ {
+ id: "roadItemManagmentReportItems",
+ label: "تعداد و حجم فعالیت ها به تفکیک موارد اقدام شده",
+ type: "page",
+ route: "/dashboard/road-items/reports/sub-items-report",
+ permissions: [
+ "show-road-item-supervise-cartable",
+ "show-road-item-supervise-cartable-province",
+ "create-road-item",
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ {
+ id: "roadPatrolManagment",
+ label: "گشت راهداری و ترابری",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "roadPatrolManagmentSupervisor",
+ label: "ارزیابی",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "roadPatrolManagmentSupervisorCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-patrols/supervisor",
+ permissions: [
+ "show-road-patrol-supervise-cartable",
+ "show-road-patrol-supervise-cartable-province",
+ ],
+ },
+ ],
+ },
+ {
+ id: "roadPatrolManagmentOparation",
+ label: "عملیات",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "roadPatrolManagmentOparationCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-patrols/operator",
+ permissions: ["add-road-patrol"],
+ },
+ ],
+ },
+ {
+ id: "roadPatrolManagmentMap",
+ label: "پراکندگی بر روی نقشه",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_patrols",
+ icon: ,
+ permissions: [
+ "add-road-patrol",
+ "show-road-patrol-supervise-cartable",
+ "show-road-patrol-supervise-cartable-province",
+ ],
+ },
+ {
+ id: "roadPatrolManagmentReport",
+ label: "گزارش ها",
+ type: "page",
+ route: "/dashboard/road-patrols/reports",
+ icon: ,
+ permissions: [
+ "add-road-patrol",
+ "show-road-patrol-supervise-cartable",
+ "show-road-patrol-supervise-cartable-province",
+ ],
+ },
+ ],
+ },
+ {
+ id: "inquiryPrivacyManagment",
+ label: "استعلام حریم راه",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "cityAdminZaminGov",
+ label: "استعلام حرائم پنجره واحد",
+ type: "page",
+ route: "/dashboard/inquiry-privacy/city-admin/zamin-gov",
+ permissions: [],
+ },
+ {
+ id: "provinceAdminZaminGov",
+ label: "استعلام حرائم پنجره واحد",
+ type: "page",
+ route: "/dashboard/inquiry-privacy/province-admin/zamin-gov",
+ permissions: [],
+ },
+ {
+ id: "assistantZaminGov",
+ label: "استعلام حرائم پنجره واحد",
+ type: "page",
+ route: "/dashboard/inquiry-privacy/assistant/zamin-gov",
+ permissions: [],
+ },
+ {
+ id: "generalManagerZaminGov",
+ label: "استعلام حرائم پنجره واحد",
+ type: "page",
+ route: "/dashboard/inquiry-privacy/general-manager/zamin-gov",
+ permissions: [],
+ },
+ ],
+ },
+ {
+ id: "safetyAndPrivacyManagment",
+ label: "نگهداری حریم راه",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [
+ { key: "safetyAndPrivacy.supervise_cnt" },
+ { key: "safetyAndPrivacy.step_one", color: "warning" },
+ { key: "safetyAndPrivacy.step_two", color: "error" },
+ ],
+ Subitems: [
+ {
+ id: "safetyAndPrivacyManagmentSupervisor",
+ label: "ارزیابی",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "safetyAndPrivacy.supervise_cnt" }],
+ Subitems: [
+ {
+ id: "safetyAndPrivacyManagmentSupervisorCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-safety/supervisor",
+ permissions: [
+ "show-safety-and-privacy-operator-cartable",
+ "show-safety-and-privacy-operator-cartable-province",
+ ],
+ },
+ ],
+ },
+ {
+ id: "safetyAndPrivacyManagmentOparation",
+ label: "عملیات",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [
+ { key: "safetyAndPrivacy.step_one", color: "warning" },
+ { key: "safetyAndPrivacy.step_two", color: "error" },
+ ],
+ Subitems: [
+ {
+ id: "safetyAndPrivacyManagmentOparationCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/road-safety/operator",
+ permissions: ["show-safety-and-privacy-operator-cartable-edarate-shahri"],
+ },
+ ],
+ },
+ {
+ id: "safetyAndPrivacyManagmentMap",
+ label: "پراکندگی بر روی نقشه",
+ type: "page",
+ route: "/dashboard/road-safety/reports/map",
+ icon: ,
+ permissions: [
+ "show-safety-and-privacy-operator-cartable",
+ "show-safety-and-privacy-operator-cartable-province",
+ "show-safety-and-privacy-operator-cartable-edarate-shahri",
+ ],
+ },
+ {
+ id: "safetyAndPrivacyManagmentReport",
+ label: "گزارش ها",
+ type: "page",
+ route: "/dashboard/road-safety/reports",
+ icon: ,
+ permissions: [
+ "show-safety-and-privacy-operator-cartable",
+ "show-safety-and-privacy-operator-cartable-province",
+ "show-safety-and-privacy-operator-cartable-edarate-shahri",
+ ],
+ },
+ ],
+ },
+ {
+ id: "roadObservationsManagment",
+ label: "واکنش سریع",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadObserved.total" }],
+ Subitems: [
+ {
+ id: "roadObservationsManagmentSupervisor",
+ label: "ارزیابی",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadObserved.supervise_cnt" }, { key: "roadObserved.complaint_cnt", color: "info" }],
+ Subitems: [
+ {
+ id: "roadObservationsManagmentSupervisorCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/fast-react/supervisor",
+ permissions: ["show-fast-react", "show-fast-react-province"],
+ },
+ ],
+ },
+ {
+ id: "roadObservationsManagmentOparation",
+ label: "عملیات",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ badges: [{ key: "roadObserved.operation_cnt" }, { key: "roadObserved.complaint_cnt", color: "info" }],
+ Subitems: [
+ {
+ id: "roadObservationsManagmentOparationCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/fast-react/operator",
+ permissions: ["show-fast-react-edarate-shahri"],
+ },
+ ],
+ },
+ {
+ id: "roadObservationsManagmentMap",
+ label: "پراکندگی بر روی نقشه",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_observations",
+ icon: ,
+ permissions: ["all"],
+ },
+ {
+ id: "roadObservationsManagmentReport",
+ label: "گزارش ها",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/report/index",
+ icon: ,
+ permissions: ["all"],
+ },
+ ],
+ },
+ {
+ id: "winterCampManagment",
+ label: "قرارگاه زمستانی",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "winterCampManagmentBlocking",
+ label: "محور های انسدادی",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/winter_camp",
+ icon: ,
+ permissions: ["show-camp", "show-camp-province"],
+ },
+ {
+ id: "winterCampManagmentFirstRing",
+ label: "محور های حلقه اول",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=camp",
+ icon: ,
+ permissions: ["show-camp", "show-camp-province"],
+ },
+ {
+ id: "winterCampManagmentReport",
+ label: "گزارش ها",
+ type: "page",
+ route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=campNew",
+ icon: ,
+ permissions: ["show-camp", "show-camp-province"],
+ },
+ ],
+ },
+ {
+ id: "receiptManagment",
+ label: "خسارات وارده بر ابنیه فنی و تاسیسات راه",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "receiptManagmentOparation",
+ label: "عملیات",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "receiptManagmentOparationCartable",
+ label: "کارتابل",
+ type: "page",
+ route: "/dashboard/damages/operator",
+ permissions: ["all"],
+ },
+ ],
+ },
+ {
+ id: "damagesManagmentReport",
+ label: "گزارش ها",
+ type: "page",
+ route: "/dashboard/damages/report",
+ icon: ,
+ permissions: ["show-receipt", "show-receipt-province"],
+ },
+ ],
+ },
+ {
+ id: "azmayesh",
+ label: "آزمایشات (OPTS)",
+ type: "page",
+ route: "/dashboard/azmayesh",
+ icon: ,
+ permissions: ["azmayesh-management"],
+ },
+ {
+ id: "azmayeshType",
+ label: "نوع آزمایشات",
+ type: "page",
+ route: "/dashboard/azmayesh_type",
+ icon: ,
+ permissions: ["azmayesh-type-management"],
+ },
+ {
+ id: "adminManagement",
+ label: "مدیریت سامانه",
+ type: "menu",
+ icon: ,
+ hasSubitems: true,
+ Subitems: [
+ {
+ id: "permissionItem",
+ label: "سطح دسترسی ها",
+ type: "page",
+ route: "/dashboard/permissions",
+ icon: ,
+ permissions: ["manage-permissions"],
+ },
+ {
+ id: "userActivities",
+ label: "انواع فعالیت کاربران",
+ type: "page",
+ route: "/dashboard/user-activities",
+ icon: ,
+ permissions: ["manage-log-list"],
+ },
+ {
+ id: "damageItems",
+ label: "آیتم خسارات وارده بر ابنیه فنی",
+ type: "page",
+ route: "/dashboard/damage-items",
+ icon: ,
+ permissions: ["manage-damage"],
+ },
+ {
+ id: "CarDetails",
+ label: "اطلاعات خودرو",
+ type: "page",
+ route: "/dashboard/car-details",
+ icon: ,
+ permissions: [""],
+ },
+ ],
+ },
+];