'use client'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; export function useAuth() { const router = useRouter(); const [isChecking, setIsChecking] = useState(true); useEffect(() => { const checkAuth = async () => { // Only check auth in server mode if (process.env.NEXT_PUBLIC_SERVER_MODE !== 'true') { setIsChecking(false); return; } try { const response = await fetch('/api/auth/check'); if (response.status === 401) { // Not authenticated, redirect to login router.push('/admin/login'); return; } if (!response.ok) { throw new Error('Auth check failed'); } // Authenticated setIsChecking(false); } catch (error) { console.error('Auth check error:', error); router.push('/admin/login'); } }; checkAuth(); }, [router]); return { isChecking }; }