import { CreatePermissionPageClient } from "./_components/create-permission-page-client";
import { fetchBackendPermission } from "../_lib/permissions-server-api";

type PageProps = {
  searchParams?: Promise<{
    name?: string | string[];
  }>;
};

export default async function CreatePermissionPage({ searchParams }: PageProps) {
  const params = await searchParams;
  const rawName = params?.name;
  const permissionName = Array.isArray(rawName) ? rawName[0] : rawName;

  if (!permissionName) {
    return <CreatePermissionPageClient />;
  }

  const { permission, errorMessage } = await fetchBackendPermission(permissionName);

  return (
    <CreatePermissionPageClient
      initialPermission={permission}
      initialErrorMessage={errorMessage}
      requestedPermissionName={permissionName}
    />
  );
}
