// ============== nav + footer ============== function ThemeToggle({ light, onToggle }) { return ( ); } function SocialLink({ href, label, children }) { return ( {children} ); } function UserMenu({ user, go }) { const { logout } = useAuth(); const [open, setOpen] = React.useState(false); const ref = React.useRef(null); React.useEffect(() => { const onClick = (e) => { if (ref.current && !ref.current.contains(e.target)) setOpen(false); }; document.addEventListener("mousedown", onClick); return () => document.removeEventListener("mousedown", onClick); }, []); const dashTarget = user.role === "candidate" ? "dashboard" : "admin"; const initials = (user.email || "").slice(0, 2).toUpperCase(); return (