feat(web): remote file add api

This commit is contained in:
zhaoying
2026-03-23 17:48:50 +08:00
parent 24c13d408e
commit 9308c6efae
6 changed files with 132 additions and 101 deletions

View File

@@ -2,7 +2,7 @@
* @Author: ZhaoYing
* @Date: 2026-02-06 21:09:47
* @Last Modified by: ZhaoYing
* @Last Modified time: 2026-03-18 21:10:01
* @Last Modified time: 2026-03-23 17:46:56
*/
/**
* Upload File List Modal Component
@@ -18,8 +18,8 @@
*
* @component
*/
import { forwardRef, useImperativeHandle, useState, useMemo } from 'react';
import { Form, Input, Select, Button, Flex } from 'antd';
import { forwardRef, useImperativeHandle, useState } from 'react';
import { Form, Input, Button, Flex } from 'antd';
import { useTranslation } from 'react-i18next';
import type { UploadFileListModalRef } from '../types'
@@ -39,7 +39,6 @@ interface UploadFileListModalProps {
*/
const UploadFileListModal = forwardRef<UploadFileListModalRef, UploadFileListModalProps>(({
refresh,
featureConfig
}, ref) => {
const { t } = useTranslation();
const [visible, setVisible] = useState(false);
@@ -82,20 +81,6 @@ const UploadFileListModal = forwardRef<UploadFileListModalRef, UploadFileListMod
handleOpen
}));
const fileTypeOptions = useMemo(() => {
const options = [];
if (featureConfig?.image_enabled) {
options.push({ label: t('memoryConversation.image'), value: 'image' });
}
if (featureConfig?.audio_enabled) {
options.push({ label: t('memoryConversation.audio'), value: 'audio' });
}
if (featureConfig?.video_enabled) {
options.push({ label: t('memoryConversation.video'), value: 'video' });
}
return options;
}, [featureConfig, t])
return (
<RbModal
title={t('memoryConversation.addRemoteFile')}
@@ -112,17 +97,6 @@ const UploadFileListModal = forwardRef<UploadFileListModalRef, UploadFileListMod
{/* Render each file entry with type selector and URL input */}
{fields.map(({ key, name, ...restField }) => (
<Flex key={key} gap={8} align="center" className="rb:mb-3!">
<FormItem
{...restField}
name={[name, 'type']}
className="rb:mb-0!"
>
<Select
placeholder={t('memoryConversation.fileType')}
options={fileTypeOptions}
className="rb:w-30!"
/>
</FormItem>
<FormItem
{...restField}
name={[name, 'url']}