diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index af3efcc..c332aa5 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -110,5 +110,16 @@
"navgan_id": "کد ناوگان",
"vehicle_type": "نوع ماشین",
"state_name": "وضعیت درخواست"
+ },
+ "ConfirmDialog": {
+ "confirm": "تایید",
+ "context": "آیا از تایید این آیتم اطمینان دارید",
+ "button-confirm": "تایید",
+ "button-cancel": "بستن"
+ },
+ "RejectDialog": {
+ "reject": "عدم تایید",
+ "context": "آیا از عدم تایید این آیتم اطمینان دارید",
+ "button-reject": "عدم تایید",
+ "button-cancel": "بستن"
}
-}
diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
index 5fd3f3b..f5adf2f 100644
--- a/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
+++ b/src/components/dashboard/passenger-office/Form/ConfirmForm.jsx
@@ -21,16 +21,16 @@ const ConfirmForm = ({
};
return (
diff --git a/src/components/dashboard/passenger-office/Form/RejectForm.jsx b/src/components/dashboard/passenger-office/Form/RejectForm.jsx
index cf551a8..75a0e4e 100644
--- a/src/components/dashboard/passenger-office/Form/RejectForm.jsx
+++ b/src/components/dashboard/passenger-office/Form/RejectForm.jsx
@@ -10,21 +10,22 @@ import { useTranslations } from "next-intl";
const RejectForm = ({ open, handleClose, handleDelete, rowId, deleteData }) => {
const t = useTranslations();
- const handleDeleteExpert = () => {
+ const handleRejectRequest = () => {
handleDelete();
};
+ console.log(rowId);
return (
diff --git a/src/components/dashboard/passenger-office/TableRowActions.jsx b/src/components/dashboard/passenger-office/TableRowActions.jsx
index 832e77e..5aefae7 100644
--- a/src/components/dashboard/passenger-office/TableRowActions.jsx
+++ b/src/components/dashboard/passenger-office/TableRowActions.jsx
@@ -9,36 +9,40 @@ import RejectForm from "./Form/RejectForm";
// import DeleteForm from "./Form/DeleteForm";
const TableRowActions = ({ row }) => {
- // const {
- // openDeleteDialog,
- // handleOpenDeleteDialog,
- // handleCloseDeleteDialog,
- // handleDeleteDialog,
- // rowId,
- // deleteData,
- // } = useContext(DataTableContext);
+ const {
+ openConfirmDialog,
+ openRejectDialog,
+ handleOpenConfirmDialog,
+ handleOpenRejectDialog,
+ handleCloseConfirmDialog,
+ handleCloseRejectDialog,
+ handleConfirmDialog,
+ handleRejectDialog,
+ rowId,
+ deleteData,
+ } = useContext(DataTableContext);
return (
- handleOpenDeleteDialog(row)}>
+ handleOpenConfirmDialog(row)}>
- {/* */}
- handleOpenDeleteDialog(row)}>
+ />
+ handleOpenRejectDialog(row)}>
- {/* */}
+ />
);
};
diff --git a/src/core/components/DatatableStructure.jsx b/src/core/components/DatatableStructure.jsx
index e13ed16..e033a09 100644
--- a/src/core/components/DatatableStructure.jsx
+++ b/src/core/components/DatatableStructure.jsx
@@ -1,4 +1,4 @@
-import { DataTableProvider } from "@/lib/app/contexts/DatatableContext";
+import { DataTableProvider } from "@/lib/app/contexts/DataTableContext";
import DataTable from "./Datatable";
import { ReloadDataTableProvider } from "@/lib/app/contexts/ReloadDatatableContext";
diff --git a/src/lib/app/hooks/useDatatable.jsx b/src/lib/app/hooks/useDatatable.jsx
index 71d0b9d..6b0789a 100644
--- a/src/lib/app/hooks/useDatatable.jsx
+++ b/src/lib/app/hooks/useDatatable.jsx
@@ -1,46 +1,28 @@
-import { useMediaQuery } from "@mui/material";
-import { useTheme } from "@mui/material/styles";
-import { useState, useReducer, useCallback, useContext } from "react";
import axios from "axios";
-import ImageResizer from "@/core/components/ImageConvertor";
+import { useCallback, useContext, useReducer, useState } from "react";
+import { ReloadDataTableContext } from "../contexts/ReloadDatatableContext";
import useUser from "./useUser";
-// import { ReloadDataTableContext } from "../contexts/ReloadDatatableContext";
const initialValues = {
url: "",
rowID: "",
values: {},
- image: {
- key: "",
- value: {},
- },
};
const reducer = (state, action) => {
switch (action.type) {
- case "ADD_DATA":
+ case "CONFIRM_DATA":
return {
...state,
url: action.url,
- values: action.values,
- image: action.image,
- rowID: "",
- };
- case "EDIT_DATA":
- return {
- ...state,
- url: action.url,
- values: action.values,
rowID: action.rowID,
- image: action.image,
};
- case "DELETE_DATA":
+ case "REJECT_DATA":
return {
...state,
url: action.url,
rowID: action.rowID,
values: {},
- image: {},
};
default:
return state;
@@ -48,120 +30,82 @@ const reducer = (state, action) => {
};
const useDataTable = () => {
- // const { setReloadDataTable } = useContext(ReloadDataTableContext);
+ const { setReloadDataTable } = useContext(ReloadDataTableContext);
const [state, dispatch] = useReducer(reducer, initialValues);
- const [drawerContent, setDrawerContent] = useState(null);
- const [openDeleteDialog, setOpenDeleteDialog] = useState(false);
+ const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
+ const [openRejectDialog, setOpenRejectDialog] = useState(false);
const [rowId, setRowId] = useState(null);
- const theme = useTheme();
+
const { token } = useUser();
- const drawerDirection = useMediaQuery(theme.breakpoints.up("sm"))
- ? "right"
- : "bottom";
- const [sweepableDrawer, setSweepableDrawer] = useState({
- bottom: false,
- right: false,
- });
-
- const addData = useCallback(async (url, values, image) => {
- dispatch({ type: "ADD_DATA", url: url, values: values, image: image });
- if (image != null) {
- var resizedAvatar = await ImageResizer(image.value);
- formData.append(image.key, resizedAvatar);
- axios.post(url, formData, {
- headers: {
- authorization: `Bearer ${token}`,
- "Content-Type": "multipart/form-data",
- },
- });
- }
+ const confirmData = useCallback(async (url, rowID) => {
+ dispatch({ type: "CONFIRM_DATA", url: url, rowID: rowID });
axios
- .post(url, values, {
- headers: {
- authorization: `Bearer ${token}`,
- },
- })
- .then(() => {})
- .catch(() => {});
- }, []);
-
- const deleteData = useCallback(async (url, rowID) => {
- dispatch({ type: "DELETE_DATA", url: url, rowID: rowID });
- axios
- .delete(`${url}/${rowID}`, {
+ .post(`${url}/${rowID}`, {
headers: {
authorization: `Bearer ${token}`,
},
})
.then(() => {
- // setReloadDataTable(true);
+ setReloadDataTable(true);
})
.catch(() => {});
}, []);
- const editData = useCallback(async (url, values, rowID, image) => {
- dispatch({
- type: "EDIT_DATA",
- url: url,
- values: values,
- rowID: rowID,
- image: image,
- });
- if (image != null) {
- var resizedAvatar = await ImageResizer(image.value);
- formData.append(image.key, resizedAvatar);
- axios.post(`${url}/${rowID}`, formData, {
- headers: {
- authorization: `Bearer ${token}`,
- "Content-Type": "multipart/form-data",
- },
- });
- }
+ const rejectData = useCallback(async (url, rowID) => {
+ dispatch({ type: "REJECT_DATA", url: url, rowID: rowID });
axios
- .post(`${url}/${rowID}`, values, {
+ .post(`${url}/${rowID}`, {
headers: {
authorization: `Bearer ${token}`,
},
})
- .then(() => {})
+ .then(() => {
+ setReloadDataTable(true);
+ })
.catch(() => {});
}, []);
- const toggleDrawer = (open) => {
- open == false &&
- setTimeout(() => {
- setDrawerContent(null);
- }, theme.transitions.duration.leavingScreen);
- setSweepableDrawer({ ...sweepableDrawer, [drawerDirection]: open });
- };
- const handleOpenDeleteDialog = (row) => {
+ const handleOpenConfirmDialog = (row) => {
setRowId(row.getValue("id"));
- setOpenDeleteDialog(true);
+ setOpenConfirmDialog(true);
};
- const handleCloseDeleteDialog = () => {
- setOpenDeleteDialog(false);
+ const handleCloseConfirmDialog = () => {
+ setOpenConfirmDialog(false);
};
- const handleDeleteDialog = () => {
- setOpenDeleteDialog(false);
+ const handleConfirmDialog = () => {
+ setOpenConfirmDialog(false);
};
+ // Reject Data
+ const handleOpenRejectDialog = (row) => {
+ setRowId(row.getValue("id"));
+ setOpenRejectDialog(true);
+ };
+
+ const handleCloseRejectDialog = () => {
+ setOpenRejectDialog(false);
+ };
+
+ const handleRejectDialog = () => {
+ setOpenRejectDialog(false);
+ };
+ // End Reject Data
+
const contextValue = {
- toggleDrawer,
- drawerDirection,
- sweepableDrawer,
- setSweepableDrawer,
- setDrawerContent,
- drawerContent,
- openDeleteDialog,
- handleOpenDeleteDialog,
- handleCloseDeleteDialog,
- handleDeleteDialog,
+ handleOpenConfirmDialog,
+ handleCloseConfirmDialog,
+ handleConfirmDialog,
+ handleOpenRejectDialog,
+ handleCloseRejectDialog,
+ handleRejectDialog,
rowId,
- deleteData,
- addData,
+ openConfirmDialog,
+ openRejectDialog,
+ rejectData,
+ confirmData,
};
return contextValue;
};