import { notFound } from "next/navigation";
import { createClient } from "@/lib/supabase/server";
import { PageHeader } from "@/components/layout/page-header";
import { LoanForm } from "../../loan-form";
import type { EducationLoanInquiry } from "@/lib/types";

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

  const [inquiryRes, statusesRes, leadsRes] = await Promise.all([
    supabase
      .from("education_loan_inquiries")
      .select("*")
      .eq("id", id)
      .single(),
    supabase.from("education_loan_statuses").select("id, name").order("name"),
    supabase.from("leads").select("id, full_name").limit(500),
  ]);

  const inquiry = inquiryRes.data as EducationLoanInquiry | null;
  if (!inquiry) notFound();

  const statuses = (statusesRes.data as { id: string; name: string }[]) ?? [];
  const leads = (leadsRes.data as { id: string; full_name: string }[]) ?? [];

  return (
    <div>
      <PageHeader
        title="Edit Loan Inquiry"
        breadcrumb="Home / Loan Inquiry / Edit"
      />
      <LoanForm
        statuses={statuses}
        leads={leads}
        defaults={inquiry as unknown as Record<string, unknown>}
        inquiryId={inquiry.id}
      />
    </div>
  );
}
