import { headers } from "next/headers";

import { ClientPortalAuthProvider } from "@/components/pages/client/participant-list/common/client-portal-auth-context";
import { TimezoneProvider } from "@/components/pages/client/participant-list/common/timezone-context";
import { getPortalLocalContext } from "@/services/client/participant-list/portal-actions";

export default async function ParticipantListLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  if (headers().get("x-pfr-client-preview") === "1") {
    return children;
  }

  const portalContext = await getPortalLocalContext();
  const magicLinkId = portalContext?.magicLinkId ?? null;

  return (
    <TimezoneProvider>
      <ClientPortalAuthProvider magicLinkId={magicLinkId}>
        {children}
      </ClientPortalAuthProvider>
    </TimezoneProvider>
  );
}
