Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
60 lines
1.8 KiB
Markdown
60 lines
1.8 KiB
Markdown
# RAG Admin Page Refactoring
|
|
|
|
## Status: Partially Refactored
|
|
|
|
The large `page.tsx` (2,964 lines) has been partially split into smaller components.
|
|
|
|
## Structure
|
|
|
|
```
|
|
website/app/admin/rag/
|
|
├── page.tsx # Main page (needs update to import components)
|
|
├── types.ts # Shared type definitions (150 lines)
|
|
├── components/
|
|
│ ├── index.ts # Component exports
|
|
│ ├── CollectionsTab.tsx # Collections management (593 lines)
|
|
│ ├── UploadTab.tsx # File upload (327 lines)
|
|
│ ├── IngestionTab.tsx # Ingestion control (512 lines)
|
|
│ └── DocumentsTab.tsx # Document browser (425 lines)
|
|
└── wizard/ # Existing wizard subdirectory
|
|
```
|
|
|
|
## Extracted Components
|
|
|
|
| Component | Lines | Description |
|
|
|-----------|-------|-------------|
|
|
| CollectionsTab | 593 | Collection CRUD, CollectionCard |
|
|
| UploadTab | 327 | File upload with drag & drop |
|
|
| IngestionTab | 512 | Ingestion control, progress, history |
|
|
| DocumentsTab | 425 | Document list, filtering, preview |
|
|
|
|
## Remaining in page.tsx
|
|
|
|
- SearchTab (~230 lines)
|
|
- MetricsTab (~110 lines)
|
|
- SystemInfoTab (~350 lines)
|
|
- Main component and tab navigation (~290 lines)
|
|
|
|
## TODO
|
|
|
|
1. Update `page.tsx` to import extracted components
|
|
2. Extract remaining tabs (SearchTab, MetricsTab, SystemInfoTab)
|
|
3. Add comprehensive tests
|
|
|
|
## Types
|
|
|
|
All shared types are in `types.ts`:
|
|
- Collection, CreateCollectionData
|
|
- IngestionStatus, SearchResult
|
|
- UploadResult, LiveProgress
|
|
- IndexedStats, PendingFile
|
|
- IndexedDocument, DocumentContent
|
|
- SystemInfo, TabId
|
|
|
|
## Usage
|
|
|
|
```tsx
|
|
import { CollectionsTab, UploadTab, IngestionTab, DocumentsTab } from './components'
|
|
import type { Collection, IngestionStatus } from './types'
|
|
```
|