Spaces:
Build error
Build error
| import React from "react"; | |
| interface ModalBackdropProps { | |
| children: React.ReactNode; | |
| onClose?: () => void; | |
| } | |
| export function ModalBackdrop({ children, onClose }: ModalBackdropProps) { | |
| React.useEffect(() => { | |
| const handleEscape = (e: KeyboardEvent) => { | |
| if (e.key === "Escape") onClose?.(); | |
| }; | |
| window.addEventListener("keydown", handleEscape); | |
| return () => window.removeEventListener("keydown", handleEscape); | |
| }, []); | |
| const handleClick = (e: React.MouseEvent<HTMLDivElement>) => { | |
| if (e.target === e.currentTarget) onClose?.(); // only close if the click was on the backdrop | |
| }; | |
| return ( | |
| <div className="fixed inset-0 flex items-center justify-center z-20"> | |
| <div | |
| onClick={handleClick} | |
| className="fixed inset-0 bg-black bg-opacity-80" | |
| /> | |
| <div className="relative">{children}</div> | |
| </div> | |
| ); | |
| } | |