import Link from "next/link";
import { notFound } from "next/navigation";
import { ArrowLeft } from "lucide-react";
import { CategoryForm } from "@/components/admin/CategoryForm";
import { getCategoryByIdAdmin } from "@/lib/queries/categories";
import type { CategoryKind } from "@/lib/queries/categories";

interface EditCategoryPageProps {
  params: Promise<{ id: string }>;
  searchParams: Promise<{ kind?: string }>;
}

export default async function EditCategoryPage({
  params,
  searchParams,
}: EditCategoryPageProps) {
  const { id } = await params;
  const { kind: kindParam } = await searchParams;
  const category = await getCategoryByIdAdmin(id);
  if (!category) notFound();

  const kind = (kindParam || category.kind) as CategoryKind;

  return (
    <div className="space-y-6">
      <Link
        href={`/admin/categories?kind=${kind}`}
        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">編輯分類：{category.nameZh}</h1>
      <CategoryForm kind={kind} category={category} />
    </div>
  );
}