import { FC } from "react"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/lib/components/ui/dialog"; import { ButtonBetter, ButtonContainer } from "@/lib/components/ui/button"; import { IoEye } from "react-icons/io5"; import { HiPlus } from "react-icons/hi"; import api from "@/lib/utils/axios"; import { get_user } from "@/lib/utils/get_user"; import { toast } from "sonner"; import { AlertTriangle, Check, Loader2 } from "lucide-react"; import { getParams } from "@/lib/utils/get-params"; import get from "lodash.get"; export const AlertCeoApproveMPR: FC = ({fm}) => { const id = getParams("id"); return ( <>
Approve
Approve Are You Sure to Approve This?
No
{ toast.info( <> {"Saving..."} ); try { const param = { id, status: "APPROVED", level: "Level CEO", approver_id: get_user("employee.id"), approved_by: get_user("employee.name"), }; const formData = new FormData(); formData.append("payload", JSON.stringify(param)); const res = await api.put( `${process.env.NEXT_PUBLIC_API_MPP}/api/mp-requests/status`, formData, { headers: { "Content-Type": "multipart/form-data", }, } ); setTimeout(() => { fm.data.is_approve = false; fm.render(); toast.success(
{ toast.dismiss(); }} >
Record Saved
); }, 1000); } catch (ex: any) { toast.error(
Submit Failed { get(ex, "response.data.meta.message") || ex.message}.
, { dismissible: true, className: css` background: #ffecec; border: 2px solid red; `, } ); } }} >
Yes
); };