'use client'

import { Language } from '@/lib/types'
import GradientText from '../ui/GradientText'
import FadeInView from '../ui/FadeInView'
import GlassCard from '../ui/GlassCard'

interface GlossarySlideProps {
  lang: Language
}

export default function GlossarySlide({ lang }: GlossarySlideProps) {
  const de = lang === 'de'

  const categories = [
    {
      title: de ? 'Code Security & DevSecOps' : 'Code Security & DevSecOps',
      color: 'text-red-400',
      terms: [
        { abbr: 'SAST', full: 'Static Application Security Testing', desc: de ? 'Analyse des Quellcodes auf Schwachstellen ohne Ausführung' : 'Source code analysis for vulnerabilities without execution' },
        { abbr: 'DAST', full: 'Dynamic Application Security Testing', desc: de ? 'Testen der laufenden Anwendung auf Schwachstellen' : 'Testing running applications for vulnerabilities' },
        { abbr: 'SBOM', full: 'Software Bill of Materials', desc: de ? 'Vollständige Liste aller Software-Komponenten und Abhängigkeiten' : 'Complete list of all software components and dependencies' },
        { abbr: 'DevSecOps', full: 'Development + Security + Operations', desc: de ? 'Integration von Sicherheit in den Entwicklungsprozess' : 'Integration of security into the development process' },
        { abbr: 'SCA', full: 'Software Composition Analysis', desc: de ? 'Analyse von Open-Source-Abhängigkeiten auf Schwachstellen' : 'Analysis of open-source dependencies for vulnerabilities' },
        { abbr: 'CI/CD', full: 'Continuous Integration / Continuous Deployment', desc: de ? 'Automatisierte Build- und Deploy-Pipeline' : 'Automated build and deploy pipeline' },
        { abbr: 'AppSec', full: 'Application Security', desc: de ? 'Sicherheit auf Anwendungsebene' : 'Security at application level' },
      ],
    },
    {
      title: de ? 'Compliance & Datenschutz' : 'Compliance & Data Protection',
      color: 'text-indigo-400',
      terms: [
        { abbr: 'DSGVO', full: 'Datenschutz-Grundverordnung / GDPR', desc: de ? 'EU-Datenschutzverordnung seit Mai 2018' : 'EU data protection regulation since May 2018' },
        { abbr: 'VVT', full: de ? 'Verzeichnis von Verarbeitungstätigkeiten' : 'Record of Processing Activities (RoPA)', desc: de ? 'Pflichtdokumentation aller Datenverarbeitungen' : 'Mandatory documentation of all data processing' },
        { abbr: 'TOMs', full: de ? 'Technisch-Organisatorische Maßnahmen' : 'Technical & Organizational Measures', desc: de ? 'Schutzmaßnahmen für personenbezogene Daten' : 'Protective measures for personal data' },
        { abbr: 'DSFA', full: de ? 'Datenschutz-Folgenabschätzung' : 'Data Protection Impact Assessment (DPIA)', desc: de ? 'Risikoanalyse bei hohem Risiko für Betroffene' : 'Risk analysis when high risk for data subjects' },
        { abbr: 'DSR', full: de ? 'Betroffenenrechte / Data Subject Rights' : 'Data Subject Rights', desc: de ? 'Auskunft, Löschung, Berichtigung, Portabilität' : 'Access, erasure, rectification, portability' },
        { abbr: 'DSB', full: de ? 'Datenschutzbeauftragter' : 'Data Protection Officer (DPO)', desc: de ? 'Verantwortlich für Datenschutz-Compliance' : 'Responsible for data protection compliance' },
        { abbr: 'ISMS', full: 'Information Security Management System', desc: de ? 'Managementsystem für Informationssicherheit (z.B. ISO 27001)' : 'Management system for information security (e.g. ISO 27001)' },
      ],
    },
    {
      title: de ? 'EU-Regulierungen & Gesetze' : 'EU Regulations & Laws',
      color: 'text-cyan-400',
      terms: [
        { abbr: 'AI Act', full: de ? 'KI-Verordnung (EU) 2024/1689' : 'AI Regulation (EU) 2024/1689', desc: de ? 'Weltweit erste KI-Regulierung, Risikoklassen für KI-Systeme' : 'World\'s first AI regulation, risk classes for AI systems' },
        { abbr: 'CRA', full: 'Cyber Resilience Act', desc: de ? 'Cybersicherheit für Produkte mit digitalen Elementen, SBOM-Pflicht' : 'Cybersecurity for products with digital elements, SBOM mandatory' },
        { abbr: 'NIS2', full: 'Network and Information Security Directive 2', desc: de ? 'Cybersicherheits-Richtlinie, 30.000+ Unternehmen in DE betroffen' : 'Cybersecurity directive, 30,000+ companies in DE affected' },
        { abbr: 'MVO', full: de ? 'Maschinenverordnung (EU) 2023/1230' : 'Machinery Regulation (EU) 2023/1230', desc: de ? 'CE-Kennzeichnung inkl. Cybersicherheit ab Jan 2027' : 'CE marking incl. cybersecurity from Jan 2027' },
        { abbr: 'FISA 702', full: 'Foreign Intelligence Surveillance Act, Section 702', desc: de ? 'US-Überwachungsgesetz — erlaubt Zugriff auf Daten von Nicht-US-Personen' : 'US surveillance law — allows access to data of non-US persons' },
        { abbr: 'Cloud Act', full: 'Clarifying Lawful Overseas Use of Data Act', desc: de ? 'US-Gesetz — extraterritorialer Datenzugriff auf US-Anbieter' : 'US law — extraterritorial data access to US providers' },
        { abbr: 'BDSG', full: de ? 'Bundesdatenschutzgesetz' : 'Federal Data Protection Act', desc: de ? 'Deutsche Ergänzung zur DSGVO' : 'German supplement to GDPR' },
        { abbr: 'TISAX', full: 'Trusted Information Security Assessment Exchange', desc: de ? 'Informationssicherheits-Standard der Automobilindustrie' : 'Information security standard for automotive industry' },
        { abbr: 'BSI', full: de ? 'Bundesamt für Sicherheit in der Informationstechnik' : 'Federal Office for Information Security', desc: de ? 'Deutsche Cyber-Sicherheitsbehörde' : 'German cybersecurity authority' },
      ],
    },
    {
      title: de ? 'Geschäftskennzahlen' : 'Business Metrics',
      color: 'text-emerald-400',
      terms: [
        { abbr: 'ARR', full: 'Annual Recurring Revenue', desc: de ? 'Jährlich wiederkehrender Umsatz (MRR × 12)' : 'Annually recurring revenue (MRR × 12)' },
        { abbr: 'MRR', full: 'Monthly Recurring Revenue', desc: de ? 'Monatlich wiederkehrender Umsatz' : 'Monthly recurring revenue' },
        { abbr: 'CAC', full: 'Customer Acquisition Cost', desc: de ? 'Kosten pro Neukundengewinnung' : 'Cost per new customer acquisition' },
        { abbr: 'LTV', full: 'Lifetime Value', desc: de ? 'Gesamtumsatz pro Kunde über die Lebensdauer' : 'Total revenue per customer over lifetime' },
        { abbr: 'ARPU', full: 'Average Revenue Per User', desc: de ? 'Durchschnittlicher Umsatz pro Kunde' : 'Average revenue per customer' },
        { abbr: 'SaaS', full: 'Software as a Service', desc: de ? 'Software als monatlicher Abonnement-Service' : 'Software as monthly subscription service' },
        { abbr: 'ESOP', full: 'Employee Stock Option Plan', desc: de ? 'Mitarbeiterbeteiligungsprogramm' : 'Employee participation program' },
        { abbr: 'ROI', full: 'Return on Investment', desc: de ? 'Rendite auf die Investition' : 'Return on investment' },
      ],
    },
    {
      title: de ? 'Technologie & Plattform' : 'Technology & Platform',
      color: 'text-amber-400',
      terms: [
        { abbr: 'RAG', full: 'Retrieval Augmented Generation', desc: de ? 'KI-Methode: Wissenssuche + Textgenerierung kombiniert' : 'AI method: knowledge retrieval + text generation combined' },
        { abbr: 'LLM', full: 'Large Language Model', desc: de ? 'Großes Sprachmodell (z.B. GPT, Claude, Qwen)' : 'Large language model (e.g. GPT, Claude, Qwen)' },
        { abbr: 'UCCA', full: 'Use-Case Compliance Assessment', desc: de ? 'Automatische Bewertung von KI-Anwendungsfällen nach AI Act' : 'Automatic assessment of AI use cases per AI Act' },
        { abbr: 'FRIA', full: 'Fundamental Rights Impact Assessment', desc: de ? 'Grundrechte-Folgenabschätzung nach Art. 27 AI Act' : 'Fundamental rights impact assessment per Art. 27 AI Act' },
        { abbr: 'SDK', full: 'Software Development Kit', desc: de ? 'Entwicklungspaket zur Integration in Kundensysteme' : 'Development kit for integration into customer systems' },
        { abbr: 'OWASP', full: 'Open Web Application Security Project', desc: de ? 'Open-Source-Sicherheitsstandards für Webanwendungen' : 'Open-source security standards for web applications' },
        { abbr: 'NIST', full: 'National Institute of Standards and Technology', desc: de ? 'US-Behörde für Technologiestandards (auch international anerkannt)' : 'US standards body (internationally recognized)' },
        { abbr: 'ENISA', full: 'European Union Agency for Cybersecurity', desc: de ? 'EU-Agentur für Cybersicherheit' : 'EU Agency for Cybersecurity' },
        { abbr: 'CE', full: de ? 'Conformité Européenne' : 'Conformité Européenne', desc: de ? 'EU-Konformitätskennzeichnung für Produkte' : 'EU conformity marking for products' },
        { abbr: 'RFQ', full: 'Request for Quotation', desc: de ? 'Kundenanfrage / Angebotsanforderung' : 'Customer request for quotation' },
        { abbr: 'IDC', full: 'International Data Corporation', desc: de ? 'Weltweit führendes Marktforschungsunternehmen für IT und Telekommunikation' : 'World-leading market research firm for IT and telecommunications' },
      ],
    },
  ]

  return (
    <div className="max-w-6xl mx-auto">
      <FadeInView className="text-center mb-5">
        <h2 className="text-3xl md:text-4xl font-bold mb-2">
          <GradientText>{de ? 'Glossar & Abkürzungen' : 'Glossary & Abbreviations'}</GradientText>
        </h2>
      </FadeInView>

      <div className="grid md:grid-cols-2 gap-4">
        {categories.map((cat, idx) => (
          <FadeInView key={idx} delay={0.1 + idx * 0.05}>
            <GlassCard hover={false} className="p-4">
              <h3 className={`text-xs font-bold ${cat.color} uppercase tracking-wider mb-3`}>{cat.title}</h3>
              <div className="space-y-2">
                {cat.terms.map((term, i) => (
                  <div key={i} className="flex gap-2 items-baseline">
                    <span className={`text-xs font-bold ${cat.color} min-w-[65px] shrink-0`}>{term.abbr}</span>
                    <div>
                      <span className="text-xs text-white/70">{term.full}</span>
                      <span className="text-xs text-white/40 ml-1">— {term.desc}</span>
                    </div>
                  </div>
                ))}
              </div>
            </GlassCard>
          </FadeInView>
        ))}
      </div>
    </div>
  )
}
