Files
Genarrative/src/components/common/PlatformUtilityInfoModal.tsx
T
k88936 e6b3199490
Project CI / Repository checks (push) Successful in 48s
Project CI / Frontend tests (push) Successful in 3m21s
Project CI / Backend tests (push) Successful in 3m53s
Project CI / Native shell tests (push) Successful in 11m16s
Fix/统一修复modal样式失效 (#122)
之前遇到几次弹窗的样式不生效,bug 现在在画布agent的删除对话弹窗又出现了,
这个pr把类似的修改集中到最下层的UnifiedModal,适用于所有的modal,
一些特殊的modal有特殊处理.

画布agent的删除对话弹窗
![shotmd-1785399342.jpg](/attachments/d63d7dc6-bf7e-4f13-bfe8-bc4716cd798f)

---------

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>
2026-08-03 17:55:47 +08:00

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>
);
}