// Demo presets for the CRA readiness entrance door — two real, contrasting
// manufacturer archetypes so the flow is tangible. Data grounded in public
// datasheets (owis.eu PS 90+, zwickroell.com roboTest / testXpert).

export interface ReadinessPreset {
  id: string
  label: string
  sublabel: string
  intended_use: string
  producer_type: string
  flags: Record<string, boolean>
  placed_on_market_after_2027: boolean
  customers_request_cra_evidence: boolean
  digital_elements: string[]
  provided_evidence: string[]
  safety_relevant: boolean
  hazard_types: string[]
}

export const READINESS_PRESETS: ReadinessPreset[] = [
  {
    id: 'owis',
    label: 'OWIS PS 90+',
    sublabel: 'Positioniersteuerung — Komponente',
    intended_use:
      'Universelle Positioniersteuerung (bis 9 Achsen) zur Ansteuerung von Motoren und Bremsen in Automatisierungsanlagen — mit Ethernet, USB, RS232, optionalem Anybus (Modbus/TCP), SPS-I/O, Triggerfunktionen und Software-SDK.',
    producer_type: 'component',
    flags: { connected_to_internet: true, has_firmware: true, has_software_updates: true },
    placed_on_market_after_2027: true,
    customers_request_cra_evidence: true,
    digital_elements: [
      'Ethernet', 'USB', 'RS232', 'Anybus (Modbus/TCP)', 'SDK (C/C++/C#/LabView)',
      'SPS-I/O', 'Firmware', 'OWISoft', 'Triggerfunktionen',
    ],
    provided_evidence: [],
    safety_relevant: true,
    hazard_types: ['laser_radiation', 'movement_crush'],
  },
  {
    id: 'zwick',
    label: 'ZwickRoell roboTest',
    sublabel: 'Automatisiertes Prüfsystem + testXpert — Anlage & Software',
    intended_use:
      'Automatisiertes Prüfsystem mit Roboter-Probenhandling (24/7-Betrieb), Software autoEdition + testXpert (Windows), volle Prozesssteuerung per Browser, Status auf Tablet-PCs, direkte Datenanbindung an Host-Systeme sowie Benutzer- und Rechteverwaltung.',
    producer_type: 'machine_integrator',
    flags: {
      is_machinery: true, connected_to_internet: true, has_firmware: true,
      has_software_updates: true, remote_maintenance: true, user_parameter_app: true,
    },
    placed_on_market_after_2027: true,
    customers_request_cra_evidence: false,
    digital_elements: [
      'Roboter-Steuerung', 'autoEdition', 'testXpert (Windows)', 'Browser-Prozesssteuerung',
      'Tablet-Status', 'Host-System-Anbindung', 'Benutzer-/Rechteverwaltung', 'Barcode/QR-Scanner',
    ],
    provided_evidence: ['support_lifecycle'],
    safety_relevant: true,
    hazard_types: ['movement_crush'],
  },
]

// Example datasheet texts for the extraction demo (paste-equivalent). Sourced
// from public datasheets (owis.eu PS 90+, zwickroell.com roboTest / testXpert).
export const DATASHEET_EXAMPLES: { id: string; label: string; text: string }[] = [
  {
    id: 'owis',
    label: 'OWIS PS 90+',
    text:
      'OWIS PS 90+ — Universelle Positioniersteuerung. Bis zu 9 Achsen für Schritt-, DC-, ' +
      'BLDC- und Linearmotoren. Schnittstellen: USB, RS232, Ethernet; optionales Anybus-Modul ' +
      '(Modbus/TCP) für industrielle Netzwerke. 8 TTL-, 8 Analog- und 8 SPS-Ein-/Ausgänge. ' +
      '4 konfigurierbare Endschalter-Eingänge pro Achse. Ereignisbasierte Triggersignale. ' +
      'Betriebssoftware OWISoft 3.0. SDK für C, C++, C#, LabView (32/64 Bit). Versorgung 24 V. ' +
      'Optionale Motor-Haltebremsen für bis zu 4 Achsen. Anschluss für externen Not-Halt-Taster. ' +
      'PC-Betrieb unter Windows 10/11.',
  },
  {
    id: 'zwick',
    label: 'ZwickRoell roboTest',
    text:
      'ZwickRoell roboTest — automatisiertes Prüfsystem. Roboter-Probenhandling für 24/7-Betrieb. ' +
      'Software autoEdition (Datenmanagement, Steuerung, Prozessvisualisierung) und Prüfsoftware ' +
      'testXpert (Windows 10/11). Volle Prozesssteuerung per Browser; Systemstatus auf Tablet-PCs. ' +
      'Direkte Datenanbindung an Host-Systeme (ERP/LIMS/QA). Umfangreiche Benutzer- und ' +
      'Rechteverwaltung. 2D-Barcode/QR-Scanner. Automatische Querschnittsmessung mit Tastern.',
  },
]
