'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)

setUploadFile(e.target.files?.[0] || null)} className="w-full px-3 py-2 border rounded-lg text-sm" />
setUploadTitle(e.target.value)} placeholder="z.B. Firmen-Datenschutzrichtlinie" className="w-full px-3 py-2 border rounded-lg" />
setUploadCode(e.target.value.toUpperCase())} placeholder="z.B. CUSTOM-DSR-01" className="w-full px-3 py-2 border rounded-lg font-mono" />
{/* Add Link */}

Link hinzufuegen (Webseite/PDF)

setLinkUrl(e.target.value)} placeholder="https://example.com/document.pdf" className="w-full px-3 py-2 border rounded-lg" />
setLinkTitle(e.target.value)} placeholder="z.B. BSI IT-Grundschutz" className="w-full px-3 py-2 border rounded-lg" />
setLinkCode(e.target.value.toUpperCase())} placeholder="z.B. BSI-GRUNDSCHUTZ" className="w-full px-3 py-2 border rounded-lg font-mono" />
{/* Custom Documents List */}

Eigene Dokumente ({customDocuments.length})

{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}
))}
)}
{/* 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.

) }