"use client"; import { Menu, X } from "lucide-react"; import { type ReactNode, useEffect, useState } from "react"; export function AdminMobileWrapper({ sidebar, children, }: { sidebar: ReactNode; children: ReactNode; }) { const [open, setOpen] = useState(false); useEffect(() => { if (!open) return; const handler = (e: KeyboardEvent) => { if (e.key === "Escape") setOpen(false); }; document.addEventListener("keydown", handler); return () => document.removeEventListener("keydown", handler); }, [open]); return (
{/* Mobile header */}
Admin Panel
{/* Backdrop */} {open && (
setOpen(false)} style={{ backgroundColor: "rgba(0,0,0,0.5)" }} /> )} {/* Sidebar */}
{sidebar}
{/* Content */}
{children}
); }