import { useEffect } from 'react' import { Navigate, Outlet } from 'react-router-dom' import { authClient } from '../lib/auth-client.ts' import { useAuthStore } from '../stores/auth.ts' export function ProtectedRoute() { const isMockAuth = import.meta.env.VITE_MOCK_AUTH === 'true' const { data: session, isPending } = authClient.useSession() const isAuthenticated = useAuthStore((s) => s.isAuthenticated) const setAuthenticated = useAuthStore((s) => s.setAuthenticated) useEffect(() => { if (!isMockAuth) { setAuthenticated(!!session) } }, [session, setAuthenticated, isMockAuth]) // In mock auth mode, rely on Zustand store (set by Login/Register pages) if (isMockAuth) { if (!isAuthenticated) return return } if (isPending) { return (
) } if (!session) { return } return }