import { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import { getSetupStatus } from '../api/setup'; interface SetupGuardProps { children: React.ReactNode; } export const SetupGuard: React.FC = ({ children }) => { const navigate = useNavigate(); const { data: status, isLoading } = useQuery({ queryKey: ['setupStatus'], queryFn: getSetupStatus, retry: false, }); useEffect(() => { if (status?.setupRequired) { navigate('/setup'); } }, [status, navigate]); if (isLoading) { return (
Loading...
); } if (status?.setupRequired) { return null; // Will redirect } return <>{children}; };