import React, { useMemo, useRef, useState } from 'react'; import { ModalFooter, ModalBody, Input, Button } from '@chakra-ui/react'; import MyModal from '@fastgpt/web/components/common/MyModal'; import { useTranslation } from 'next-i18next'; import { useRequest } from '@fastgpt/web/hooks/useRequest'; const EditFolderModal = ({ onClose, editCallback, isEdit = false, name }: { onClose: () => void; editCallback: (name: string) => Promise; isEdit: boolean; name?: string; }) => { const { t } = useTranslation(); const inputRef = useRef(null); const typeMap = useMemo( () => isEdit ? { title: t('common:dataset.Edit Folder') } : { title: t('common:dataset.Create Folder') }, [isEdit, t] ); const { mutate: onSave, isLoading } = useRequest({ mutationFn: () => { const val = inputRef.current?.value; if (!val) return Promise.resolve(''); return editCallback(val); }, onSuccess: () => { onClose(); } }); return ( ); }; export default EditFolderModal; export const useEditFolder = () => { const [editFolderData, setEditFolderData] = useState<{ id?: string; name?: string; }>(); return { editFolderData, setEditFolderData }; };