"use client"; import * as z from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import { useForm } from "react-hook-form"; import { useEffect, useState } from "react"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import{ Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { FileUpload } from "@/components/file-upload"; const formSchema = z.object({ name: z.string().min(1, { message: "Server name is required", }), imageUrl: z.string().min(1, { message: "Server image is required", }), }); export const InitialModel = () => { const [isMounted, setIsMounted] = useState(false); useEffect(() => { setIsMounted(true); }, []); const form = useForm({ resolver: zodResolver(formSchema), defaultValues: { name: "", imageUrl: "", } }); const isLoading = form.formState.isSubmitting; const onSubmit = async (values: z.infer) => { console.log(values); } if (!isMounted) { return null; } return ( Customize your server Give your server a personality with a name and an image. You can always change it later.
( )} />
( Server name )} />
) }