"use client"; import { useState, useTransition } from "react"; import { TerminType } from "@prisma/client"; import { Plus } from "lucide-react"; import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { createTerminAdmin } from "../actions"; import { Textarea } from "@/components/ui/textarea"; export function AdminTerminModal() { const [open, setOpen] = useState(false); const [isPending, startTransition] = useTransition(); const handleAction = (formData: FormData) => { const data = { title: formData.get("title") as string, description: formData.get("description") as string, type: formData.get("type") as TerminType, startDate: new Date(formData.get("startDate") as string).toISOString(), endDate: new Date(formData.get("endDate") as string).toISOString(), allDay: formData.get("allDay") === "on", }; startTransition(async () => { const res = await createTerminAdmin(data); if (res.error) { toast.error(res.error); } else { toast.success("Termin wurde direkt angelegt!"); setOpen(false); } }); }; return (
Termin anlegen (Admin) Dieser Termin wird sofort freigegeben und ist für alle sichtbar.