fix: 统一弹框组件 — ModalOverlay对齐EditInstanceDialog行为

- ModalOverlay移除遮罩层onClick(不响应外部点击关闭)
- 移除body.style.overflow=hidden(修复白条问题)
- max-h从90vh改为85vh(与EditInstanceDialog一致)
- 10个页面手写fixed弹框替换为ModalOverlay组件
- InstanceGroupPage/WorkflowPage/UsersPage/RedisDetailPage/TicketsPage已替换
- dialog.tsx添加onPointerDownOutside/onInteractOutside阻止外部点击
- index.css添加body[data-scroll-locked]覆盖Radix滚动锁定
- Layout.tsx main添加relative定位上下文
This commit is contained in:
logan committed 2026-05-29 17:16:08 +08:00
1 parent 5366d5c963
commit 3c5e1c1f7d
10 files changed
+111 -87

No files matched your search

+4 -4
View File
@@ -10,6 +10,7 @@ import { useActionPermission } from '@/hooks/useAuth';
import PageHeader from '@/components/PageHeader';
import EmptyState from '@/components/EmptyState';
import { ticketApi } from '@/api/ticket';
import { ModalOverlay } from '@/components/ModalOverlay';
/* ------------------------------------------------------------------ */
/* Types */
@@ -595,10 +596,9 @@ function TicketDetailDialog({ ticket, onClose, canApprove, canExecute, onActionD
}, [ticket.id, onActionDone]);
return (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60" onClick={onClose}>
<ModalOverlay open={true} onClose={onClose} width="max-w-3xl" className="border border-[var(--dg-border)] overflow-hidden flex flex-col">
<div
className="w-full max-w-3xl max-h-[85vh] bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)] rounded-xl shadow-2xl overflow-hidden flex flex-col"
onClick={e => e.stopPropagation()}
className="w-full max-h-[85vh] overflow-hidden flex flex-col"
>
{/* Header */}
<div className="flex items-center justify-between px-6 py-4 border-b border-[var(--dg-border)]">
@@ -787,6 +787,6 @@ function TicketDetailDialog({ ticket, onClose, canApprove, canExecute, onActionD
)}
</div>
</div>
</div>
</ModalOverlay>
);
}