e6b3199490
之前遇到几次弹窗的样式不生效,bug 现在在画布agent的删除对话弹窗又出现了, 这个pr把类似的修改集中到最下层的UnifiedModal,适用于所有的modal, 一些特殊的modal有特殊处理. 画布agent的删除对话弹窗  --------- Co-authored-by: 段舒康 <kdletters@qq.com> Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/122 Reviewed-by: 段舒康 <kdletters@qq.com> Co-authored-by: 王德宇 <kvtodev@outlook.com> Co-committed-by: 王德宇 <kvtodev@outlook.com>
61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
import type { ReactNode } from 'react';
|
|
|
|
import { UnifiedModal } from './UnifiedModal';
|
|
|
|
type PlatformUtilityInfoModalProps = {
|
|
open: boolean;
|
|
title: string;
|
|
onClose: () => void;
|
|
children: ReactNode;
|
|
footer?: ReactNode;
|
|
platformTheme?: 'light' | 'dark';
|
|
overlayClassName?: string;
|
|
panelClassName?: string;
|
|
bodyClassName?: string;
|
|
footerClassName?: string;
|
|
};
|
|
|
|
function joinClassNames(...classNames: Array<string | null | undefined | false>) {
|
|
return classNames.filter(Boolean).join(' ');
|
|
}
|
|
|
|
/**
|
|
* 工具信息类弹窗统一走平台主题 overlay + 白底 panel 壳层。
|
|
* 这里只收口通用窗口骨架,字段内容、分享渠道和复制按钮仍由业务组件自己渲染。
|
|
*/
|
|
export function PlatformUtilityInfoModal({
|
|
open,
|
|
title,
|
|
onClose,
|
|
children,
|
|
footer,
|
|
platformTheme,
|
|
overlayClassName,
|
|
panelClassName,
|
|
bodyClassName,
|
|
footerClassName,
|
|
}: PlatformUtilityInfoModalProps) {
|
|
return (
|
|
<UnifiedModal
|
|
open={open}
|
|
title={title}
|
|
onClose={onClose}
|
|
size="sm"
|
|
portalTheme={platformTheme}
|
|
overlayClassName={joinClassNames('!items-center', overlayClassName)}
|
|
panelClassName={joinClassNames('platform-remap-surface', panelClassName)}
|
|
bodyClassName={joinClassNames(
|
|
'space-y-4 px-4 py-4 sm:px-5 sm:py-5',
|
|
bodyClassName,
|
|
)}
|
|
footer={footer}
|
|
footerClassName={joinClassNames(
|
|
'px-4 py-4 sm:px-5',
|
|
footerClassName,
|
|
)}
|
|
>
|
|
{children}
|
|
</UnifiedModal>
|
|
);
|
|
}
|