/**
 * Compliance Scope Engine - Constants
 *
 * Labels, Beschreibungen und Farben für Compliance-Levels und Dokumenttypen.
 */

import type { ComplianceDepthLevel } from './core-levels'
import type { ScopeDocumentType } from './documents'

/**
 * Deutsche Bezeichnungen für Compliance-Levels
 */
export const DEPTH_LEVEL_LABELS: Record<ComplianceDepthLevel, string> = {
  L1: 'Lean Startup',
  L2: 'KMU Standard',
  L3: 'Erweitert',
  L4: 'Zertifizierungsbereit',
};

/**
 * Detaillierte Beschreibungen der Compliance-Levels
 */
export const DEPTH_LEVEL_DESCRIPTIONS: Record<ComplianceDepthLevel, string> = {
  L1: 'Minimalansatz für kleine Organisationen und Startups. Fokus auf gesetzliche Pflichten mit pragmatischen Lösungen.',
  L2: 'Standard-Compliance für mittelständische Unternehmen. Ausgewogenes Verhältnis zwischen Aufwand und Compliance-Qualität.',
  L3: 'Erweiterte Compliance für größere oder risikoreichere Organisationen. Detaillierte Dokumentation und Prozesse.',
  L4: 'Vollständige Compliance für Zertifizierungen und höchste Anforderungen. Audit-ready Dokumentation.',
};

/**
 * Farben für Compliance-Levels (Tailwind-kompatibel)
 */
export const DEPTH_LEVEL_COLORS: Record<ComplianceDepthLevel, { bg: string; border: string; badge: string; text: string }> = {
  L1: { bg: 'bg-green-50', border: 'border-green-300', badge: 'bg-green-100', text: 'text-green-800' },
  L2: { bg: 'bg-blue-50', border: 'border-blue-300', badge: 'bg-blue-100', text: 'text-blue-800' },
  L3: { bg: 'bg-amber-50', border: 'border-amber-300', badge: 'bg-amber-100', text: 'text-amber-800' },
  L4: { bg: 'bg-red-50', border: 'border-red-300', badge: 'bg-red-100', text: 'text-red-800' },
};

/**
 * Deutsche Bezeichnungen für alle Dokumenttypen
 */
export const DOCUMENT_TYPE_LABELS: Record<ScopeDocumentType, string> = {
  vvt: 'Verzeichnis von Verarbeitungstätigkeiten (VVT)',
  lf: 'Löschfristenkonzept',
  tom: 'Technische und organisatorische Maßnahmen (TOM)',
  av_vertrag: 'Auftragsverarbeitungsvertrag (AVV)',
  dsi: 'Datenschutz-Informationen (Privacy Policy)',
  betroffenenrechte: 'Betroffenenrechte-Prozess',
  dsfa: 'Datenschutz-Folgenabschätzung (DSFA)',
  daten_transfer: 'Drittlandtransfer-Dokumentation',
  datenpannen: 'Datenpannen-Prozess',
  einwilligung: 'Einwilligungsmanagement',
  vertragsmanagement: 'Vertragsmanagement-Prozess',
  schulung: 'Mitarbeiterschulung',
  audit_log: 'Audit & Logging Konzept',
  risikoanalyse: 'Risikoanalyse',
  notfallplan: 'Notfall- & Krisenplan',
  zertifizierung: 'Zertifizierungsvorbereitung',
  datenschutzmanagement: 'Datenschutzmanagement-System (DSMS)',
  iace_ce_assessment: 'CE-Risikobeurteilung SW/FW/KI (IACE)',
  widerrufsbelehrung: 'Widerrufsbelehrung (§ 312g BGB)',
  preisangaben: 'Preisangaben (PAngV)',
  fernabsatz_info: 'Informationspflichten Fernabsatz (§ 312d BGB)',
  streitbeilegung: 'Streitbeilegungshinweis (VSBG § 36)',
  produktsicherheit: 'Produktsicherheitsdokumentation (GPSR)',
  ai_act_doku: 'AI Act Technische Dokumentation (Art. 11)',
};

/**
 * Status-Labels für Scope-Zustand
 */
export const SCOPE_STATUS_LABELS = {
  NOT_STARTED: 'Nicht begonnen',
  IN_PROGRESS: 'In Bearbeitung',
  COMPLETE: 'Abgeschlossen',
  NEEDS_UPDATE: 'Aktualisierung erforderlich',
};

/**
 * LocalStorage Key für Scope State
 */
export const STORAGE_KEY = 'bp_compliance_scope';
