import ThumbUpAltIcon from "@mui/icons-material/ThumbUpAlt"; import ThumbDownIcon from "@mui/icons-material/ThumbDown"; import {Box, IconButton, Tooltip} from "@mui/material"; import {useCallback, useState} from "react"; import ConfirmForm from "./Form/ConfirmForm"; import RejectForm from "./Form/RejectForm"; import {useTranslations} from "next-intl"; import axios from "axios"; import Notifications from "@/core/components/notifications"; import useUser from "@/lib/app/hooks/useUser"; import useDirection from "@/lib/app/hooks/useDirection"; const TableRowActions = ({row, mutate, fetchUrl}) => { const t = useTranslations(); const {token} = useUser(); const {directionApp} = useDirection(); // Confirm const [openConfirmDialog, setOpenConfirmDialog] = useState(false); const handleCloseConfirmDialog = () => { setOpenConfirmDialog(false); }; const confirmData = useCallback((url, rowID, values) => { Notifications(directionApp, t, undefined) axios .post(`${url}/${rowID}`, values, { headers: {authorization: `Bearer ${token}`}, }) .then((response) => { Notifications(directionApp, t, response); mutate(fetchUrl) }) .catch((error) => { Notifications(directionApp, t, error.response); }); }, []); // End Confirm // Reject const [openRejectDialog, setOpenRejectDialog] = useState(false); const handleCloseRejectDialog = () => { setOpenRejectDialog(false); }; const rejectData = useCallback((url, rowID, values) => { Notifications(directionApp, t) axios .post(`${url}/${rowID}`, values, { headers: {authorization: `Bearer ${token}`}, }) .then((response) => { Notifications(directionApp, t, response); mutate(fetchUrl) }) .catch((error) => { Notifications(directionApp, t, error.response); }); }, []); // End Reject return ( { setOpenConfirmDialog(true) }} > setOpenRejectDialog(true)}> ); }; export default TableRowActions;