'use client'; import { useEffect } from 'react'; import { useRouter } from 'next/navigation'; import { useAuth } from '@/lib/hooks/useAuth'; import Sidebar from '@/components/ui/Sidebar'; import { LogOut } from 'lucide-react'; export default function DashboardLayout({ children }: { children: React.ReactNode }) { const { user, currentOrganization, isAuthReady, logout } = useAuth(); const router = useRouter(); console.log('LAYOUT STATE:', { user, currentOrganization, isAuthReady }); // ✅ AUTH GUARD (runs once per navigation group) useEffect(() => { if (!isAuthReady) return; if (!user) { router.replace('/login'); return; } if (!currentOrganization) { router.replace('/select-organization'); return; } }, [isAuthReady, user, currentOrganization, router]); // ✅ LOADING ONLY FOR INITIAL LOAD if (!isAuthReady) { return (
Loading app...
); } if (!user || !currentOrganization) { return (
Loading workspace...
); } return (

{currentOrganization.name}

{user.name}
{children} {/* 🔥 THIS CHANGES */}
); }