import type { ReactNode } from 'react'; import { useAuthUi } from '../auth/AuthUiContext'; import { UnifiedModal } from './UnifiedModal'; type PlatformToolModalShellProps = { open: boolean; title: string; ariaLabel?: string; description?: ReactNode; children: ReactNode; footer?: ReactNode; onClose: () => void; size?: 'sm' | 'md' | 'lg' | 'xl' | 'fullscreen'; closeLabel?: string; closeDisabled?: boolean; closeOnBackdrop?: boolean; closeOnEscape?: boolean; zIndexClassName?: string; panelClassName?: string; titleClassName?: string; bodyClassName?: string; footerClassName?: string; }; function joinClassNames(...classNames: Array) { return classNames.filter(Boolean).join(' '); } /** * 结果页 / 工具页里的白底 portal 弹窗壳。 * 这里只收口平台主题 overlay、白底 panel 和标准 header/body/footer 节奏,不吸收各玩法正文与动作语义。 */ export function PlatformToolModalShell({ open, title, ariaLabel, description, children, footer, onClose, size = 'xl', closeLabel, closeDisabled = false, closeOnBackdrop = true, closeOnEscape = true, zIndexClassName = 'z-[140]', panelClassName, titleClassName, bodyClassName, footerClassName, }: PlatformToolModalShellProps) { const resolvedPlatformTheme = useAuthUi()?.platformTheme ?? 'light'; return ( {children} ); }