import { notFound } from "next/navigation";
import { createClient } from "@/lib/supabase/server";
import { requireUser } from "@/lib/auth/session";
import { getCoachingOptions } from "@/lib/applications/queries";
import { PageHeader } from "@/components/layout/page-header";
import { CoachingForm } from "../../coaching-form";

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

  const [{ data }, options] = await Promise.all([
    supabase.from("coaching_applications").select("*").eq("id", id).maybeSingle(),
    getCoachingOptions(),
  ]);

  if (!data) notFound();

  return (
    <div>
      <PageHeader
        title="Edit Coaching Application"
        breadcrumb="Application / Coaching / Edit"
      />
      <CoachingForm
        options={options}
        defaults={data as Record<string, unknown>}
        applicationId={id}
      />
    </div>
  );
}
