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 { useReviseProject } from "~/services/projects/revise"; import { type Revisi, revisiSchema } from "~/types/api/proyek"; interface RevisiModalProps { id: string; disable?: boolean; } export default function RevisiModal({ id, disable }: RevisiModalProps) { const { mutateAsync: reviseProject } = useReviseProject(id || ""); const form = useForm({ resolver: zodResolver(revisiSchema), defaultValues: { description: "", }, }); async function onSubmit(data: Revisi) { try { await reviseProject(data.description); toast.success("Revisi proyek berhasil dikirim"); } catch (error) { console.error(error); toast.error("Terjadi kesalahan saat mengirim revisi proyek"); } } return ( Revisi Proyek Unggah laporan revisi proyek
( Input Revisi