/* ============================================================ STREAM WITH LIEN — Nav, Footer, Language toggle ============================================================ */ /* ---------- Language toggle ---------- */ function LangToggle({ lang, setLang, compact }) { return (
); } /* ---------- Top navigation ---------- */ function Nav({ route, go, lang, setLang, live, ui, navItems, social }) { const [open, setOpen] = useState(false); const [scrolled, setScrolled] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 12); onScroll(); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, []); useEffect(() => { document.body.style.overflow = open ? "hidden" : ""; return () => { document.body.style.overflow = ""; }; }, [open]); const navTo = (id) => { go(id); setOpen(false); }; return ( <>
{ui.live}
{/* Mobile drawer */}
Twitch
setOpen(false)}>
); } /* ---------- Footer ---------- */ function Footer({ go, lang, f, ui, navItems, social }) { return ( ); } Object.assign(window, { Nav, Footer, LangToggle });