import React from 'react'; import { Card, Select, TextArea, Typography, Button, Switch, Divider, Banner, } from '@douyinfe/semi-ui'; import { Sparkles, Users, ToggleLeft, X, AlertTriangle, } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { renderGroupOption } from '../../helpers/render.js'; import ParameterControl from './ParameterControl'; import ImageUrlInput from './ImageUrlInput'; import ConfigManager from './ConfigManager'; import CustomRequestEditor from './CustomRequestEditor'; const SettingsPanel = ({ inputs, parameterEnabled, models, groups, styleState, showDebugPanel, customRequestMode, customRequestBody, onInputChange, onParameterToggle, onCloseSettings, onConfigImport, onConfigReset, onCustomRequestModeChange, onCustomRequestBodyChange, previewPayload, messages, }) => { const { t } = useTranslation(); const currentConfig = { inputs, parameterEnabled, showDebugPanel, customRequestMode, customRequestBody, }; return ( {styleState.isMobile && (
{/* 移动端显示配置管理下拉菜单和关闭按钮 */}
)}
{/* 自定义请求体编辑器 */} {/* 分组选择 */}
{t('分组')} {customRequestMode && ( (已在自定义模式中忽略) )}
onInputChange('model', value)} value={inputs.model} autoComplete='new-password' optionList={models} className="!rounded-lg" disabled={customRequestMode} />
{/* 图片URL输入 */}
onInputChange('imageUrls', urls)} onImageEnabledChange={(enabled) => onInputChange('imageEnabled', enabled)} disabled={customRequestMode} />
{/* 参数控制组件 */}
{/* 流式输出开关 */}
流式输出 {customRequestMode && ( (已在自定义模式中忽略) )}
onInputChange('stream', checked)} checkedText="开" uncheckedText="关" size="small" disabled={customRequestMode} />
{/* 桌面端的配置管理放在底部 */} {!styleState.isMobile && (
)}
); }; export default SettingsPanel;