diff --git a/src/app/(withAuth)/dashboard/inquiry_privacy/fencing/page.js b/src/app/(withAuth)/dashboard/inquiry_privacy/fencing/page.js
index 0a1b9ec..b7aecdd 100644
--- a/src/app/(withAuth)/dashboard/inquiry_privacy/fencing/page.js
+++ b/src/app/(withAuth)/dashboard/inquiry_privacy/fencing/page.js
@@ -1,10 +1,7 @@
import InquiryPrivacyFencingPage from "@/components/dashboard/inquiryPrivacyFencing";
const Page = () => {
-
- return (
-
- );
+ return ;
};
-export default Page;
\ No newline at end of file
+export default Page;
diff --git a/src/app/(withAuth)/dashboard/layout.js b/src/app/(withAuth)/dashboard/layout.js
index f00cb95..dc77f0a 100644
--- a/src/app/(withAuth)/dashboard/layout.js
+++ b/src/app/(withAuth)/dashboard/layout.js
@@ -12,4 +12,4 @@ const Layout = ({ children }) => {
);
};
-export default Layout;
\ No newline at end of file
+export default Layout;
diff --git a/src/app/(withAuth)/dashboard/page.js b/src/app/(withAuth)/dashboard/page.js
index c43c1ae..46d4a05 100644
--- a/src/app/(withAuth)/dashboard/page.js
+++ b/src/app/(withAuth)/dashboard/page.js
@@ -1,9 +1,5 @@
const Page = () => {
-
- return (
- <>
- >
- );
+ return <>>;
};
export default Page;
diff --git a/src/app/page.js b/src/app/page.js
index 2997c35..a98fa16 100644
--- a/src/app/page.js
+++ b/src/app/page.js
@@ -1,7 +1,8 @@
import { redirect } from "next/navigation";
+const prefix = process.env.NODE_ENV === "production" ? "/v3" : "";
function Page() {
- redirect("/dashboard", "replace");
+ redirect(prefix + "/dashboard", "replace");
return null;
}
diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js
index 3ea2e65..45268ab 100644
--- a/src/core/components/DataTable/Main.js
+++ b/src/core/components/DataTable/Main.js
@@ -99,7 +99,7 @@ const DataTable_Main = (props) => {
params.set("sorting", JSON.stringify(sortData));
return `${table_url}?${params}`;
}, [table_url, filterData, pagination, columns]);
-
+
const table = useMaterialReactTable({
localization: FA_DATATABLE_LOCALIZATION,
columns,
diff --git a/src/core/components/LtrTextField.jsx b/src/core/components/LtrTextField.jsx
new file mode 100644
index 0000000..f31527c
--- /dev/null
+++ b/src/core/components/LtrTextField.jsx
@@ -0,0 +1,10 @@
+import { TextField, styled } from "@mui/material";
+
+const LtrTextField = styled(TextField)`
+ .MuiInputBase-input {
+ /* @noflip */
+ direction: ltr;
+ }
+`;
+
+export default LtrTextField;
diff --git a/src/core/components/NotificationDesign/AskForKeepData.jsx b/src/core/components/NotificationDesign/AskForKeepData.jsx
index 552aee1..8918a4c 100644
--- a/src/core/components/NotificationDesign/AskForKeepData.jsx
+++ b/src/core/components/NotificationDesign/AskForKeepData.jsx
@@ -25,7 +25,7 @@ function AskForKeepData({ filterData, sortData, user_id, page_name, table_name,
})
.filter(Boolean);
filterAction(user_id, page_name, table_name, filteredItems, columns);
-
+
sortAction(user_id, page_name, table_name, sortData, columns);
toast.dismiss({ containerId: "datatable" });
};
@@ -75,4 +75,4 @@ function AskForKeepData({ filterData, sortData, user_id, page_name, table_name,
);
}
-export default AskForKeepData;
\ No newline at end of file
+export default AskForKeepData;
diff --git a/src/core/components/SidebarMenu.jsx b/src/core/components/SidebarMenu.jsx
index 30a9297..74291a3 100644
--- a/src/core/components/SidebarMenu.jsx
+++ b/src/core/components/SidebarMenu.jsx
@@ -15,11 +15,11 @@ function selectPage(item, route) {
showSubitems: item.route === route,
};
} 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 {
...item,
Subitems: updatedSubitems,
- showSubitems: updatedSubitems.some(subitem => subitem.showSubitems || subitem.route === route),
+ showSubitems: updatedSubitems.some((subitem) => subitem.showSubitems || subitem.route === route),
};
}
return item;
@@ -28,59 +28,59 @@ function selectPage(item, route) {
function reducer(state, action) {
switch (action.type) {
case "UPDATE_MENU":
- const _permissions = action.permissions || []
- const filteredPageMenu = filterMenuItems(state, ['all', ..._permissions])
- return filteredPageMenu
+ const _permissions = action.permissions || [];
+ const filteredPageMenu = filterMenuItems(state, ["all", ..._permissions]);
+ return filteredPageMenu;
case "COLLAPSE_MENU":
return state.map((item) =>
action.id == item.id
? {
- ...item,
- showSubitems: !item.showSubitems,
- }
+ ...item,
+ showSubitems: !item.showSubitems,
+ }
: item
);
case "COLLAPSE_SUB_ITEMS":
return state.map((item) => {
return item.hasSubitems
? {
- ...item,
- Subitems: item.Subitems.map((subitem) =>
- action.id === subitem.id
- ? {
- ...subitem,
- showSubitems: !subitem.showSubitems,
- }
- : subitem
- ),
- }
+ ...item,
+ Subitems: item.Subitems.map((subitem) =>
+ action.id === subitem.id
+ ? {
+ ...subitem,
+ showSubitems: !subitem.showSubitems,
+ }
+ : subitem
+ ),
+ }
: item;
});
case "COLLAPSE_SUB_SECOND_ITEMS":
return state.map((item) => {
return item.hasSubitems
? {
- ...item,
- Subitems: item.Subitems.map((subitem) => {
- return subitem.hasSubitems
- ? {
- ...subitem,
- Subitems: subitem.Subitems.map((secondSubitem) =>
- action.id === secondSubitem.id
- ? {
- ...secondSubitem,
- showSubitems: !secondSubitem.showSubitems,
- }
- : secondSubitem
- ),
- }
- : subitem;
- }),
- }
+ ...item,
+ Subitems: item.Subitems.map((subitem) => {
+ return subitem.hasSubitems
+ ? {
+ ...subitem,
+ Subitems: subitem.Subitems.map((secondSubitem) =>
+ action.id === secondSubitem.id
+ ? {
+ ...secondSubitem,
+ showSubitems: !secondSubitem.showSubitems,
+ }
+ : secondSubitem
+ ),
+ }
+ : subitem;
+ }),
+ }
: item;
});
case "SELECTED":
- return state.map(item => selectPage(item, action.route));
+ return state.map((item) => selectPage(item, action.route));
default:
throw new Error();
@@ -88,7 +88,7 @@ function reducer(state, action) {
}
const SidebarMenu = () => {
- const { data: userPermissions } = usePermissions()
+ const { data: userPermissions } = usePermissions();
const [menuItems, dispatch] = useReducer(reducer, pageMenu);
const pathname = usePathname();
const [selectedKey, setSelectedKey] = useState(null);
@@ -99,10 +99,9 @@ const SidebarMenu = () => {
}, [userPermissions, pathname]);
useEffect(() => {
- if (!userPermissions) return
- dispatch({ type: 'UPDATE_MENU', permissions: userPermissions });
- }, [userPermissions])
-
+ if (!userPermissions) return;
+ dispatch({ type: "UPDATE_MENU", permissions: userPermissions });
+ }, [userPermissions]);
useEffect(() => {
selectedKey &&
diff --git a/src/core/utils/filterMenuItems.js b/src/core/utils/filterMenuItems.js
index 7bceeb5..bd35a95 100644
--- a/src/core/utils/filterMenuItems.js
+++ b/src/core/utils/filterMenuItems.js
@@ -1,7 +1,7 @@
export function filterMenuItems(items, _permissions = []) {
return items.reduce((acc, item) => {
if (item.permissions) {
- if (item.permissions.some(permission => _permissions.includes(permission))) {
+ if (item.permissions.some((permission) => _permissions.includes(permission))) {
acc.push(item);
}
} else if (item.hasSubitems) {
@@ -14,4 +14,4 @@ export function filterMenuItems(items, _permissions = []) {
}
return acc;
}, []);
-}
\ No newline at end of file
+}
diff --git a/src/core/utils/pageMenu.js b/src/core/utils/pageMenu.js
index 0129a78..d47d020 100644
--- a/src/core/utils/pageMenu.js
+++ b/src/core/utils/pageMenu.js
@@ -1,5 +1,5 @@
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 = [
{
@@ -8,7 +8,7 @@ export const pageMenu = [
type: "page",
route: prefix + "/dashboard",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
{
id: "userManagement",
@@ -16,7 +16,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/user_management",
icon: ,
- permissions: ['full-user-management', 'limited-user-management']
+ permissions: ["full-user-management", "limited-user-management"],
},
{
id: "projectsManagment",
@@ -31,7 +31,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/finance",
icon: ,
- permissions: ['show-contract', 'show-contract-province'],
+ permissions: ["show-contract", "show-contract-province"],
},
{
id: "projectsManagmentList",
@@ -39,7 +39,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/projects_list",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
{
id: "projectsManagmentProposal",
@@ -47,7 +47,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/proposal",
icon: ,
- permissions: ['show-proposal', 'show-proposal-province']
+ permissions: ["show-proposal", "show-proposal-province"],
},
{
id: "projectsManagmentLawmaker",
@@ -55,7 +55,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/rahdari_projects/lawmakers",
icon: ,
- permissions: ['show-lawmaker', 'show-lawmaker-province']
+ permissions: ["show-lawmaker", "show-lawmaker-province"],
},
{
id: "projectsManagmentMap",
@@ -63,7 +63,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=rahdari_projects",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
],
},
@@ -86,7 +86,10 @@ export const pageMenu = [
label: "کارتابل",
type: "page",
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: "ثبت فعالیت",
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/operator/create",
- permissions: ['create-road-item']
+ permissions: ["create-road-item"],
},
{
id: "roadItemManagmentOparationCartable",
label: "کارتابل",
type: "page",
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",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_items",
icon: ,
- 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",
@@ -127,7 +134,11 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_items/report",
icon: ,
- 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: "کارتابل",
type: "page",
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: "ثبت اقدام",
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/operator/create",
- permissions: ['add-road-patrol']
+ permissions: ["add-road-patrol"],
},
{
id: "roadPatrolManagmentOparationCartable",
label: "کارتابل",
type: "page",
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",
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']
+ permissions: [
+ "add-road-patrol",
+ "show-road-patrol-supervise-cartable",
+ "show-road-patrol-supervise-cartable-province",
+ ],
},
{
id: "roadPatrolManagmentReport",
@@ -191,7 +209,11 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_patrols/report",
icon: ,
- 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: "احداث و بهره برداری دیوارکشی و مستحدثات",
type: "page",
route: prefix + "/dashboard/inquiry_privacy/fencing",
- permissions: ['all']
+ permissions: ["all"],
},
{
id: "inquiryPrivacyManagmentRoad",
label: "احداث راه دسترسی اختصاصی",
type: "page",
route: prefix + "/dashboard/inquiry_privacy/road",
- permissions: ['all']
+ permissions: ["all"],
},
{
id: "inquiryPrivacyManagmentInfrastructure",
label: "احداث و بهره برداری تاسیسات زیربنایی",
type: "page",
route: prefix + "/dashboard/inquiry_privacy/infrastructure",
- permissions: ['all']
+ permissions: ["all"],
},
- ]
+ ],
},
{
id: "safetyAndPrivacyManagment",
@@ -244,14 +266,18 @@ export const pageMenu = [
label: "ثبت فعالیت",
type: "page",
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",
label: "کارتابل",
type: "page",
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",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=safety_and_privacy",
icon: ,
- permissions: ['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']
+ permissions: [
+ "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",
@@ -270,8 +300,12 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/safety_and_privacy/report",
icon: ,
- permissions: ['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']
+ permissions: [
+ "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: "کارتابل",
type: "page",
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",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations",
icon: ,
- 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",
@@ -318,7 +352,7 @@ export const pageMenu = [
label: "کارتابل",
type: "page",
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",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=road_observations",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
{
id: "roadObservationsManagmentReport",
@@ -336,7 +370,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/road_observations/report/index",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
],
},
@@ -353,7 +387,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/winter_camp",
icon: ,
- permissions: ['show-camp', 'show-camp-province']
+ permissions: ["show-camp", "show-camp-province"],
},
{
id: "winterCampManagmentFirstRing",
@@ -361,7 +395,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=camp",
icon: ,
- permissions: ['show-camp', 'show-camp-province']
+ permissions: ["show-camp", "show-camp-province"],
},
{
id: "winterCampManagmentReport",
@@ -369,7 +403,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/map?type=campNew",
icon: ,
- permissions: ['show-camp', 'show-camp-province']
+ permissions: ["show-camp", "show-camp-province"],
},
],
},
@@ -392,7 +426,7 @@ export const pageMenu = [
label: "کارتابل",
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt",
- permissions: ["all"]
+ permissions: ["all"],
},
],
},
@@ -402,7 +436,7 @@ export const pageMenu = [
type: "page",
route: process.env.NEXT_PUBLIC_API_URL + "/v2/receipt/report",
icon: ,
- permissions: ["all"]
+ permissions: ["all"],
},
],
},
diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js
index 81ac016..eb14f6c 100644
--- a/src/core/utils/routes.js
+++ b/src/core/utils/routes.js
@@ -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_LOGIN_ROUTE = api + "/login_dev";
-export const GET_PERMISSIONS_ROUTE = api + "/webapi/user/get-permission";
\ No newline at end of file
+export const GET_PERMISSIONS_ROUTE = api + "/webapi/user/get-permission";
diff --git a/src/lib/hooks/usePermissions.js b/src/lib/hooks/usePermissions.js
index 4f54b41..004ff6d 100644
--- a/src/lib/hooks/usePermissions.js
+++ b/src/lib/hooks/usePermissions.js
@@ -3,16 +3,16 @@ import useSWR from "swr";
import useRequest from "./useRequest";
export const usePermissions = () => {
- const request = useRequest()
+ const request = useRequest();
const fetcher = async (url) => {
try {
- const response = await request(url)
- return response.data.data
+ const response = await request(url);
+ return response.data.data;
} catch (error) {
throw new Error();
}
};
return useSWR(GET_PERMISSIONS_ROUTE, fetcher, { keepPreviousData: true });
-}
\ No newline at end of file
+};