This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
breakpilot-pwa/admin-v2/lib/navigation.ts
BreakPilot Dev dd1771be1e feat(admin-v2): Katalogverwaltung ins Admin-Dashboard integrieren
Katalogverwaltung von /sdk/catalog-manager nach /dashboard/catalog-manager
verschoben, damit sie im Admin-Dashboard mit Sidebar erscheint statt im
SDK-Bereich. Shared Components extrahiert, SDK-Route bleibt funktionsfaehig.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 12:12:38 +01:00

778 lines
31 KiB
TypeScript

/**
* Navigation Structure for Admin v2
*
* 7 main categories with color-coded modules
* DSGVO (Datenschutz) and Compliance (Audit & GRC) are now separate
*/
export type CategoryId = 'dsgvo' | 'compliance' | 'compliance-sdk' | 'ai' | 'infrastructure' | 'education' | 'communication' | 'development' | 'sdk-docs'
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[] = [
// =========================================================================
// DSGVO - Datenschutz-spezifische Module
// =========================================================================
{
id: 'dsgvo',
name: 'DSGVO',
icon: 'shield-check',
color: '#7c3aed', // Violet
colorClass: 'dsgvo',
description: 'Datenschutz & Betroffenenrechte',
modules: [
{
id: 'consent',
name: 'Consent Verwaltung',
href: '/dsgvo/consent',
description: 'Rechtliche Dokumente & Versionen',
purpose: 'Verwalten Sie rechtliche Dokumente (AGB, Datenschutz, Cookie-Richtlinien) und deren Versionen. Jede Einwilligung eines Benutzers basiert auf diesen Dokumenten.',
audience: ['DSB', 'Entwickler'],
gdprArticles: ['Art. 7 (Einwilligung)', 'Art. 13/14 (Informationspflichten)'],
oldAdminPath: '/admin/consent',
},
{
id: 'dsr',
name: 'Datenschutzanfragen (DSR)',
href: '/dsgvo/dsr',
description: 'DSGVO Art. 15-21 Anfragen',
purpose: 'Bearbeiten Sie Betroffenenanfragen wie Auskunft, Loeschung und Datenportabilitaet.',
audience: ['DSB', 'Support'],
gdprArticles: ['Art. 15-21'],
oldAdminPath: '/admin/dsr',
},
{
id: 'einwilligungen',
name: 'Einwilligungen',
href: '/dsgvo/einwilligungen',
description: 'Nutzer-Consent Uebersicht',
purpose: 'Zentrale Uebersicht aller Nutzer-Einwilligungen (Marketing, Statistik, Cookies).',
audience: ['DSB', 'Compliance Officer', 'Marketing'],
gdprArticles: ['Art. 6 (Rechtmaessigkeit)', 'Art. 7 (Einwilligung)'],
},
{
id: 'vvt',
name: 'Verarbeitungsverzeichnis',
href: '/dsgvo/vvt',
description: 'Art. 30 DSGVO Dokumentation',
purpose: 'Verzeichnis aller Verarbeitungstaetigkeiten mit Rechtsgrundlagen und Loeschfristen.',
audience: ['DSB', 'Auditoren'],
gdprArticles: ['Art. 30 (Verzeichnis von Verarbeitungstaetigkeiten)'],
},
{
id: 'dsfa',
name: 'DSFA',
href: '/dsgvo/dsfa',
description: 'Datenschutz-Folgenabschaetzung',
purpose: 'Risikoanalyse fuer Verarbeitungen mit hohem Risiko gemaess Art. 35 DSGVO.',
audience: ['DSB', 'Projektleiter'],
gdprArticles: ['Art. 35 (Datenschutz-Folgenabschaetzung)'],
},
{
id: 'tom',
name: 'TOMs',
href: '/dsgvo/tom',
description: 'Technische & Organisatorische Massnahmen',
purpose: 'Dokumentation aller Sicherheitsmassnahmen gemaess Art. 32 DSGVO.',
audience: ['DSB', 'IT-Sicherheit', 'Auditoren'],
gdprArticles: ['Art. 32 (Sicherheit der Verarbeitung)'],
},
{
id: 'loeschfristen',
name: 'Loeschfristen',
href: '/dsgvo/loeschfristen',
description: 'Datenaufbewahrung & Deadlines',
purpose: 'Verwaltung von Aufbewahrungsfristen und automatischen Loeschungen.',
audience: ['DSB', 'IT-Admin'],
gdprArticles: ['Art. 5 (Speicherbegrenzung)', 'Art. 17 (Recht auf Loeschung)'],
},
{
id: 'advisory-board',
name: 'Advisory Board',
href: '/dsgvo/advisory-board',
description: 'KI-Use-Case Compliance-Pruefung',
purpose: 'Bewertung geplanter KI-Use-Cases auf DSGVO-Konformitaet. Deterministische Rule Engine analysiert Machbarkeit, Risiko und Komplexitaet mit konkreten Architektur-Empfehlungen.',
audience: ['DSB', 'Projektleiter', 'Entwickler'],
gdprArticles: ['Art. 5', 'Art. 6', 'Art. 9', 'Art. 22', 'Art. 35'],
},
{
id: 'escalations',
name: 'Eskalations-Queue',
href: '/dsgvo/escalations',
description: 'DSB Review & Freigabe-Workflow',
purpose: 'Verwaltung von Eskalationen aus dem Advisory Board (E1-E3). DSB und Team-Leads pruefen risikoreiche Use-Cases und erteilen Freigaben oder Ablehnungen mit Auflagen.',
audience: ['DSB', 'Team-Leads', 'Legal'],
gdprArticles: ['Art. 5', 'Art. 22', 'Art. 35', 'Art. 36'],
},
],
},
// =========================================================================
// Compliance - Audit, GRC & Regulierung
// =========================================================================
{
id: 'compliance',
name: 'Compliance',
icon: 'clipboard-check',
color: '#9333ea', // Purple
colorClass: 'compliance',
description: 'Audit, Controls, Risiken & Regulierung',
modules: [
{
id: 'hub',
name: 'Compliance Hub',
href: '/compliance/hub',
description: 'Zentrales Compliance Dashboard',
purpose: 'Zentrale Uebersicht aller Compliance-Aktivitaeten mit Score, Statistiken und Quick-Links zu allen Modulen.',
audience: ['DSB', 'CISO', 'Compliance Officer', 'Auditoren'],
gdprArticles: ['Art. 5 (Rechenschaftspflicht)', 'Art. 24 (Verantwortung)'],
},
{
id: 'audit-checklist',
name: 'Audit Checkliste',
href: '/compliance/audit-checklist',
description: '476 Anforderungen pruefen',
purpose: 'Systematische Pruefung aller Compliance-Anforderungen mit Haupt- und Nebenabweichungen.',
audience: ['Auditoren', 'DSB', 'CISO'],
},
{
id: 'requirements',
name: 'Requirements',
href: '/compliance/requirements',
description: '558+ Anforderungen aus 19 Verordnungen',
purpose: 'Alle Compliance-Anforderungen (DSGVO, AI Act, CRA, BSI) mit Implementation-Status und Original-URLs.',
audience: ['DSB', 'Compliance Officer', 'Entwickler', 'Auditoren'],
},
{
id: 'controls',
name: 'Controls',
href: '/compliance/controls',
description: '474 Control-Mappings',
purpose: 'Alle technischen und organisatorischen Kontrollen mit Status und Nachweisen.',
audience: ['CISO', 'Compliance Officer', 'Auditoren'],
},
{
id: 'evidence',
name: 'Evidence',
href: '/compliance/evidence',
description: 'Nachweise & Dokumentation',
purpose: 'Verwalten Sie Nachweise fuer Controls (Screenshots, Logs, Policies).',
audience: ['Compliance Officer', 'Auditoren'],
},
{
id: 'risks',
name: 'Risiken',
href: '/compliance/risks',
description: 'Risk Matrix & Register',
purpose: '5x5 Risikomatrix mit Behandlungsplaenen und Verantwortlichen.',
audience: ['CISO', 'Compliance Officer', 'Management'],
},
{
id: 'audit-report',
name: 'Audit Report',
href: '/compliance/audit-report',
description: 'PDF Audit-Berichte',
purpose: 'Erstellen und verwalten Sie Audit-Sessions mit Haupt-/Nebenabweichungen und PDF-Export.',
audience: ['DSB', 'Auditoren', 'Compliance Officer'],
gdprArticles: ['Art. 5 (Rechenschaftspflicht)', 'Art. 24 (Verantwortung)', 'Art. 39 (Aufgaben des DSB)'],
oldAdminPath: '/admin/docs/audit',
},
{
id: 'quality',
name: 'Qualitaet & Audit',
href: '/compliance/quality',
description: 'KI-Compliance & Traceability',
purpose: 'Stichproben und Traceability fuer Compliance-Auditoren. Chunk-Suche, Requirements und Controls fuer KI-Systeme.',
audience: ['Auditoren', 'Compliance-Beauftragte', 'QA'],
},
{
id: 'modules',
name: 'Service Registry',
href: '/compliance/modules',
description: '30+ Service-Module',
purpose: 'Uebersicht aller Services mit Compliance-Status und Regulierungs-Mapping.',
audience: ['Entwickler', 'Compliance Officer'],
},
{
id: 'dsms',
name: 'DSMS',
href: '/compliance/dsms',
description: 'Datenschutz-Management-System',
purpose: 'Zentrales Management aller Datenschutz-relevanten Prozesse und Dokumentationen.',
audience: ['DSB'],
oldAdminPath: '/admin/dsms',
},
{
id: 'workflow',
name: 'Workflow',
href: '/compliance/workflow',
description: 'Freigabe-Workflows',
purpose: 'Konfigurieren Sie Freigabe-Prozesse fuer Dokumente und Aenderungen.',
audience: ['DSB', 'Entwickler'],
oldAdminPath: '/admin/workflow',
},
{
id: 'source-policy',
name: 'Quellen-Policy',
href: '/compliance/source-policy',
description: 'Datenquellen & Compliance',
purpose: 'Whitelist-basiertes Datenquellen-Management mit Operations-Matrix und PII-Blocklist. Nur offizielle Open-Data-Portale und amtliche Quellen (§5 UrhG). Training mit externen Daten ist VERBOTEN.',
audience: ['DSB', 'Compliance Officer', 'Auditor'],
gdprArticles: ['Art. 5 (Rechtmaessigkeit)', 'Art. 6 (Rechtsgrundlage)'],
},
{
id: 'ai-act',
name: 'EU-AI-Act',
href: '/compliance/ai-act',
description: 'KI-Risikoklassifizierung',
purpose: 'Selbstbewertung und Dokumentation der Risikokategorien aller KI-Module gemaess EU-AI-Act. Definiert Warnlinien fuer Features, die nicht implementiert werden duerfen. Exportierbares Compliance-Memo fuer Auditoren und Investoren.',
audience: ['Management', 'DSB', 'Compliance Officer', 'Auditor', 'Investoren'],
gdprArticles: ['EU-AI-Act Art. 52', 'EU-AI-Act Art. 69', 'EU-AI-Act Anhang III'],
},
{
id: 'obligations',
name: 'Pflichten-Uebersicht',
href: '/compliance/obligations',
description: 'Regulatorische Pflichten (NIS2, DSGVO, AI Act)',
purpose: 'Aggregierte Uebersicht aller regulatorischen Pflichten aus NIS2, DSGVO, AI Act und weiteren Vorschriften. Basierend auf Unternehmensdaten (Groesse, Branche) werden automatisch anwendbare Pflichten, Fristen und Sanktionen ermittelt. C-Level-Export als PDF-Memo.',
audience: ['Geschaeftsfuehrung', 'DSB', 'CISO', 'Compliance Officer'],
gdprArticles: ['NIS2 Art. 21', 'BSIG-E § 30-33', 'Art. 5 DSGVO', 'EU-AI-Act'],
},
],
},
// =========================================================================
// Compliance SDK - Datenschutz-Werkzeuge & Kataloge
// =========================================================================
{
id: 'compliance-sdk',
name: 'Compliance SDK',
icon: 'database',
color: '#8b5cf6', // Violet-500
colorClass: 'compliance-sdk',
description: 'SDK-Kataloge, Risiken & Massnahmen',
modules: [
{
id: 'catalog-manager',
name: 'Katalogverwaltung',
href: '/dashboard/catalog-manager',
description: 'SDK-Kataloge & Auswahltabellen',
purpose: 'Zentrale Verwaltung aller Dropdown- und Auswahltabellen im SDK. Systemkataloge (Risiken, Massnahmen, Vorlagen) anzeigen und benutzerdefinierte Eintraege ergaenzen, bearbeiten und loeschen.',
audience: ['DSB', 'Compliance Officer', 'Administratoren'],
},
],
},
// =========================================================================
// KI & Automatisierung
// =========================================================================
{
id: 'ai',
name: 'KI & Automatisierung',
icon: 'brain',
color: '#14b8a6', // Teal
colorClass: 'ai',
description: 'LLM, OCR, RAG & Machine Learning',
modules: [
// -----------------------------------------------------------------------
// KI-Daten-Pipeline: Magic Help ⟷ OCR → Indexierung → Suche
// -----------------------------------------------------------------------
{
id: 'magic-help',
name: 'Magic Help (TrOCR)',
href: '/ai/magic-help',
description: 'TrOCR Testing & Fine-Tuning',
purpose: 'Testen und verbessern Sie die TrOCR-Handschrifterkennung. Laden Sie Bilder hoch, um die OCR-Qualitaet zu pruefen, und trainieren Sie das Modell mit LoRA Fine-Tuning. Bidirektionaler Austausch mit OCR-Labeling.',
audience: ['Entwickler', 'Administratoren', 'QA'],
oldAdminPath: '/admin/magic-help',
subgroup: 'KI-Daten-Pipeline',
},
{
id: 'ocr-labeling',
name: 'OCR-Labeling',
href: '/ai/ocr-labeling',
description: 'Handschrift-Training & Labels',
purpose: 'Labeln Sie Handschrift-Samples fuer das Training von TrOCR-Modellen. Erstellen Sie Ground Truth Daten, die zur RAG Pipeline exportiert werden koennen.',
audience: ['Entwickler', 'Data Scientists', 'QA'],
oldAdminPath: '/admin/ocr-labeling',
subgroup: 'KI-Daten-Pipeline',
},
{
id: 'rag-pipeline',
name: 'RAG Pipeline',
href: '/ai/rag-pipeline',
description: 'Dokument-Indexierung',
purpose: 'RAG-Pipeline fuer Bildungsdokumente: NiBiS Erwartungshorizonte, Schulordnungen, Custom EH. OCR, Chunking und Vektor-Indexierung in Qdrant.',
audience: ['Entwickler', 'Data Scientists', 'Bildungs-Admins'],
oldAdminPath: '/admin/training',
subgroup: 'KI-Daten-Pipeline',
},
{
id: 'rag',
name: 'Daten & RAG',
href: '/ai/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'],
oldAdminPath: '/admin/rag',
subgroup: 'KI-Daten-Pipeline',
},
// -----------------------------------------------------------------------
// KI-Werkzeuge: Standalone-Tools fuer Entwicklung & QA
// -----------------------------------------------------------------------
{
id: 'llm-compare',
name: 'LLM Vergleich',
href: '/ai/llm-compare',
description: 'KI-Provider Vergleich',
purpose: 'Vergleichen Sie verschiedene LLM-Anbieter (Ollama, OpenAI, Anthropic) hinsichtlich Qualitaet, Geschwindigkeit und Kosten. Standalone-Werkzeug fuer Modell-Evaluation.',
audience: ['Entwickler', 'Data Scientists'],
oldAdminPath: '/admin/llm-compare',
subgroup: 'KI-Werkzeuge',
},
{
id: 'ocr-compare',
name: 'OCR Vergleich',
href: '/ai/ocr-compare',
description: 'OCR-Methoden & Vokabel-Extraktion',
purpose: 'Vergleichen Sie verschiedene OCR-Methoden (lokales LLM, Vision LLM, PaddleOCR, Tesseract, Anthropic) fuer Vokabel-Extraktion. Grid-Overlay, Block-Review und LLM-Vergleich.',
audience: ['Entwickler', 'Data Scientists', 'Lehrer'],
subgroup: 'KI-Werkzeuge',
},
{
id: 'test-quality',
name: 'Test Quality (BQAS)',
href: '/ai/test-quality',
description: 'Golden Suite, RAG & Synthetic Tests',
purpose: 'BQAS Dashboard mit Golden Suite (97 Referenz-Tests), RAG/Korrektur Tests und Synthetic Test Generierung. Ueberwacht die Qualitaet der KI-Ausgaben.',
audience: ['Entwickler', 'Data Scientists', 'QA'],
oldAdminPath: '/admin/quality',
subgroup: 'KI-Werkzeuge',
},
{
id: 'gpu',
name: 'GPU Infrastruktur',
href: '/ai/gpu',
description: 'vast.ai GPU Management',
purpose: 'Verwalten Sie GPU-Instanzen auf vast.ai fuer ML-Training und Inferenz.',
audience: ['DevOps', 'Entwickler'],
oldAdminPath: '/admin/gpu',
subgroup: 'KI-Werkzeuge',
},
// -----------------------------------------------------------------------
// KI-Anwendungen: Endnutzer-orientierte KI-Module
// -----------------------------------------------------------------------
{
id: 'agents',
name: 'Agent Management',
href: '/ai/agents',
description: 'Multi-Agent System & SOUL-Editor',
purpose: 'Verwaltung des Multi-Agent-Systems. Bearbeiten Sie Agent-Persoenlichkeiten (SOUL-Files), ueberwachen Sie Sessions und analysieren Sie Agent-Statistiken. Architektur-Dokumentation fuer Entwickler.',
audience: ['Entwickler', 'Lehrer', 'Admins'],
subgroup: 'KI-Anwendungen',
},
],
},
// =========================================================================
// Infrastruktur & DevOps
// =========================================================================
{
id: 'infrastructure',
name: 'Infrastruktur & DevOps',
icon: 'server',
color: '#f97316', // Orange
colorClass: 'infrastructure',
description: 'GPU, Security, CI/CD & Monitoring',
modules: [
// DevOps Pipeline Group (CI/CD -> Tests -> SBOM -> Security)
{
id: 'ci-cd',
name: 'CI/CD',
href: '/infrastructure/ci-cd',
description: 'Pipelines, Deployments & Container',
purpose: 'CI/CD Dashboard mit Gitea Actions Pipelines, Deployment-Status und Container-Management.',
audience: ['DevOps', 'Entwickler'],
subgroup: 'DevOps Pipeline',
},
{
id: 'tests',
name: 'Test Dashboard',
href: '/infrastructure/tests',
description: 'Test-Suites, Coverage & CI/CD',
purpose: 'Zentrales Dashboard fuer alle 280+ Tests. Unit (Go, Python), Integration, E2E (Playwright) und BQAS Quality Tests. Aggregiert Tests aus allen Services ohne physische Migration.',
audience: ['Entwickler', 'QA', 'DevOps'],
subgroup: 'DevOps Pipeline',
},
{
id: 'sbom',
name: 'SBOM',
href: '/infrastructure/sbom',
description: 'Software Bill of Materials',
purpose: 'Verwalten Sie alle Software-Abhaengigkeiten und deren Lizenzen.',
audience: ['DevOps', 'Compliance'],
oldAdminPath: '/admin/sbom',
subgroup: 'DevOps Pipeline',
},
{
id: 'security',
name: 'Security',
href: '/infrastructure/security',
description: 'DevSecOps Dashboard & Scans',
purpose: 'Security-Scans, Vulnerability-Reports und OWASP-Compliance.',
audience: ['DevOps', 'Security'],
oldAdminPath: '/admin/security',
subgroup: 'DevOps Pipeline',
},
// Infrastructure Group
{
id: 'middleware',
name: 'Middleware',
href: '/infrastructure/middleware',
description: 'Middleware Stack & API Gateway',
purpose: 'Ueberwachen und testen Sie den Middleware-Stack und API Gateway.',
audience: ['DevOps'],
oldAdminPath: '/admin/middleware',
subgroup: 'Infrastructure',
},
],
},
// =========================================================================
// Bildung & Schule
// =========================================================================
{
id: 'education',
name: 'Bildung & Schule',
icon: 'graduation',
color: '#3b82f6', // Blue
colorClass: 'education',
description: 'Bildungsquellen & Lehrplaene',
modules: [
{
id: 'edu-search',
name: 'Education Search',
href: '/education/edu-search',
description: 'Bildungsquellen & Crawler',
purpose: 'Verwalten Sie Bildungsquellen und konfigurieren Sie Crawler fuer neue Inhalte.',
audience: ['Content Manager'],
oldAdminPath: '/admin/edu-search',
},
{
id: 'zeugnisse-crawler',
name: 'Zeugnisse-Crawler',
href: '/education/zeugnisse-crawler',
description: 'Zeugnis-Daten',
purpose: 'Verwalten Sie gecrawlte Zeugnis-Strukturen und -Formate.',
audience: ['Entwickler'],
oldAdminPath: '/admin/zeugnisse-crawler',
},
{
id: 'foerderantrag',
name: 'Foerderantrag-Wizard',
href: '/education/foerderantrag',
description: 'DigitalPakt & Landesfoerderung',
purpose: '8-Schritt-Wizard fuer Schulfoerderantraege. Erstellt antragsfaehige Dokumente (Antragsschreiben, Kostenplan, Datenschutzkonzept) mit KI-Unterstuetzung. BreakPilot-Presets fuer schnellen Start.',
audience: ['Schulleitung', 'IT-Beauftragte', 'Schultraeger'],
},
{
id: 'abitur-archiv',
name: 'Abitur-Archiv',
href: '/education/abitur-archiv',
description: 'Zentralabitur-Materialien 2021-2025',
purpose: 'Durchsuchen und filtern Sie Abitur-Aufgaben und Erwartungshorizonte. Themensuche mit semantischer Suche via RAG. Integration mit Klausur-Korrektur fuer schnelle Vorlagen-Nutzung.',
audience: ['Lehrer', 'Entwickler'],
},
{
id: 'klausur-korrektur',
name: 'Klausur-Korrektur',
href: '/education/klausur-korrektur',
description: 'Abitur-Korrektur mit KI',
purpose: 'KI-gestuetzte Korrektur von Abitur- und Vorabitur-Klausuren. Nutzt die RAG-Pipeline fuer Erwartungshorizont-Vorschlaege.',
audience: ['Lehrer', 'Entwickler'],
oldAdminPath: '/admin/klausur-korrektur',
},
{
id: 'companion',
name: 'Companion',
href: '/education/companion',
description: 'Unterrichts-Timer & Phasen',
purpose: 'Strukturierter Unterricht mit 5-Phasen-Modell (E-A-S-T-R). Visual Timer, Hausaufgaben-Tracking und Reflexion.',
audience: ['Lehrer'],
oldAdminPath: '/admin/companion',
},
],
},
// =========================================================================
// Kommunikation & Alerts
// =========================================================================
{
id: 'communication',
name: 'Kommunikation & Alerts',
icon: 'mail',
color: '#22c55e', // Green
colorClass: 'communication',
description: 'Matrix, E-Mail & Benachrichtigungen',
modules: [
{
id: 'video-chat',
name: 'Video & Chat',
href: '/communication/video-chat',
description: 'Matrix & Jitsi Monitoring',
purpose: 'Dashboard fuer Matrix Synapse (E2EE Messaging) und Jitsi Meet (Videokonferenzen). Ueberwachen Sie Service-Status, aktive Meetings, Traffic und SysEleven Ressourcenplanung.',
audience: ['Admins', 'DevOps', 'Support'],
oldAdminPath: '/admin/communication',
},
{
id: 'matrix',
name: 'Voice Service',
href: '/communication/matrix',
description: 'Voice-First Interface & Architektur',
purpose: 'Konfigurieren und testen Sie den Voice-Service (PersonaPlex-7B, TaskOrchestrator). Dokumentation der Voice-First Architektur mit DSGVO-Compliance.',
audience: ['Entwickler', 'Admins'],
oldAdminPath: '/admin/voice',
},
{
id: 'mail',
name: 'Unified Inbox',
href: '/communication/mail',
description: 'E-Mail-Konten & KI-Analyse',
purpose: 'Verwalten Sie E-Mail-Konten und nutzen Sie KI zur Kategorisierung.',
audience: ['Support', 'Admins'],
oldAdminPath: '/admin/mail',
},
{
id: 'alerts',
name: 'Alerts Monitoring',
href: '/communication/alerts',
description: 'Google Alerts & Feed-Ueberwachung',
purpose: 'Ueberwachen Sie Google Alerts und RSS-Feeds fuer relevante Neuigkeiten.',
audience: ['Marketing', 'Admins'],
oldAdminPath: '/admin/alerts',
},
],
},
// =========================================================================
// Entwicklung & Produkte
// =========================================================================
{
id: 'development',
name: 'Entwicklung & Produkte',
icon: 'code',
color: '#64748b', // Slate
colorClass: 'development',
description: 'Workflow, Game, Docs & Brandbook',
modules: [
{
id: 'workflow',
name: 'Dev Workflow',
href: '/development/workflow',
description: 'Git, CI/CD & Team-Regeln',
purpose: 'Entwicklungs-Workflow mit Git, CI/CD Pipeline und Team-Konventionen. Pflichtlektuere fuer alle Entwickler.',
audience: ['Entwickler', 'DevOps'],
},
{
id: 'game',
name: 'Breakpilot Drive',
href: '/development/game',
description: 'Lernspiel Management',
purpose: 'Verwalten Sie Spielinhalte, Level und Lernziele fuer Breakpilot Drive.',
audience: ['Content Manager', 'Entwickler'],
oldAdminPath: '/admin/game',
},
{
id: 'unity-bridge',
name: 'Unity Bridge',
href: '/development/unity-bridge',
description: 'Unity Editor Steuerung',
purpose: 'Steuern Sie den Unity Editor remote fuer Game-Development.',
audience: ['Entwickler'],
oldAdminPath: '/admin/unity-bridge',
},
{
id: 'docs',
name: 'Developer Docs',
href: '/development/docs',
description: 'API & Architektur',
purpose: 'Durchsuchen Sie die API-Dokumentation und Architektur-Diagramme.',
audience: ['Entwickler'],
oldAdminPath: '/admin/docs',
},
{
id: 'brandbook',
name: 'Brandbook',
href: '/development/brandbook',
description: 'Corporate Design',
purpose: 'Referenz fuer Logos, Farben, Typografie und Design-Richtlinien.',
audience: ['Designer', 'Marketing'],
oldAdminPath: '/admin/brandbook',
},
{
id: 'screen-flow',
name: 'Screen Flow',
href: '/development/screen-flow',
description: 'UI Screen-Verbindungen',
purpose: 'Visualisieren Sie die Navigation und Screen-Verbindungen der App.',
audience: ['Designer', 'Entwickler'],
oldAdminPath: '/admin/screen-flow',
},
{
id: 'content',
name: 'Uebersetzungen',
href: '/development/content',
description: 'Website Content & Sprachen',
purpose: 'Verwalten Sie Website-Inhalte und Uebersetzungen.',
audience: ['Content Manager'],
oldAdminPath: '/admin/content',
},
],
},
// =========================================================================
// SDK Dokumentation
// =========================================================================
{
id: 'sdk-docs',
name: 'SDK Dokumentation',
icon: 'code-2',
color: '#06b6d4', // Cyan
colorClass: 'sdk-docs',
description: 'Consent SDK Dokumentation & Integration',
modules: [
{
id: 'consent-sdk',
name: 'Consent SDK',
href: '/developers/sdk/consent',
description: 'DSGVO/TTDSG-konformes Consent Management',
purpose: 'Vollstaendige Dokumentation des Consent SDK fuer Web, PWA und Mobile Apps. Inklusive Framework-Integrationen (React, Vue, Angular) und Mobile SDKs (iOS, Android, Flutter).',
audience: ['Entwickler', 'Frontend-Entwickler', 'Mobile-Entwickler'],
gdprArticles: ['Art. 6', 'Art. 7', 'Art. 13', 'Art. 14', 'Art. 17', 'Art. 20'],
},
{
id: 'sdk-installation',
name: 'Installation',
href: '/developers/sdk/consent/installation',
description: 'SDK Installation & Setup',
purpose: 'Schritt-fuer-Schritt Anleitung zur Installation des Consent SDK in verschiedenen Umgebungen.',
audience: ['Entwickler'],
},
{
id: 'sdk-frameworks',
name: 'Frameworks',
href: '/developers/sdk/consent/frameworks',
description: 'React, Vue, Angular Integration',
purpose: 'Framework-spezifische Integrationen mit Hooks, Composables und Services.',
audience: ['Frontend-Entwickler'],
},
{
id: 'sdk-mobile',
name: 'Mobile SDKs',
href: '/developers/sdk/consent/mobile',
description: 'iOS, Android, Flutter',
purpose: 'Native Mobile SDKs fuer iOS (Swift), Android (Kotlin) und Flutter (Dart).',
audience: ['Mobile-Entwickler'],
},
{
id: 'sdk-api',
name: 'API Referenz',
href: '/developers/sdk/consent/api-reference',
description: 'Vollstaendige API-Dokumentation',
purpose: 'Detaillierte Dokumentation aller Methoden, Konfigurationsoptionen und Events.',
audience: ['Entwickler'],
},
{
id: 'sdk-security',
name: 'Sicherheit',
href: '/developers/sdk/consent/security',
description: 'Security Best Practices',
purpose: 'Sicherheits-Features, DSGVO/TTDSG Compliance-Hinweise und Best Practices.',
audience: ['Entwickler', 'DSB', 'Security'],
gdprArticles: ['Art. 6', 'Art. 7', '§ 25 TTDSG'],
},
],
},
]
// 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: 'architecture',
name: 'Architektur',
href: '/architecture',
description: 'Backend-Module & Datenfluss',
purpose: 'Uebersicht aller Backend-Module und deren Verbindung zum Frontend. Essentiell fuer Migration und Audit.',
audience: ['Entwickler', 'DevOps', 'Auditoren', 'Manager'],
},
{
id: 'onboarding',
name: 'Onboarding',
href: '/onboarding',
description: 'Lern-Wizards',
purpose: 'Gefuehrte Tutorials fuer neue Benutzer.',
audience: ['Alle'],
oldAdminPath: '/admin/onboarding',
},
{
id: 'backlog',
name: 'Production Backlog',
href: '/backlog',
description: 'Go-Live Checkliste',
purpose: 'Verfolgen Sie den Fortschritt zum Production-Launch.',
audience: ['Entwickler', 'Manager'],
oldAdminPath: '/admin/backlog',
},
{
id: 'rbac',
name: 'RBAC',
href: '/rbac',
description: 'Rollen & Berechtigungen',
purpose: 'Verwalten Sie Benutzerrollen und Zugriffsrechte.',
audience: ['Admins', 'DSB'],
oldAdminPath: '/admin/rbac',
},
]
// 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]
}