import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; import { Button } from "~/components/ui/button"; import { Dialog, DialogClose, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from "~/components/ui/dialog"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "~/components/ui/form"; import RequiredIcon from "~/components/ui/required-icon"; import { Textarea } from "~/components/ui/textarea"; import { useRejectProject } from "~/services/projects/reject"; import { type Tolak, tolakSchema } from "~/types/api/proyek"; interface TolakModalProps { id: string; disable?: boolean; } export default function TolakModal({ id, disable }: TolakModalProps) { const { mutateAsync: rejectProject } = useRejectProject(id || ""); const form = useForm({ resolver: zodResolver(tolakSchema), defaultValues: { description: "", }, }); async function onSubmit(data: Tolak) { try { await rejectProject(data.description); toast.success("Penolakan proyek berhasil dikirim"); } catch (error) { console.error(error); toast.error("Terjadi kesalahan saat mengirim penolakan proyek"); } } return ( Penolakan Proyek Unggah laporan penolakan proyek
( Input Alasan Penolakan