"use client"; import React, { useEffect, useRef } from "react"; import { X } from "lucide-react"; interface ModalProps { isOpen: boolean; onClose: () => void; title: string; children: React.ReactNode; } export default function Modal({ isOpen, onClose, title, children }: ModalProps) { const modalRef = useRef(null); useEffect(() => { const handleEscape = (e: KeyboardEvent) => { if (e.key === "Escape") onClose(); }; if (isOpen) { document.body.style.overflow = "hidden"; window.addEventListener("keydown", handleEscape); } return () => { document.body.style.overflow = "unset"; window.removeEventListener("keydown", handleEscape); }; }, [isOpen, onClose]); if (!isOpen) return null; return (

{title}

{children}
); }