import { notFound } from "next/navigation";
import Link from "next/link";
import { ArrowLeft } from "lucide-react";
import { BannerForm } from "@/components/admin/BannerForm";
import { getBannerByPlacementAdmin } from "@/lib/queries/banners";
import {
  BANNER_PLACEMENTS,
  type BannerPlacement,
} from "@/lib/constants/promotions";

interface EditBannerPageProps {
  params: Promise<{ placement: string }>;
}

export default async function EditBannerPage({ params }: EditBannerPageProps) {
  const { placement } = await params;

  if (!(placement in BANNER_PLACEMENTS)) {
    notFound();
  }

  const banner = await getBannerByPlacementAdmin(placement);
  const meta = BANNER_PLACEMENTS[placement as BannerPlacement];

  return (
    <div className="space-y-6">
      <Link
        href="/admin/banners"
        className="inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary"
      >
        <ArrowLeft className="size-4" />
        返回橫幅列表
      </Link>
      <h1 className="text-2xl font-bold">編輯：{meta.label}</h1>
      <BannerForm
        placement={placement as BannerPlacement}
        banner={banner}
      />
    </div>
  );
}