import { CustomerPageShell } from "@/app/customer/_components/customer-page-shell";
import { fetchAccessCustomers, fetchAccessUsers } from "@/app/customer/_lib/admin/access-server-api";

import { TenantCustomerCreateForm } from "./_components/tenant-customer-create-form";

type PageProps = {
  params: Promise<{ tenant: string }>;
};

export default async function CustomerAdminCreateCustomerPage({ params }: Readonly<PageProps>) {
  const { tenant } = await params;
  const [usersResult, customersResult] = await Promise.all([
    fetchAccessUsers(tenant),
    fetchAccessCustomers(tenant),
  ]);
  const staff = (usersResult.data?.items ?? []).map((user) => ({
    id: user.id,
    name: user.name,
    email: user.email,
    groupId: user.group_id,
    groupName: user.group_name,
  }));

  return (
    <CustomerPageShell>
      <TenantCustomerCreateForm
        tenant={tenant}
        staff={staff}
        groups={customersResult.data?.groups ?? usersResult.data?.groups ?? []}
        initialErrorMessage={customersResult.errorMessage}
      />
    </CustomerPageShell>
  );
}
