diff --git a/frontend/src/components/DocumentChunks.tsx b/frontend/src/components/DocumentChunks.tsx index 9f3f639f..436e70ac 100644 --- a/frontend/src/components/DocumentChunks.tsx +++ b/frontend/src/components/DocumentChunks.tsx @@ -10,6 +10,7 @@ import NoFilesDarkIcon from '../assets/no-files-dark.svg'; import OutlineSource from '../assets/outline-source.svg'; import Spinner from '../components/Spinner'; import ChunkModal from '../modals/ChunkModal'; +import ConfirmationModal from '../modals/ConfirmationModal'; import { ActiveState } from '../models/misc'; import { ChunkType } from '../settings/types'; import EditIcon from '../assets/edit.svg'; @@ -104,6 +105,8 @@ const DocumentChunks: React.FC = ({ const [editingTitle, setEditingTitle] = useState(''); const [editingText, setEditingText] = useState(''); const [isAddingChunk, setIsAddingChunk] = useState(false); + const [deleteModalState, setDeleteModalState] = useState('INACTIVE'); + const [chunkToDelete, setChunkToDelete] = useState(null); @@ -200,6 +203,24 @@ const DocumentChunks: React.FC = ({ } }; + const confirmDeleteChunk = (chunk: ChunkType) => { + setChunkToDelete(chunk); + setDeleteModalState('ACTIVE'); + }; + + const handleConfirmedDelete = () => { + if (chunkToDelete) { + handleDeleteChunk(chunkToDelete); + setDeleteModalState('INACTIVE'); + setChunkToDelete(null); + } + }; + + const handleCancelDelete = () => { + setDeleteModalState('INACTIVE'); + setChunkToDelete(null); + }; + useEffect(() => { fetchChunks(); }, [page, perPage, path]); @@ -251,8 +272,7 @@ const DocumentChunks: React.FC = ({ @@ -364,7 +364,7 @@ const FileTreeComponent: React.FC = ({ >
- File + {t('settings.documents.fileAlt')} {name}
@@ -383,7 +383,7 @@ const FileTreeComponent: React.FC = ({ > Menu @@ -490,7 +490,7 @@ const FileTreeComponent: React.FC = ({ > {result.isFile @@ -537,16 +537,16 @@ const FileTreeComponent: React.FC = ({ - Name + {t('settings.documents.fileName')} - Tokens + {t('settings.documents.tokens')} - Size + {t('settings.documents.size')} - Actions + {t('settings.documents.actions')} diff --git a/frontend/src/locale/en.json b/frontend/src/locale/en.json index b538cdde..3c529fc5 100644 --- a/frontend/src/locale/en.json +++ b/frontend/src/locale/en.json @@ -79,7 +79,18 @@ "noChunks": "No chunks found", "noChunksAlt": "No chunks found", "goToDocuments": "Go to Documents", - "uploadNew": "Upload new" + "uploadNew": "Upload new", + "searchFiles": "Search files...", + "noResults": "No results found", + "fileName": "Name", + "tokens": "Tokens", + "size": "Size", + "fileAlt": "File", + "folderAlt": "Folder", + "parentFolderAlt": "Parent folder", + "menuAlt": "Menu", + "tokensUnit": "tokens", + "editAlt": "Edit" }, "apiKeys": { "label": "Chatbots", @@ -257,6 +268,7 @@ "promptText": "Prompt Text", "update": "Update", "close": "Close", + "cancel": "Cancel", "delete": "Delete", "deleteConfirmation": "Are you sure you want to delete this chunk?" } diff --git a/frontend/src/locale/es.json b/frontend/src/locale/es.json index bcdebfcb..0b54582b 100644 --- a/frontend/src/locale/es.json +++ b/frontend/src/locale/es.json @@ -79,7 +79,18 @@ "noChunks": "No se encontraron fragmentos", "noChunksAlt": "No se encontraron fragmentos", "goToDocuments": "Ir a Documentos", - "uploadNew": "Subir nuevo" + "uploadNew": "Subir nuevo", + "searchFiles": "Buscar archivos...", + "noResults": "No se encontraron resultados", + "fileName": "Nombre", + "tokens": "Tokens", + "size": "Tamaño", + "fileAlt": "Archivo", + "folderAlt": "Carpeta", + "parentFolderAlt": "Carpeta padre", + "menuAlt": "Menú", + "tokensUnit": "tokens", + "editAlt": "Editar" }, "apiKeys": { "label": "Chatbots", @@ -257,6 +268,7 @@ "promptText": "Texto del prompt", "update": "Actualizar", "close": "Cerrar", + "cancel": "Cancelar", "delete": "Eliminar", "deleteConfirmation": "¿Estás seguro de que deseas eliminar este fragmento?" } diff --git a/frontend/src/locale/jp.json b/frontend/src/locale/jp.json index d004e0dc..42d7bb93 100644 --- a/frontend/src/locale/jp.json +++ b/frontend/src/locale/jp.json @@ -79,7 +79,18 @@ "noChunks": "チャンクが見つかりません", "noChunksAlt": "チャンクが見つかりません", "goToDocuments": "ドキュメントへ移動", - "uploadNew": "新規アップロード" + "uploadNew": "新規アップロード", + "searchFiles": "ファイルを検索...", + "noResults": "結果が見つかりません", + "fileName": "名前", + "tokens": "トークン", + "size": "サイズ", + "fileAlt": "ファイル", + "folderAlt": "フォルダ", + "parentFolderAlt": "親フォルダ", + "menuAlt": "メニュー", + "tokensUnit": "トークン", + "editAlt": "編集" }, "apiKeys": { "label": "チャットボット", @@ -257,6 +268,7 @@ "promptText": "プロンプトテキスト", "update": "更新", "close": "閉じる", + "cancel": "キャンセル", "delete": "削除", "deleteConfirmation": "このチャンクを削除してもよろしいですか?" } diff --git a/frontend/src/locale/ru.json b/frontend/src/locale/ru.json index 95c7a228..13ae6829 100644 --- a/frontend/src/locale/ru.json +++ b/frontend/src/locale/ru.json @@ -79,7 +79,18 @@ "noChunks": "Фрагменты не найдены", "noChunksAlt": "Фрагменты не найдены", "goToDocuments": "Перейти к документам", - "uploadNew": "Загрузить новый" + "uploadNew": "Загрузить новый", + "searchFiles": "Поиск файлов...", + "noResults": "Результаты не найдены", + "fileName": "Имя", + "tokens": "Токены", + "size": "Размер", + "fileAlt": "Файл", + "folderAlt": "Папка", + "parentFolderAlt": "Родительская папка", + "menuAlt": "Меню", + "tokensUnit": "токенов", + "editAlt": "Редактировать" }, "apiKeys": { "label": "API ключи", @@ -257,6 +268,7 @@ "promptText": "Текст подсказки", "update": "Обновить", "close": "Закрыть", + "cancel": "Отмена", "delete": "Удалить", "deleteConfirmation": "Вы уверены, что хотите удалить этот фрагмент?" } diff --git a/frontend/src/locale/zh-TW.json b/frontend/src/locale/zh-TW.json index 36baa8b1..f590b63b 100644 --- a/frontend/src/locale/zh-TW.json +++ b/frontend/src/locale/zh-TW.json @@ -79,7 +79,18 @@ "noChunks": "未找到文本塊", "noChunksAlt": "未找到文本塊", "goToDocuments": "前往文件", - "uploadNew": "上傳新文件" + "uploadNew": "上傳新文件", + "searchFiles": "搜尋檔案...", + "noResults": "未找到結果", + "fileName": "名稱", + "tokens": "Token", + "size": "大小", + "fileAlt": "檔案", + "folderAlt": "資料夾", + "parentFolderAlt": "上層資料夾", + "menuAlt": "選單", + "tokensUnit": "Token", + "editAlt": "編輯" }, "apiKeys": { "label": "聊天機器人", @@ -257,6 +268,7 @@ "promptText": "提示文字", "update": "更新", "close": "關閉", + "cancel": "取消", "delete": "刪除", "deleteConfirmation": "您確定要刪除此區塊嗎?" } diff --git a/frontend/src/locale/zh.json b/frontend/src/locale/zh.json index 804f5fb2..c1a6b4a0 100644 --- a/frontend/src/locale/zh.json +++ b/frontend/src/locale/zh.json @@ -79,7 +79,18 @@ "noChunks": "未找到文本块", "noChunksAlt": "未找到文本块", "goToDocuments": "前往文档", - "uploadNew": "上传新文档" + "uploadNew": "上传新文档", + "searchFiles": "搜索文件...", + "noResults": "未找到结果", + "fileName": "名称", + "tokens": "令牌", + "size": "大小", + "fileAlt": "文件", + "folderAlt": "文件夹", + "parentFolderAlt": "父文件夹", + "menuAlt": "菜单", + "tokensUnit": "令牌", + "editAlt": "编辑" }, "apiKeys": { "label": "聊天机器人", @@ -257,6 +268,7 @@ "promptText": "提示文本", "update": "更新", "close": "关闭", + "cancel": "取消", "delete": "删除", "deleteConfirmation": "您确定要删除此块吗?" }