import { notFound } from "next/navigation";
import Link from "next/link";
import { ArrowLeft } from "lucide-react";
import { requireAuth } from "@/lib/auth/guards";
import { prisma } from "@/lib/db";
import { PageHeader } from "@/components/app/page-header";
import { SeriesDetailClient } from "@/components/app/series-detail-client";
import { EpisodeStatusBadge } from "@/components/app/episode-status-badge";
import { Button } from "@/components/ui/button";
import { Card, CardContent } from "@/components/ui/card";
export default async function SeriesDetailPage({ params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
const session = await requireAuth();
const series = await prisma.series.findUnique({
where: { id },
include: { episodes: { orderBy: { createdAt: "desc" } } },
});
if (!series) notFound();
if (series.userId !== session.user.id && session.user.role !== "admin") notFound();
const planned = (series.plan as unknown as { title: string; topic: string; summary: string }[]) ?? [];
return (
<>