formatting

This commit is contained in:
Amirhossein Mahmoodi
2024-07-11 10:57:53 +03:30
parent 15a1da557a
commit c84d253721
12 changed files with 138 additions and 101 deletions

View File

@@ -1,10 +1,7 @@
import InquiryPrivacyFencingPage from "@/components/dashboard/inquiryPrivacyFencing"; import InquiryPrivacyFencingPage from "@/components/dashboard/inquiryPrivacyFencing";
const Page = () => { const Page = () => {
return <InquiryPrivacyFencingPage />;
return (
<InquiryPrivacyFencingPage />
);
}; };
export default Page; export default Page;

View File

@@ -12,4 +12,4 @@ const Layout = ({ children }) => {
</Stack> </Stack>
); );
}; };
export default Layout; export default Layout;

View File

@@ -1,9 +1,5 @@
const Page = () => { const Page = () => {
return <></>;
return (
<>
</>
);
}; };
export default Page; export default Page;

View File

@@ -1,7 +1,8 @@
import { redirect } from "next/navigation"; import { redirect } from "next/navigation";
const prefix = process.env.NODE_ENV === "production" ? "/v3" : "";
function Page() { function Page() {
redirect("/dashboard", "replace"); redirect(prefix + "/dashboard", "replace");
return null; return null;
} }

View File

@@ -99,7 +99,7 @@ const DataTable_Main = (props) => {
params.set("sorting", JSON.stringify(sortData)); params.set("sorting", JSON.stringify(sortData));
return `${table_url}?${params}`; return `${table_url}?${params}`;
}, [table_url, filterData, pagination, columns]); }, [table_url, filterData, pagination, columns]);
const table = useMaterialReactTable({ const table = useMaterialReactTable({
localization: FA_DATATABLE_LOCALIZATION, localization: FA_DATATABLE_LOCALIZATION,
columns, columns,

View File

@@ -0,0 +1,10 @@
import { TextField, styled } from "@mui/material";
const LtrTextField = styled(TextField)`
.MuiInputBase-input {
/* @noflip */
direction: ltr;
}
`;
export default LtrTextField;

View File

@@ -25,7 +25,7 @@ function AskForKeepData({ filterData, sortData, user_id, page_name, table_name,
}) })
.filter(Boolean); .filter(Boolean);
filterAction(user_id, page_name, table_name, filteredItems, columns); filterAction(user_id, page_name, table_name, filteredItems, columns);
sortAction(user_id, page_name, table_name, sortData, columns); sortAction(user_id, page_name, table_name, sortData, columns);
toast.dismiss({ containerId: "datatable" }); toast.dismiss({ containerId: "datatable" });
}; };
@@ -75,4 +75,4 @@ function AskForKeepData({ filterData, sortData, user_id, page_name, table_name,
); );
} }
export default AskForKeepData; export default AskForKeepData;

View File

