import { X } from "lucide-react"; import { WordViewer } from "./WordViewer"; import { useEffect } from "react"; interface WordViewerModalProps { isOpen: boolean; onClose: () => void; docPath: string; title?: string; } export const WordViewerModal = ({ isOpen, onClose, docPath, title = "活动文稿", }: WordViewerModalProps) => { // 监听 ESC 键关闭弹窗 useEffect(() => { const handleEscape = (e: KeyboardEvent) => { if (e.key === "Escape" && isOpen) { onClose(); } }; document.addEventListener("keydown", handleEscape); return () => document.removeEventListener("keydown", handleEscape); }, [isOpen, onClose]); // 阻止背景滚动 useEffect(() => { if (isOpen) { document.body.style.overflow = "hidden"; } else { document.body.style.overflow = "unset"; } return () => { document.body.style.overflow = "unset"; }; }, [isOpen]); if (!isOpen) return null; return (