'use client'
import React from 'react'
import type { UseRAGPageReturn } from '../_hooks/useRAGPage'
interface DataTabProps {
hook: UseRAGPageReturn
}
export function DataTab({ hook }: DataTabProps) {
const {
customDocuments,
uploadFile,
setUploadFile,
uploadTitle,
setUploadTitle,
uploadCode,
setUploadCode,
uploading,
handleUpload,
linkUrl,
setLinkUrl,
linkTitle,
setLinkTitle,
linkCode,
setLinkCode,
addingLink,
handleAddLink,
handleDeleteDocument,
fetchCustomDocuments,
} = hook
return (
{/* Upload Document */}
Dokument hochladen (PDF)
{uploading ? 'Wird hochgeladen...' : 'Hochladen & Indexieren'}
{/* Add Link */}
Link hinzufuegen (Webseite/PDF)
{addingLink ? 'Wird hinzugefuegt...' : 'Link hinzufuegen & Indexieren'}
{/* Custom Documents List */}
Eigene Dokumente ({customDocuments.length})
Aktualisieren
{customDocuments.length === 0 ? (
Noch keine eigenen Dokumente hinzugefuegt.
) : (
{customDocuments.map((doc) => (
{doc.url ? 'đ' : 'đ'}
{doc.title}
{doc.code}
{' âĸ '}
{doc.filename || doc.url}
{doc.status === 'indexed' ? `${doc.chunk_count} Chunks` :
doc.status === 'error' ? 'Fehler' :
doc.status === 'processing' ? 'Verarbeitung...' :
doc.status === 'fetching' ? 'Abruf...' :
doc.status}
handleDeleteDocument(doc.id)}
className="text-red-500 hover:text-red-700 text-sm"
>
Loeschen
))}
)}
{/* Info Box */}
âšī¸
Hinweis zur Verwendung
Laden Sie eigene Dokumente (z.B. interne Datenschutzrichtlinien, Vertraege) oder
externe Links hoch. Diese werden automatisch in Chunks aufgeteilt und indexiert.
Nach dem Hinzufuegen koennen Sie im Pipeline -Tab die vollstaendige
Compliance-Analyse starten.
)
}