"use client";
import { useSession } from "next-auth/react";
import { FullScreenLoading } from "~/components/FullScreenLoading";
import { AddSesSettings } from "~/components/settings/AddSesSettings";
import CreateTeam from "~/components/team/CreateTeam";
import { env } from "~/env";
import { api } from "~/trpc/react";
import { TeamProvider } from "./team-context";
export const DashboardProvider = ({
children,
}: {
children: React.ReactNode;
}) => {
const { data: session } = useSession();
const { data: teams, status } = api.team.getTeams.useQuery();
const { data: settings, status: settingsStatus } =
api.admin.getSesSettings.useQuery(undefined, {
enabled: !env.NEXT_PUBLIC_IS_CLOUD || session?.user.isAdmin,
});
if (
status === "pending" ||
(settingsStatus === "pending" && !env.NEXT_PUBLIC_IS_CLOUD)
) {
return ;
}
if (
settings?.length === 0 &&
(!env.NEXT_PUBLIC_IS_CLOUD || session?.user.isAdmin)
) {
return ;
}
if (!teams || teams.length === 0) {
return ;
}
return {children};
};