mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-18 19:44:21 +00:00
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import { useEffect, useState } from 'react';
|
|
import { httpClient } from '@/app/infra/http/HttpClient';
|
|
import { KnowledgeBaseFile } from '@/app/infra/entities/api';
|
|
import { columns, DocumentFile } from './documents/columns';
|
|
import { DataTable } from './documents/data-table';
|
|
import FileUploadZone from './FileUploadZone';
|
|
|
|
export default function KBDoc({ kbId }: { kbId: string }) {
|
|
const [documentsList, setDocumentsList] = useState<DocumentFile[]>([]);
|
|
|
|
useEffect(() => {
|
|
getDocumentsList();
|
|
}, []);
|
|
|
|
async function getDocumentsList() {
|
|
const resp = await httpClient.getKnowledgeBaseFiles(kbId);
|
|
setDocumentsList(
|
|
resp.files.map((file: KnowledgeBaseFile) => {
|
|
return {
|
|
id: file.file_id,
|
|
name: file.file_name,
|
|
status: file.status,
|
|
};
|
|
}),
|
|
);
|
|
}
|
|
|
|
const handleUploadSuccess = () => {
|
|
// Refresh document list after successful upload
|
|
getDocumentsList();
|
|
};
|
|
|
|
const handleUploadError = (error: string) => {
|
|
// Error messages are already handled by toast in FileUploadZone component
|
|
console.error('Upload failed:', error);
|
|
};
|
|
|
|
return (
|
|
<div className="container mx-auto py-4">
|
|
<FileUploadZone
|
|
kbId={kbId}
|
|
onUploadSuccess={handleUploadSuccess}
|
|
onUploadError={handleUploadError}
|
|
/>
|
|
<DataTable columns={columns()} data={documentsList} />
|
|
</div>
|
|
);
|
|
}
|