"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}
);
}