// =============================================================================
// STEP CONFIGURATION
// =============================================================================

import type { TOMGeneratorStepId } from './enums'
import type { LocalizedString } from './control-library'

export interface StepConfig {
  id: TOMGeneratorStepId
  title: LocalizedString
  description: LocalizedString
  checkpointId: string
  path: string
  /** Alias for path (for convenience) */
  url: string
  /** German title for display (for convenience) */
  name: string
}

export const TOM_GENERATOR_STEPS: StepConfig[] = [
  {
    id: 'scope-roles',
    title: { de: 'Scope & Rollen', en: 'Scope & Roles' },
    description: {
      de: 'Unternehmensname, Branche, Größe und Rolle definieren',
      en: 'Define company name, industry, size and role',
    },
    checkpointId: 'CP-TOM-SCOPE',
    path: '/sdk/tom-generator/scope',
    url: '/sdk/tom-generator/scope',
    name: 'Scope & Rollen',
  },
  {
    id: 'data-categories',
    title: { de: 'Datenkategorien', en: 'Data Categories' },
    description: {
      de: 'Datenkategorien und betroffene Personen erfassen',
      en: 'Capture data categories and data subjects',
    },
    checkpointId: 'CP-TOM-DATA',
    path: '/sdk/tom-generator/data',
    url: '/sdk/tom-generator/data',
    name: 'Datenkategorien',
  },
  {
    id: 'architecture-hosting',
    title: { de: 'Architektur & Hosting', en: 'Architecture & Hosting' },
    description: {
      de: 'Hosting-Modell, Standort und Provider definieren',
      en: 'Define hosting model, location and providers',
    },
    checkpointId: 'CP-TOM-ARCH',
    path: '/sdk/tom-generator/architecture',
    url: '/sdk/tom-generator/architecture',
    name: 'Architektur & Hosting',
  },
  {
    id: 'security-profile',
    title: { de: 'Security-Profil', en: 'Security Profile' },
    description: {
      de: 'Authentifizierung, Verschlüsselung und Backup konfigurieren',
      en: 'Configure authentication, encryption and backup',
    },
    checkpointId: 'CP-TOM-SEC',
    path: '/sdk/tom-generator/security',
    url: '/sdk/tom-generator/security',
    name: 'Security-Profil',
  },
  {
    id: 'risk-protection',
    title: { de: 'Risiko & Schutzbedarf', en: 'Risk & Protection Level' },
    description: {
      de: 'CIA-Bewertung und Schutzbedarf ermitteln',
      en: 'Determine CIA assessment and protection level',
    },
    checkpointId: 'CP-TOM-RISK',
    path: '/sdk/tom-generator/risk',
    url: '/sdk/tom-generator/risk',
    name: 'Risiko & Schutzbedarf',
  },
  {
    id: 'review-export',
    title: { de: 'Review & Export', en: 'Review & Export' },
    description: {
      de: 'Zusammenfassung prüfen und TOMs exportieren',
      en: 'Review summary and export TOMs',
    },
    checkpointId: 'CP-TOM-REVIEW',
    path: '/sdk/tom-generator/review',
    url: '/sdk/tom-generator/review',
    name: 'Review & Export',
  },
]
