"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { Loader2, Sparkles } from "lucide-react"; import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { Card, CardContent } from "@/components/ui/card"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { TONES, LANGUAGES } from "@/lib/episodes/options"; import { createSeriesAction } from "@/app/(app)/series/actions"; export function SeriesCreateForm() { const router = useRouter(); const [theme, setTheme] = useState(""); const [count, setCount] = useState("6"); const [tone, setTone] = useState(TONES[0]); const [audience, setAudience] = useState(""); const [language, setLanguage] = useState("en"); const [submitting, setSubmitting] = useState(false); async function submit(e: React.FormEvent) { e.preventDefault(); if (theme.trim().length < 5) { toast.error("Describe your season theme."); return; } setSubmitting(true); const res = await createSeriesAction({ theme: theme.trim(), count: Number(count), tone, audience: audience.trim() || undefined, language, }); if (!res.ok || !res.seriesId) { toast.error(res.error ?? "Could not plan season"); setSubmitting(false); return; } toast.success("Season planned!"); router.push(`/series/${res.seriesId}`); } return (