"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { useAuth } from "@/lib/auth"; import { Sidebar } from "@/components/Sidebar"; import { Spinner, Button } from "@/components/ui"; import { ThemeToggle } from "@/components/ThemeToggle"; import { LogoutIcon, MenuIcon, CloseIcon } from "@/components/icons"; export default function DashboardLayout({ children, }: { children: React.ReactNode; }) { const { token, ready, logout } = useAuth(); const router = useRouter(); const [mobileOpen, setMobileOpen] = useState(false); // Client-side route protection (static export has no server to gate on). useEffect(() => { if (ready && !token) router.replace("/login"); }, [ready, token, router]); if (!ready || !token) { return (