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 { FortuneForm } from "../../components/fortune-form";
import { getPersianDateParts, getPersianDateTimeParts } from "@/lib/persian-date";

export default async function AdminFortuneEditPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;
  const fortune = await prisma.periodFortune.findUnique({ where: { id } });
  if (!fortune) notFound();

  const dailyParts =
    fortune.type === "DAILY" && fortune.fortuneDate
      ? getPersianDateParts(fortune.fortuneDate)
      : null;
  const publishParts = fortune.publishedAt ? getPersianDateTimeParts(fortune.publishedAt) : null;

  const initial = {
    type: fortune.type,
    titleFa: fortune.titleFa,
    slug: fortune.slug,
    excerptFa: fortune.excerptFa,
    content: fortune.content,
    coverImageUrl: fortune.coverImageUrl,
    status: fortune.status,
    publishYear: publishParts?.year ?? null,
    publishMonth: publishParts?.month ?? null,
    publishDay: publishParts?.day ?? null,
    publishHour: publishParts?.hour ?? null,
    publishMinute: publishParts?.minute ?? null,
    persianYear: dailyParts?.year ?? fortune.persianYear ?? 1404,
    persianMonth: dailyParts?.month ?? fortune.persianMonth ?? 1,
    persianDay: dailyParts?.day ?? 1,
  };

  return (
    <div>
      <h1 className="text-2xl font-bold mb-6">ویرایش فال</h1>
      <Card>
        <CardHeader>
          <CardTitle className="text-base">{fortune.titleFa}</CardTitle>
        </CardHeader>
        <CardContent>
          <FortuneForm fortuneId={id} initial={initial} />
        </CardContent>
      </Card>
      <Link href="/admin/fortunes" className="inline-block mt-6 text-sm underline">
        بازگشت به لیست
      </Link>
    </div>
  );
}
