/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import { Input, Typography, Button, Switch } from '@douyinfe/semi-ui'; import { IconFile } from '@douyinfe/semi-icons'; import { FileText, Plus, X, Image } from 'lucide-react'; const ImageUrlInput = ({ imageUrls, imageEnabled, onImageUrlsChange, onImageEnabledChange, disabled = false, }) => { const handleAddImageUrl = () => { const newUrls = [...imageUrls, '']; onImageUrlsChange(newUrls); }; const handleUpdateImageUrl = (index, value) => { const newUrls = [...imageUrls]; newUrls[index] = value; onImageUrlsChange(newUrls); }; const handleRemoveImageUrl = (index) => { const newUrls = imageUrls.filter((_, i) => i !== index); onImageUrlsChange(newUrls); }; return (
图片地址 {disabled && ( (已在自定义模式中忽略) )}
{!imageEnabled ? ( {disabled ? '图片功能在自定义请求体模式下不可用' : '启用后可添加图片URL进行多模态对话'} ) : imageUrls.length === 0 ? ( {disabled ? '图片功能在自定义请求体模式下不可用' : '点击 + 按钮添加图片URL进行多模态对话'} ) : ( 已添加 {imageUrls.length} 张图片 {disabled ? ' (自定义模式下不可用)' : ''} )}
{imageUrls.map((url, index) => (
handleUpdateImageUrl(index, value)} className='!rounded-lg' size='small' prefix={} disabled={!imageEnabled || disabled} />
))}
); }; export default ImageUrlInput;