import type { PropsWithChildren } from "react";
import { Navigate, useLocation } from "react-router-dom";
import { Spinner } from "../components/Spinner";
import { useMe } from "../hooks/auth";
import { useAdminMe } from "../hooks/admin";
export function RequireAuth({ children }: PropsWithChildren) {
const { data: me, isLoading } = useMe();
const location = useLocation();
if (isLoading) return ;
if (!me) return ;
return <>{children}>;
}
export function RequireGroup({ children }: PropsWithChildren) {
const { data: me, isLoading } = useMe();
if (isLoading) return ;
if (!me) return ;
if (me.active_group_id == null) return ;
return <>{children}>;
}
export function RequireAdmin({ children }: PropsWithChildren) {
const { data: admin, isLoading } = useAdminMe();
if (isLoading) return ;
if (!admin) return ;
return <>{children}>;
}