@@ -15,11 +15,11 @@ function selectPage(item, route) {
showSubitems: item.route === route, showSubitems: item.route === route,
}; };
} else if (item.Subitems && Array.isArray(item.Subitems)) { } else if (item.Subitems && Array.isArray(item.Subitems)) {
const updatedSubitems = item.Subitems.map(subitem => selectPage(subitem, route)); const updatedSubitems = item.Subitems.map((subitem) => selectPage(subitem, route));
return { return {
...item, ...item,
Subitems: updatedSubitems, Subitems: updatedSubitems,
showSubitems: updatedSubitems.some(subitem => subitem.showSubitems || subitem.route === route), showSubitems: updatedSubitems.some((subitem) => subitem.showSubitems || subitem.route === route),
}; };
} }
return item; return item;
@@ -28,59 +28,59 @@ function selectPage(item, route) {
function reducer(state, action) { function reducer(state, action) {
switch (action.type) { switch (action.type) {
case "UPDATE_MENU": case "UPDATE_MENU":
const _permissions = action.permissions || [] const _permissions = action.permissions || [];
const filteredPageMenu = filterMenuItems(state, ['all', ..._permissions]) const filteredPageMenu = filterMenuItems(state, ["all", ..._permissions]);
return filteredPageMenu return filteredPageMenu;
case "COLLAPSE_MENU": case "COLLAPSE_MENU":
return state.map((item) => return state.map((item) =>
action.id == item.id action.id == item.id
? { ? {
...item, ...item,
showSubitems: !item.showSubitems, showSubitems: !item.showSubitems,
} }
: item : item
); );
case "COLLAPSE_SUB_ITEMS": case "COLLAPSE_SUB_ITEMS":
return state.map((item) => { return state.map((item) => {
return item.hasSubitems return item.hasSubitems
? { ? {
...item, ...item,
Subitems: item.Subitems.map((subitem) => Subitems: item.Subitems.map((subitem) =>
action.id === subitem.id action.id === subitem.id
? { ? {
...subitem, ...subitem,
showSubitems: !subitem.showSubitems, showSubitems: !subitem.showSubitems,
} }
: subitem : subitem
), ),
} }
: item; : item;
}); });
case "COLLAPSE_SUB_SECOND_ITEMS": case "COLLAPSE_SUB_SECOND_ITEMS":
return state.map((item) => { return state.map((item) => {
return item.hasSubitems return item.hasSubitems
? { ? {
...item, ...item,
Subitems: item.Subitems.map((subitem) => { Subitems: item.Subitems.map((subitem) => {
return subitem.hasSubitems return subitem.hasSubitems
? { ? {
...subitem, ...subitem,
Subitems: subitem.Subitems.map((secondSubitem) => Subitems: subitem.Subitems.map((secondSubitem) =>
action.id === secondSubitem.id action.id === secondSubitem.id
? { ? {
...secondSubitem, ...secondSubitem,
showSubitems: !secondSubitem.showSubitems, showSubitems: !secondSubitem.showSubitems,
} }
: secondSubitem : secondSubitem
), ),
} }
: subitem; : subitem;
}), }),
} }
: item; : item;
}); });
case "SELECTED": case "SELECTED":
return state.map(item => selectPage(item, action.route)); return state.map((item) => selectPage(item, action.route));
default: default:
throw new Error(); throw new Error();
@@ -88,7 +88,7 @@ function reducer(state, action) {
} }
const SidebarMenu = () => { const SidebarMenu = () => {
const { data: userPermissions } = usePermissions() const { data: userPermissions } = usePermissions();
const [menuItems, dispatch] = useReducer(reducer, pageMenu); const [menuItems, dispatch] = useReducer(reducer, pageMenu);
const pathname = usePathname(); const pathname = usePathname();
const [selectedKey, setSelectedKey] = useState(null); const [selectedKey, setSelectedKey] = useState(null);
@@ -99,10 +99,9 @@ const SidebarMenu = () => {
}, [userPermissions, pathname]); }, [userPermissions, pathname]);
useEffect(() => { useEffect(() => {
if (!userPermissions) return if (!userPermissions) return;
dispatch({ type: 'UPDATE_MENU', permissions: userPermissions }); dispatch({ type: "UPDATE_MENU", permissions: userPermissions });
}, [userPermissions]) }, [userPermissions]);
useEffect(() => { useEffect(() => {
selectedKey && selectedKey &&

View File

@@ -1,7 +1,7 @@
export function filterMenuItems(items, _permissions = []) { export function filterMenuItems(items, _permissions = []) {
return items.reduce((acc, item) => { return items.reduce((acc, item) => {
if (item.permissions) { if (item.permissions) {
if (item.permissions.some(permission => _permissions.includes(permission))) { if (item.permissions.some((permission) => _permissions.includes(permission))) {
acc.push(item); acc.push(item);
} }
} else if (item.hasSubitems) { } else if (item.hasSubitems) {
@@ -14,4 +14,4 @@ export function filterMenuItems(items, _permissions = []) {
} }
return acc; return acc;
}, []); }, []);
} }

View File

@@ -1,5 +1,5 @@
import { Security } from "@mui/icons-material"; import { Security } from "@mui/icons-material";
const prefix = process.env.NODE_ENV === 'production' ? '/v3' : '' const prefix = process.env.NODE_ENV === "production" ? "/v3" : "";
export const pageMenu = [ export const pageMenu = [
{ {
@@ -8,7 +8,7 @@ export const pageMenu = [
type: "page", type: "page",
route: prefix + "/dashboard", route: prefix + "/dashboard",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
{ {
id: "userManagement", id: "userManagement",
@@ -16,7 +16,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/user_management", route: process.env.NEXT_PUBLIC_API_URL + "/v2/user_management",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['full-user-management', 'limited-user-management'] permissions: ["full-user-management", "limited-user-management"],
}, },
{ {
id: "projectsManagment", id: "projectsManagment",
@@ -31,7 +31,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/finance", route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/finance",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-contract', 'show-contract-province'], permissions: ["show-contract", "show-contract-province"],
}, },
{ {
id: "projectsManagmentList", id: "projectsManagmentList",
@@ -39,7 +39,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/projects_list", route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/projects_list",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
{ {
id: "projectsManagmentProposal", id: "projectsManagmentProposal",
@@ -47,7 +47,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/proposal", route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/proposal",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-proposal', 'show-proposal-province'] permissions: ["show-proposal", "show-proposal-province"],
}, },
{ {
id: "projectsManagmentLawmaker", id: "projectsManagmentLawmaker",
@@ -55,7 +55,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/lawmakers", route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/lawmakers",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-lawmaker', 'show-lawmaker-province'] permissions: ["show-lawmaker", "show-lawmaker-province"],
}, },
{ {
id: "projectsManagmentMap", id: "projectsManagmentMap",
@@ -63,7 +63,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=rahdari_projects", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=rahdari_projects",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
], ],
}, },
@@ -86,7 +86,10 @@ export const pageMenu = [
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/supervisor/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/supervisor/cartable",
permissions: ['show-road-item-supervise-cartable', 'show-road-item-supervise-cartable-province'] permissions: [
"show-road-item-supervise-cartable",
"show-road-item-supervise-cartable-province",
],
}, },
], ],
}, },
@@ -102,14 +105,14 @@ export const pageMenu = [
label: "ثبت فعالیت", label: "ثبت فعالیت",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/operator/create", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/operator/create",
permissions: ['create-road-item'] permissions: ["create-road-item"],
}, },
{ {
id: "roadItemManagmentOparationCartable", id: "roadItemManagmentOparationCartable",
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/operator/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/operator/cartable",
permissions: ['create-road-item'] permissions: ["create-road-item"],
}, },
], ],
}, },
@@ -119,7 +122,11 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_items", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_items",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-road-item-supervise-cartable', 'show-road-item-supervise-cartable-province', 'create-road-item'] permissions: [
"show-road-item-supervise-cartable",
"show-road-item-supervise-cartable-province",
"create-road-item",
],
}, },
{ {
id: "roadItemManagmentReport", id: "roadItemManagmentReport",
@@ -127,7 +134,11 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/report", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/report",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-road-item-supervise-cartable', 'show-road-item-supervise-cartable-province', 'create-road-item'] permissions: [
"show-road-item-supervise-cartable",
"show-road-item-supervise-cartable-province",
"create-road-item",
],
}, },
], ],
}, },
@@ -150,7 +161,10 @@ export const pageMenu = [
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/road_patrols/supervisor/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/road_patrols/supervisor/cartable",
permissions: ['show-road-patrol-supervise-cartable', 'show-road-patrol-supervise-cartable-province'] permissions: [
"show-road-patrol-supervise-cartable",
"show-road-patrol-supervise-cartable-province",
],
}, },
], ],
}, },
@@ -166,14 +180,14 @@ export const pageMenu = [
label: "ثبت اقدام", label: "ثبت اقدام",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/operator/create", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/operator/create",
permissions: ['add-road-patrol'] permissions: ["add-road-patrol"],
}, },
{ {
id: "roadPatrolManagmentOparationCartable", id: "roadPatrolManagmentOparationCartable",
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/operator/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/operator/cartable",
permissions: ['add-road-patrol'] permissions: ["add-road-patrol"],
}, },
], ],
}, },
@@ -183,7 +197,11 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_patrols", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_patrols",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['add-road-patrol', 'show-road-patrol-supervise-cartable', 'show-road-patrol-supervise-cartable-province'] permissions: [
"add-road-patrol",
"show-road-patrol-supervise-cartable",
"show-road-patrol-supervise-cartable-province",
],
}, },
{ {
id: "roadPatrolManagmentReport", id: "roadPatrolManagmentReport",
@@ -191,7 +209,11 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/report", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/report",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['add-road-patrol', 'show-road-patrol-supervise-cartable', 'show-road-patrol-supervise-cartable-province'] permissions: [
"add-road-patrol",
"show-road-patrol-supervise-cartable",
"show-road-patrol-supervise-cartable-province",
],
}, },
], ],
}, },
@@ -207,23 +229,23 @@ export const pageMenu = [
label: "احداث و بهره برداری دیوارکشی و مستحدثات", label: "احداث و بهره برداری دیوارکشی و مستحدثات",
type: "page", type: "page",
route: prefix + "/dashboard/inquiry_privacy/fencing", route: prefix + "/dashboard/inquiry_privacy/fencing",
permissions: ['all'] permissions: ["all"],
}, },
{ {
id: "inquiryPrivacyManagmentRoad", id: "inquiryPrivacyManagmentRoad",
label: "احداث راه دسترسی اختصاصی", label: "احداث راه دسترسی اختصاصی",
type: "page", type: "page",
route: prefix + "/dashboard/inquiry_privacy/road", route: prefix + "/dashboard/inquiry_privacy/road",
permissions: ['all'] permissions: ["all"],
}, },
{ {
id: "inquiryPrivacyManagmentInfrastructure", id: "inquiryPrivacyManagmentInfrastructure",
label: "احداث و بهره برداری تاسیسات زیربنایی", label: "احداث و بهره برداری تاسیسات زیربنایی",
type: "page", type: "page",
route: prefix + "/dashboard/inquiry_privacy/infrastructure", route: prefix + "/dashboard/inquiry_privacy/infrastructure",
permissions: ['all'] permissions: ["all"],
}, },
] ],
}, },
{ {
id: "safetyAndPrivacyManagment", id: "safetyAndPrivacyManagment",
@@ -244,14 +266,18 @@ export const pageMenu = [
label: "ثبت فعالیت", label: "ثبت فعالیت",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/safety_and_privacy/operator/first_step", route: process.env.NEXT_PUBLIC_API_URL + "/safety_and_privacy/operator/first_step",
permissions: ['add-safety-and-privacy'] permissions: ["add-safety-and-privacy"],
}, },
{ {
id: "safetyAndPrivacyManagmentOparationCartable", id: "safetyAndPrivacyManagmentOparationCartable",
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/operator/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/operator/cartable",
permissions: ['show-safety-and-privacy-operator-cartable', 'show-safety-and-privacy-operator-cartable-province', 'show-safety-and-privacy-operator-cartable-edarate-shahri'] permissions: [
"show-safety-and-privacy-operator-cartable",
"show-safety-and-privacy-operator-cartable-province",
"show-safety-and-privacy-operator-cartable-edarate-shahri",
],
}, },
], ],
}, },
@@ -261,8 +287,12 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=safety_and_privacy", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=safety_and_privacy",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-safety-and-privacy-operator-cartable', 'show-safety-and-privacy-operator-cartable-province', permissions: [
'show-safety-and-privacy-operator-cartable-edarate-shahri', 'add-safety-and-privacy'] "show-safety-and-privacy-operator-cartable",
"show-safety-and-privacy-operator-cartable-province",
"show-safety-and-privacy-operator-cartable-edarate-shahri",
"add-safety-and-privacy",
],
}, },
{ {
id: "safetyAndPrivacyManagmentReport", id: "safetyAndPrivacyManagmentReport",
@@ -270,8 +300,12 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/report", route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/report",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-safety-and-privacy-operator-cartable', 'show-safety-and-privacy-operator-cartable-province', permissions: [
'show-safety-and-privacy-operator-cartable-edarate-shahri', 'add-safety-and-privacy'] "show-safety-and-privacy-operator-cartable",
"show-safety-and-privacy-operator-cartable-province",
"show-safety-and-privacy-operator-cartable-edarate-shahri",
"add-safety-and-privacy",
],
}, },
], ],
}, },
@@ -294,7 +328,7 @@ export const pageMenu = [
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/supervisor/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/supervisor/cartable",
permissions: ['supervise-fast-react', 'supervise-fast-react-province'] permissions: ["supervise-fast-react", "supervise-fast-react-province"],
}, },
], ],
}, },
@@ -304,7 +338,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-fast-react', 'show-fast-react-province', 'show-fast-react-edarate-shahri'] permissions: ["show-fast-react", "show-fast-react-province", "show-fast-react-edarate-shahri"],
}, },
{ {
id: "roadObservationsManagmentOparation", id: "roadObservationsManagmentOparation",
@@ -318,7 +352,7 @@ export const pageMenu = [
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/operator/cartable", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/operator/cartable",
permissions: ['show-fast-react', 'show-fast-react-province', 'show-fast-react-edarate-shahri'] permissions: ["show-fast-react", "show-fast-react-province", "show-fast-react-edarate-shahri"],
}, },
], ],
}, },
@@ -328,7 +362,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_observations", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_observations",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
{ {
id: "roadObservationsManagmentReport", id: "roadObservationsManagmentReport",
@@ -336,7 +370,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/report/index", route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/report/index",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
], ],
}, },
@@ -353,7 +387,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/winter_camp", route: process.env.NEXT_PUBLIC_API_URL + "/v2/winter_camp",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-camp', 'show-camp-province'] permissions: ["show-camp", "show-camp-province"],
}, },
{ {
id: "winterCampManagmentFirstRing", id: "winterCampManagmentFirstRing",
@@ -361,7 +395,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=camp", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=camp",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-camp', 'show-camp-province'] permissions: ["show-camp", "show-camp-province"],
}, },
{ {
id: "winterCampManagmentReport", id: "winterCampManagmentReport",
@@ -369,7 +403,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=campNew", route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=campNew",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ['show-camp', 'show-camp-province'] permissions: ["show-camp", "show-camp-province"],
}, },
], ],
}, },
@@ -392,7 +426,7 @@ export const pageMenu = [
label: "کارتابل", label: "کارتابل",
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt", route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt",
permissions: ["all"] permissions: ["all"],
}, },
], ],
}, },
@@ -402,7 +436,7 @@ export const pageMenu = [
type: "page", type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt/report", route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt/report",
icon: <Security sx={{ width: "inherit", height: "inherit" }} />, icon: <Security sx={{ width: "inherit", height: "inherit" }} />,
permissions: ["all"] permissions: ["all"],
}, },
], ],
}, },

View File

@@ -3,4 +3,4 @@ const api = process.env.NEXT_PUBLIC_API_URL;
export const GET_USER_ROUTE = api + "/webapi/user/get-permission"; export const GET_USER_ROUTE = api + "/webapi/user/get-permission";
export const GET_LOGIN_ROUTE = api + "/login_dev"; export const GET_LOGIN_ROUTE = api + "/login_dev";
export const GET_PERMISSIONS_ROUTE = api + "/webapi/user/get-permission"; export const GET_PERMISSIONS_ROUTE = api + "/webapi/user/get-permission";

View File

@@ -3,16 +3,16 @@ import useSWR from "swr";
import useRequest from "./useRequest"; import useRequest from "./useRequest";
export const usePermissions = () => { export const usePermissions = () => {
const request = useRequest() const request = useRequest();
const fetcher = async (url) => { const fetcher = async (url) => {
try { try {
const response = await request(url) const response = await request(url);
return response.data.data return response.data.data;
} catch (error) { } catch (error) {
throw new Error(); throw new Error();
} }
}; };
return useSWR(GET_PERMISSIONS_ROUTE, fetcher, { keepPreviousData: true }); return useSWR(GET_PERMISSIONS_ROUTE, fetcher, { keepPreviousData: true });
} };