// ==================== SYSTEM INFO CONFIG ====================

export const companionSystemInfo = {
  title: 'Companion Module System Info',
  description: 'Technische Details zur Classroom State Machine',
  version: '1.1.0',
  architecture: {
    layers: [
      {
        title: 'Frontend Layer',
        components: [
          'companion.py (Lesson-Modus UI)',
          'Mode Toggle (Begleiter/Stunde/Klassisch)',
          'Timer Display Component',
          'Phase Timeline Component',
          'Suggestions Cards',
          'Material Design Icons (CDN)',
        ],
        color: 'bg-blue-50',
      },
      {
        title: 'API Layer',
        components: [
          'classroom_api.py (FastAPI Router)',
          'POST /sessions - Session erstellen',
          'POST /sessions/{id}/start - Stunde starten',
          'POST /sessions/{id}/next-phase - Naechste Phase',
          'POST /sessions/{id}/pause - Timer pausieren',
          'POST /sessions/{id}/extend - Phase verlaengern',
          'GET /sessions/{id}/timer - Timer Status',
          'GET /sessions/{id}/suggestions - Vorschlaege',
          'GET /history/{teacher_id} - Session History',
          'GET /health - Health Check mit DB-Status',
          'GET/PUT /v1/context - Schuljahres-Kontext',
          'GET/POST/DELETE /v1/events - Events CRUD',
          'GET/POST/DELETE /v1/routines - Routinen CRUD',
          'GET /v1/federal-states, /v1/school-types, etc.',
        ],
        color: 'bg-green-50',
      },
      {
        title: 'Engine Layer',
        components: [
          'classroom_engine/ Package',
          'models.py - LessonPhase, LessonSession',
          'fsm.py - LessonStateMachine',
          'timer.py - PhaseTimer',
          'suggestions.py - SuggestionEngine',
          'context_models.py - TeacherContextDB, SchoolyearEventDB, RecurringRoutineDB',
          'antizipation.py - AntizipationsEngine (geplant)',
        ],
        color: 'bg-amber-50',
      },
      {
        title: 'Storage Layer',
        components: [
          'Hybrid Storage (Memory + PostgreSQL)',
          'SessionRepository (CRUD)',
          'TeacherSettingsRepository',
          'TeacherContextRepository (Phase 8)',
          'SchoolyearEventRepository (Phase 8)',
          'RecurringRoutineRepository (Phase 8)',
          'Alembic Migrations (007: Phase 8 Tables)',
          'Session History API',
        ],
        color: 'bg-purple-50',
      },
    ],
  },
  features: [
    { name: '5-Phasen-Modell', status: 'active' as const, description: 'Einstieg, Erarbeitung, Sicherung, Transfer, Reflexion' },
    { name: 'Timer mit Warning', status: 'active' as const, description: '2 Minuten Warnung vor Phasen-Ende' },
    { name: 'Overtime Detection', status: 'active' as const, description: 'Anzeige wenn Phase ueberzogen wird' },
    { name: 'Phasen-Suggestions', status: 'active' as const, description: '3-6 Aktivitaets-Vorschlaege pro Phase' },
    { name: 'Visual Pie Timer', status: 'active' as const, description: 'Kreisfoermiger Countdown mit Farbverlauf' },
    { name: 'Quick Actions Bar', status: 'active' as const, description: '+5min, Pause, Skip Buttons' },
    { name: 'Tablet-First Design', status: 'active' as const, description: 'Touch-optimiert fuer Tablets' },
    { name: 'Phasen-Farbschema', status: 'active' as const, description: 'Blau→Orange→Gruen→Lila→Grau' },
    { name: 'Keyboard Shortcuts', status: 'active' as const, description: 'Space=Pause, N=Next, E=Extend, H=Contrast' },
    { name: 'Audio Cues', status: 'active' as const, description: 'Sanfte Toene bei Phasenwechsel' },
    { name: 'Offline Timer', status: 'active' as const, description: 'Client-seitige Fallback bei Verbindungsverlust' },
    { name: 'DB Persistenz', status: 'active' as const, description: 'PostgreSQL Hybrid Storage' },
    { name: 'Session History', status: 'active' as const, description: 'GET /history/{teacher_id} API' },
    { name: 'Alembic Migrations', status: 'active' as const, description: 'Versionierte DB-Schema-Aenderungen' },
    { name: 'Teacher Auth', status: 'active' as const, description: 'Keycloak Integration mit Optional Fallback (Phase 7)' },
    { name: 'WebSocket Real-time', status: 'active' as const, description: 'Echtzeit-Updates mit 1-Sekunden-Genauigkeit (Phase 6)' },
    { name: 'Schuljahres-Kontext', status: 'active' as const, description: 'Makro-Phasen, Bundesland, Schulart (Phase 8)' },
    { name: 'Events & Routinen', status: 'active' as const, description: 'Klausuren, Konferenzen, Elternabende (Phase 8)' },
    { name: 'Antizipations-Engine', status: 'active' as const, description: '12 Regeln fuer proaktive Vorschlaege (Phase 8)' },
    { name: 'Dynamische Sidebar', status: 'active' as const, description: 'Top 5 relevante Module + Alle Module (Phase 8)' },
    { name: 'Schuljahres-Pfad', status: 'active' as const, description: '7 Meilensteine mit Fortschrittsanzeige (Phase 8)' },
  ],
  roadmap: [
    { phase: 'Phase 1: Core Engine', priority: 'high' as const, items: ['FSM', 'Timer', 'Suggestions', 'API'] },
    { phase: 'Phase 2: Frontend', priority: 'high' as const, items: ['Lesson-Modus UI', 'Timer Display', 'Timeline'] },
    { phase: 'Phase 2b: UX Optimierung', priority: 'high' as const, items: ['Visual Timer', 'Farbschema', 'Tablet-First', 'Quick Actions'] },
    { phase: 'Phase 3: Persistenz', priority: 'high' as const, items: ['PostgreSQL', 'Keycloak Auth', 'Session History'] },
    { phase: 'Phase 4: Content', priority: 'medium' as const, items: ['Unit-Vorschlaege', 'Templates', 'Hausaufgaben'] },
    { phase: 'Phase 5: Analytics', priority: 'medium' as const, items: ['Statistiken (ohne Bewertung)', 'PDF Export'] },
    { phase: 'Phase 6: Real-time', priority: 'low' as const, items: ['WebSocket', 'Offline Fallback', 'Multi-Device'] },
  ],
  technicalDetails: [
    { component: 'Backend', technology: 'Python FastAPI', version: '0.123+', description: 'Async REST API' },
    { component: 'State Machine', technology: 'Python Enum + Dataclass', description: 'Finite State Machine Pattern' },
    { component: 'Timer', technology: 'datetime.utcnow()', description: 'Server-side Time Calculation' },
    { component: 'Frontend', technology: 'Vanilla JavaScript ES6+', description: 'In companion.py eingebettet' },
    { component: 'Icons', technology: 'Material Design Icons', description: 'Via Google Fonts CDN (Apache-2.0)' },
    { component: 'WebSocket', technology: 'FastAPI WebSocket', description: 'Echtzeit-Updates mit 1-Sekunden-Genauigkeit + Polling Fallback' },
    { component: 'Database', technology: 'PostgreSQL + SQLAlchemy 2.0', description: 'Hybrid Storage (Memory + DB)' },
    { component: 'Migrations', technology: 'Alembic 1.14', description: 'Versionierte Schema-Migrationen' },
  ],
  privacyNotes: [
    'Keine Schueler-Daten werden gespeichert',
    'Session-Daten sind nur waehrend der Stunde verfuegbar',
    'Lehrer-ID wird fuer Session-Zuordnung verwendet',
    'Keine Tracking-Cookies oder externe Services',
    'Analytics ohne bewertende Metriken (keine "70% Redezeit"-Anzeigen)',
  ],
}
