import { type Dispatch, type SetStateAction } from 'react'; import { UnifiedModal } from '../common/UnifiedModal'; import { calculateEditorImageGenerationPrice, } from './ImageCanvasGenerationModel'; import { ImageCanvasBasicGenerationComposerView } from './ImageCanvasBasicGenerationComposerView'; import type { GenerateDialogState } from './ImageCanvasEditorTypes'; type ImageCanvasEditGenerationModalViewProps = { dialog: GenerateDialogState | null; setGenerateDialog: Dispatch>; onSubmit: (dialog: GenerateDialogState) => void; }; export function ImageCanvasEditGenerationModalView({ dialog, setGenerateDialog, onSubmit, }: ImageCanvasEditGenerationModalViewProps) { const isOpen = dialog?.mode === 'edit' && dialog.status !== 'generating'; const dialogImageModel = dialog?.imageModel ?? 'gpt-image-2'; const dialogImageSize = dialog?.imageSize ?? '1K'; const editPrice = calculateEditorImageGenerationPrice({ kind: 'quick-edit', model: dialogImageModel, imageSize: dialogImageSize, }); return ( setGenerateDialog(null)} panelClassName="image-canvas-editor__generate-dialog" bodyClassName="image-canvas-editor__generate-dialog-body" > {dialog?.mode === 'edit' ? ( {}} onSubmit={onSubmit} dialogLabel="修改图片" includeDimensions={false} includeModel={false} includeReferences={false} promptPlaceholder="描述你想如何修改这张图片" submitLabel="修改" submitAriaLabel={`修改${editPrice}泥点`} submittingStatusLabel="修改中" formClassName="image-canvas-editor__generate-form" footerClassName="image-canvas-editor__generate-body" promptClassName="image-canvas-editor__generate-prompt" submitButtonClassName="image-canvas-editor__generate-submit" /> ) : null} ); }