// ModalShell.tsx — 通用 Modal 外壳(固定标题 + 内容区滚动)// Logan.Li import { Button } from '@/components/ui/button'; import { X } from 'lucide-react'; export interface ModalShellProps { title: string; children: React.ReactNode; onClose: () => void; /** lg:宽弹窗;xl:镜像地址等长文本场景 // Logan.Li */ size?: 'default' | 'lg' | 'xl'; } export function ModalShell({ title, children, onClose, size = 'default' }: ModalShellProps) { const widthClass = size === 'xl' ? 'w-[780px]' : size === 'lg' ? 'w-[680px]' : 'w-[460px]'; return (
e.stopPropagation()} >

{title}

{children}
); }