import { useEffect, type ReactNode } from 'react'; import { Spin } from 'antd'; import { useAuthStore } from '@/stores/authStore'; interface ProtectedRouteProps { children: ReactNode; } /** * Wrapper component that ensures the user is authenticated * Shows loading spinner while checking auth status * Redirects to login if not authenticated */ export function ProtectedRoute({ children }: ProtectedRouteProps) { const { isAuthenticated, isLoading, login, refreshUser } = useAuthStore(); // Check auth on mount useEffect(() => { refreshUser(); }, [refreshUser]); // Show loading spinner while checking auth if (isLoading) { return (