import React, { useMemo, useRef } from 'react'; import { ModalFooter, ModalBody, Input, Button } from '@chakra-ui/react'; import MyModal from '@/components/MyModal'; import { useTranslation } from 'react-i18next'; import { useRequest } from '@/hooks/useRequest'; import { postCreateKb, putKbById } from '@/api/plugins/kb'; import { FolderAvatarSrc, KbTypeEnum } from '@/constants/kb'; const EditFolderModal = ({ onClose, onSuccess, id, parentId, name }: { onClose: () => void; onSuccess: () => void; id?: string; parentId?: string; name?: string; }) => { const { t } = useTranslation(); const inputRef = useRef(null); const typeMap = useMemo( () => id ? { title: t('kb.Edit Folder') } : { title: t('kb.Create Folder') }, [id, t] ); const { mutate: onSave, isLoading } = useRequest({ mutationFn: () => { const val = inputRef.current?.value; if (!val) return Promise.resolve(''); if (id) { return putKbById({ id, name: val }); } return postCreateKb({ parentId, name: val, type: KbTypeEnum.folder, avatar: FolderAvatarSrc, tags: [] }); }, onSuccess: (res) => { if (!res) return; onSuccess(); onClose(); } }); return ( ); }; export default EditFolderModal;