'use client'; import React, { useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, FormControl, FormLabel, RadioGroup, FormControlLabel, Radio, Checkbox, TextField, Box, Typography, Alert } from '@mui/material'; const ExportImageDatasetDialog = ({ open, onClose, onExport }) => { const { t } = useTranslation(); const [formatType, setFormatType] = useState('raw'); const [exportImages, setExportImages] = useState(false); const [includeImagePath, setIncludeImagePath] = useState(true); const [systemPrompt, setSystemPrompt] = useState(''); const [confirmedOnly, setConfirmedOnly] = useState(false); const handleExport = () => { onExport({ formatType, exportImages, includeImagePath, systemPrompt, confirmedOnly }); }; const handleClose = () => { onClose(); }; return ( {t('imageDatasets.exportTitle', '导出图片数据集')} {/* 导出格式选择 */} {t('imageDatasets.exportFormat', '导出格式')} setFormatType(e.target.value)}> } label={t('imageDatasets.rawFormat', '原始格式')} /> } label="ShareGPT (OpenAI)" /> } label="Alpaca" /> {/* 图片导出选项 */} setExportImages(e.target.checked)} />} label={t('imageDatasets.exportImagesOption', '导出图片文件')} /> {t('imageDatasets.exportImagesDesc', '将所有图片打包成 ZIP 压缩包一起下载')} {/* 图片路径选项 */} setIncludeImagePath(e.target.checked)} />} label={t('imageDatasets.includeImagePath', '在数据集中包含图片路径')} /> {t('imageDatasets.includeImagePathDesc', '在问题或答案中添加图片路径(格式:/images/图片名称)')} {/* 系统提示词 */} setSystemPrompt(e.target.value)} placeholder={t('imageDatasets.systemPromptPlaceholder', '输入系统提示词...')} fullWidth /> {/* 仅导出已确认 */} setConfirmedOnly(e.target.checked)} />} label={t('imageDatasets.confirmedOnly', '仅导出已确认的数据集')} /> {/* 提示信息 */} {t('imageDatasets.exportTip', '标签格式的答案将自动解析为文本(逗号分隔)')} ); }; export default ExportImageDatasetDialog;