"use client"; import { X } from "lucide-react"; import { useEffect, type ReactNode } from "react"; type SlideOverProps = { open: boolean; onClose: () => void; title: string; subtitle?: string; children: ReactNode; footer?: ReactNode; }; export function SlideOver({ open, onClose, title, subtitle, children, footer }: SlideOverProps) { useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => { if (e.key === "Escape") onClose(); }; window.addEventListener("keydown", onKey); return () => window.removeEventListener("keydown", onKey); }, [open, onClose]); return (

{title}

{subtitle &&

{subtitle}

}
{children}
{footer && (
{footer}
)}
); }