/** * Navigation Structure for Admin v2 * * Main categories with color-coded modules. * All DSGVO and Compliance modules are now consolidated under the SDK. */ export type CategoryId = 'ai' export interface NavModule { id: string name: string href: string description: string purpose: string audience: string[] gdprArticles?: string[] oldAdminPath?: string // Reference to old admin for migration subgroup?: string // Optional subgroup for visual grouping in sidebar } export interface NavCategory { id: CategoryId name: string icon: string color: string colorClass: string description: string modules: NavModule[] } export const navigation: NavCategory[] = [ // ========================================================================= // KI & Automatisierung // ========================================================================= { id: 'ai', name: 'KI & Automatisierung', icon: 'brain', color: '#14b8a6', // Teal colorClass: 'ai', description: 'LLM, OCR, RAG & Machine Learning', modules: [ { id: 'rag', name: 'Daten & RAG', href: '/sdk/rag', description: 'Vektor-Suche & Collections', purpose: 'Verwalten und durchsuchen Sie indexierte Dokumente. Zeigt Status aller Qdrant Collections und ermoeglicht semantische Suche.', audience: ['Entwickler', 'Data Scientists', 'Compliance Officer'], subgroup: 'KI-Daten-Pipeline', }, { id: 'training', name: 'Schulungen', href: '/sdk/training', description: 'KI-gestuetzte Mitarbeiter-Schulungen', purpose: 'Erstellen und verwalten Sie Compliance-Schulungen fuer Mitarbeiter mit KI-Unterstuetzung.', audience: ['Compliance Officer', 'HR', 'Admins'], subgroup: 'KI-Anwendungen', }, { id: 'screening', name: 'KI-Screening', href: '/sdk/screening', description: 'Automatische Compliance-Pruefung', purpose: 'Automatisierte Pruefung von Dokumenten und Prozessen auf Compliance-Konformitaet.', audience: ['Compliance Officer', 'DSB'], subgroup: 'KI-Anwendungen', }, { id: 'quality', name: 'Qualitaetssicherung', href: '/sdk/quality', description: 'KI-Qualitaets-Dashboard', purpose: 'Ueberwachung und Sicherstellung der KI-Ausgabequalitaet.', audience: ['Entwickler', 'QA'], subgroup: 'KI-Werkzeuge', }, ], }, ] // Meta modules (always visible) export const metaModules: NavModule[] = [ { id: 'dashboard', name: 'Dashboard', href: '/dashboard', description: 'Uebersicht & Statistiken', purpose: 'Zentrale Uebersicht ueber alle Systeme mit wichtigen Kennzahlen.', audience: ['Alle'], oldAdminPath: '/admin', }, { id: 'sdk-overview', name: 'SDK Module', href: '/sdk', description: 'Alle DSGVO & Compliance Module', purpose: 'Uebersicht aller SDK-Module fuer Datenschutz und Compliance.', audience: ['Alle'], }, ] // Helper function to get category by ID export function getCategoryById(id: CategoryId): NavCategory | undefined { return navigation.find(cat => cat.id === id) } // Helper function to get module by href export function getModuleByHref(href: string): { category: NavCategory; module: NavModule } | undefined { for (const category of navigation) { const module = category.modules.find(m => m.href === href) if (module) { return { category, module } } } return undefined } // Helper function to get all modules flat export function getAllModules(): NavModule[] { return [...navigation.flatMap(cat => cat.modules), ...metaModules] }