1
Fork 0
This repository has been archived on 2024-10-07. You can view files and clone it, but cannot push or open issues or pull requests.
tic-tac-toe/src/modal.jsx

29 lines
636 B
React
Raw Normal View History

2024-06-01 19:22:27 +00:00
import { useEffect, useRef } from "react";
export default ({ isOpen, children, className, onClose }) => {
const ref = useRef(null);
useEffect(() => {
if (isOpen) {
ref.current.showModal();
if (onClose) {
ref.current.addEventListener("close", onClose);
}
} else {
ref.current.close();
}
}, [isOpen]);
return (
<dialog
className="backdrop:bg-black/50 h-64 w-screen max-w-[100vw] bg-navy-700"
ref={ref}
>
<div className="flex h-full w-full items-center justify-center">
<div className={className}>{children}</div>
</div>
</dialog>
);
};