"use client"; import { useEffect, useState } from "react"; import { formatCompact } from "@/lib/format"; import styles from "./MobileNavToggle.module.css"; interface Section { href: string; label: string; } export function MobileNavToggle({ sections, stars, }: { sections: Section[]; stars: number; }) { const [open, setOpen] = useState(false); useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => { if (e.key === "Escape") setOpen(false); }; document.addEventListener("keydown", onKey); document.body.style.overflow = "hidden"; return () => { document.removeEventListener("keydown", onKey); document.body.style.overflow = ""; }; }, [open]); return ( <>
{ if (e.target === e.currentTarget) setOpen(false); }} >
); }