"use client"; import { useEffect, useRef, useState } from "react"; import { usePathname } from "next/navigation"; import { LicenseBanner } from "@/components/LicenseBanner"; import { Logo } from "@/components/Logo"; import { Sidebar, SidebarDrawer } from "@/components/Sidebar"; import { useAuth } from "@/components/AuthProvider"; function MenuIcon() { return ( ); } /** * Owns the responsive chrome so app/(app)/layout.tsx can stay a server * component. Above lg this is the layout it always was; below lg the sidebar * becomes an offcanvas behind the top bar's hamburger. */ export function AppShell({ children }: { children: React.ReactNode }) { const [open, setOpen] = useState(false); const pathname = usePathname(); const buttonRef = useRef(null); const { instance } = useAuth(); // A drawer that survives navigation would cover the page you just asked for. useEffect(() => { setOpen(false); }, [pathname]); function close() { setOpen(false); buttonRef.current?.focus(); } return (
Vantage {instance && ( {instance.name} )}
{children}
); }