"use Client"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { zodResolver } from "@hookform/resolvers/zod" import { useForm } from "react-hook-form" import { z } from "zod" import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form" import { Input } from "@/components/ui/input" import {addDupliArtikel} from "./action"; import { useState } from "react"; import {Plus} from "lucide-react"; export default function AddDialog({ onNewEntry }: { onNewEntry: () => void }) { const [open, setOpen] = useState(false) const formSchema = z.object({ ArtikelTyp: z.string().min(1, { message: "Druckername muss mindestens 2 Zeichen lang sein.", }), }); const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { ArtikelTyp: "", }, }); async function onSubmit(values: z.infer) { const formData = new FormData(); formData.append("ArtikelTyp", values.ArtikelTyp); try { await addDupliArtikel(formData); setOpen(false); form.reset(); onNewEntry(); } catch (error) { console.error("Error submitting form:", error); throw new Error("An error occurred while submitting the form."); } } return (
ArtikelTyp hinzufügen
( ArtikelTyp Der Typ des Artikels, der dupliziert gedruckt werden soll. )} />
); }