"use client"; import { useEffect, useRef } from "react"; type Props = { open: boolean; title: string; message: string; acknowledgeLabel?: string; onAcknowledge: () => void; }; export default function SubmissionSuccessModal({ open, title, message, acknowledgeLabel = "OK", onAcknowledge, }: Props) { const onAckRef = useRef(onAcknowledge); onAckRef.current = onAcknowledge; useEffect(() => { if (!open) return; const prevOverflow = document.body.style.overflow; document.body.style.overflow = "hidden"; const onKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape") onAckRef.current(); }; window.addEventListener("keydown", onKeyDown); return () => { document.body.style.overflow = prevOverflow; window.removeEventListener("keydown", onKeyDown); }; }, [open]); if (!open) return null; return (
); }