"use client"; import { useState, useTransition } from "react"; import { Loader2, Send, UploadCloud } from "lucide-react"; import { toast } from "sonner"; import { createAnnouncement } from "@/actions/announcements"; import { Button } from "@/components/ui/button"; import { Checkbox } from "@/components/ui/checkbox"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Textarea } from "@/components/ui/textarea"; import { MarkdownContent } from "@/components/markdown-content"; export function NewsForm() { const [isPending, startTransition] = useTransition(); const [sendEmail, setSendEmail] = useState(false); const [content, setContent] = useState(""); function handleSubmit(formData: FormData) { startTransition(async () => { if (sendEmail) { formData.set("sendEmail", "on"); } const result = await createAnnouncement(formData); if (result.error) { toast.error(result.error); return; } if (result.warning) { toast.warning(result.warning); } else { toast.success("Ankündigung veröffentlicht."); } }); } return (
); }