import { notFound } from "next/navigation";
import Link from "next/link";
import { prisma } from "@/lib/prisma";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { BlogPostForm } from "../../components/blog-post-form";

export default async function AdminBlogEditPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;
  const [post, categories] = await Promise.all([
    prisma.blogPost.findUnique({ where: { id } }),
    prisma.blogCategory.findMany({ orderBy: { nameFa: "asc" } }),
  ]);
  if (!post) notFound();

  const youtubeUrls = Array.isArray(post.youtubeUrls)
    ? post.youtubeUrls
    : ((post.youtubeUrls as unknown as string[]) ?? []);
  const initial = {
    ...post,
    youtubeUrls: youtubeUrls.join("\n"),
    publishedAt: post.publishedAt ? post.publishedAt.toISOString().slice(0, 16) : "",
  };

  return (
    <div>
      <h1 className="text-2xl font-bold mb-6">ویرایش پست</h1>
      <Card>
        <CardHeader>
          <CardTitle className="text-base">{post.titleFa}</CardTitle>
        </CardHeader>
        <CardContent>
          <BlogPostForm categories={categories} postId={id} initial={initial} />
        </CardContent>
      </Card>
      <Link href="/admin/blog" className="inline-block mt-6 text-sm underline">
        بازگشت به لیست
      </Link>
    </div>
  );
}
