import { zodResolver } from "@hookform/resolvers/zod"; import { useState } from "react"; 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 { Input } from "~/components/ui/input"; import { Label } from "~/components/ui/label"; import RequiredIcon from "~/components/ui/required-icon"; import { usePublishProject } from "~/services/projects/publish"; import { type Proyek, type Publish, publishSchema } from "~/types/api/proyek"; import toRupiah from "~/utils/to-rupiah"; interface PublishModalProps { id: string; data: Proyek; disable?: boolean; } export default function PublishModal({ id, disable, data }: PublishModalProps) { const { mutateAsync } = usePublishProject(id || ""); const [isOpen, setIsOpen] = useState(false); const form = useForm({ resolver: zodResolver(publishSchema), defaultValues: { id_proyek: id, mulai_penggalangan_dana: "", selesai_penggalangan_dana: "", dokumen_prospektus: undefined, }, }); async function onSubmit(data: Publish) { console.log(data); try { await mutateAsync(data); toast.success("Revisi proyek berhasil dikirim"); } catch (error) { console.error(error); toast.error("Terjadi kesalahan saat mengirim revisi proyek"); } setIsOpen(false); } return ( Publish Proyek Unggah dokumen prospektus proyek yang akan dipublikasikan.
( Mulai Penggalangan Dana )} /> ( Selesai Penggalangan Dana )} /> ( Dokumen Prospektus field.onChange(e.target.files?.[0])} onBlur={field.onBlur} name={field.name} ref={field.ref} /> )} />
); }