import type { ReactNode } from "react";
import { Link } from "@tanstack/react-router";
import { useAtomValue } from "@effect/atom-react";
import { orgMembersAtom } from "../api/account-atoms";
import { isAsyncResultLoading } from "../lib/async-result";
import { useCanCreateWorkspaceConnections } from "../multiplayer/use-admin-nav";
import { Button } from "./button";
import { PageContainer, PageHeader } from "./page";
import { Skeleton } from "./skeleton";
/** Keep integration creation flows behind the same role gate as edit and delete. */
export function IntegrationCreationGate({ children }: { readonly children: ReactNode }) {
const canCreate = useCanCreateWorkspaceConnections();
const members = useAtomValue(orgMembersAtom);
if (canCreate) return children;
if (isAsyncResultLoading(members)) {
return (
);
}
return (
);
}