// ============== 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 (
{open && (
{user.email}
{user.role}
)}
); } function Nav({ route, go, light, onToggleTheme, user }) { const links = [ { id: "home", label: "Home" }, { id: "jobs", label: "Roles" }, { id: "companies", label: "Companies" }, { id: "candidates", label: "Candidates" }, { id: "events", label: "Events", external: "https://lu.ma/web3joe" }, { id: "about", label: "About" }, ]; return ( ); } function Footer({ go }) { return ( ); } window.Nav = Nav; window.Footer = Footer;