"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 { Card, CardContent } from "@/components/ui/card"; import { generateFromSeriesAction } from "@/app/(app)/series/actions"; interface PlanItem { title: string; topic: string; summary: string; } export function SeriesDetailClient({ seriesId, episodes, }: { seriesId: string; episodes: PlanItem[]; }) { const router = useRouter(); const [busy, setBusy] = useState(null); async function generate(index: number) { setBusy(index); const res = await generateFromSeriesAction(seriesId, index); setBusy(null); if (!res.ok || !res.episodeId) { toast.error(res.error ?? "Could not generate"); return; } toast.success("Generating episode…"); router.push(`/episodes/${res.episodeId}`); } return (
{episodes.map((ep, i) => (

{i + 1}. {ep.title}

{ep.summary}

))}
); }