"use client"; import React from "react"; import { useForm, SubmitHandler } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Button } from "@/components/ui/button"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { UploadButton, UploadDropzone } from "@/lib/uploadthing"; import { downloadSchema } from "@/lib/validations/validation"; import { useToast } from "@/components/ui/use-toast"; const DownloadsPage = () => { const { toast } = useToast(); const form = useForm>({ resolver: zodResolver(downloadSchema), defaultValues: { fileName: "", version: "", downloadLink: "", fileSize: "", }, }); const onSubmit: SubmitHandler> = async ( data ) => { const response = await fetch("/api/upload", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), }); if (response.ok) { form.reset(); toast({ description: "Download Sucessfully Updated" }); console.log("Upload successful"); } else { console.error("Upload failed"); toast({ description: "Uploading Failed", variant: "destructive" }); } }; return (

Downloads Form

( File Name )} /> ( Version )} /> ( Download Link { field.onChange(res[0].url); }} onUploadError={(error: Error) => { alert(`ERROR! ${error.message}`); }} /> )} /> ( File Size )} />
); }; export default DownloadsPage;