import { notFound } from "next/navigation";
import { ApiError } from "@/lib/api/server";
import { getAdminEvent } from "@/lib/api/admin";
import { EventDetailHub } from "@/components/admin/event-detail-hub";
import { ensureSignatureEvent } from "@/lib/admin/signature-guard";

export default async function AdminSignatureEventDetailPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;

  const event = await getAdminEvent(id)
    .then((res) => res.data)
    .catch((error) => {
      if (error instanceof ApiError && (error.status === 404 || error.status === 403)) {
        notFound();
      }
      throw error;
    });

  ensureSignatureEvent(event);

  return <EventDetailHub event={event} basePath="/admin/signature/events" />;
}
