'use client' import { useState } from 'react' import { motion, AnimatePresence } from 'framer-motion' import { Language } from '@/lib/types' import { t } from '@/lib/i18n' import { AlertTriangle, Scale, Shield, ExternalLink, X } from 'lucide-react' import GlassCard from '../ui/GlassCard' import GradientText from '../ui/GradientText' import FadeInView from '../ui/FadeInView' interface ProblemSlideProps { lang: Language } interface SourceInfo { name: string url: string date: string excerpt_de: string excerpt_en: string } interface ProblemCardData { sources: SourceInfo[] } // Quellenangaben fuer jede Behauptung const cardSources: ProblemCardData[] = [ { // Regulierungs-Tsunami: 5+ Gesetze, persoenliche Haftung sources: [ { name: 'DIHK Digitalisierungsumfrage 2024', url: 'https://www.dihk.de/de/themen-und-positionen/wirtschaft-digital/digitalisierung', date: '2024', excerpt_de: '83% der KMU geben an, die DSGVO-Anforderungen nicht vollstaendig umgesetzt zu haben. Hauptgruende: mangelnde Ressourcen, fehlendes Know-how und die Komplexitaet der Vorschriften. Mit AI Act, CRA und NIS2 verschaerft sich die Lage drastisch.', excerpt_en: '83% of SMEs report not having fully implemented GDPR requirements. Main reasons: lack of resources, missing expertise, and regulatory complexity. With AI Act, CRA and NIS2, the situation is getting drastically worse.', }, { name: 'DSGVO Art. 83 — Persoenliche Haftung', url: 'https://www.enforcementtracker.com/', date: '2025', excerpt_de: 'Ueber 4,1 Mrd. EUR Bussgelder seit 2018. Art. 83 DSGVO sieht Bussgelder bis 20 Mio. EUR oder 4% des Jahresumsatzes vor. Geschaeftsfuehrer haften bei Organisationsverschulden persoenlich.', excerpt_en: 'Over EUR 4.1B in fines since 2018. Art. 83 GDPR provides for fines up to EUR 20M or 4% of annual turnover. CEOs are personally liable for organizational negligence.', }, ], }, { // Jaehrliche Stichproben: 50.000+ EUR/Jahr sources: [ { name: 'VDMA Branchenanalyse — Compliance-Kosten Maschinenbau', url: 'https://www.vdma.org/', date: '2024', excerpt_de: 'Externe Pentests kosten 15.000-40.000 EUR pro Durchlauf. CE-Software-Risikobeurteilungen 10.000-25.000 EUR. Diese Pruefungen erfolgen typischerweise einmal jaehrlich und decken nur eine Momentaufnahme ab — nicht den laufenden Entwicklungsprozess.', excerpt_en: 'External pentests cost EUR 15,000-40,000 per run. CE software risk assessments EUR 10,000-25,000. These audits typically occur once annually, covering only a snapshot — not the ongoing development process.', }, ], }, { // Datensouveraenitaet: 0 Alternativen sources: [ { name: 'Bitkom Cloud Monitor 2024', url: 'https://www.bitkom.org/Themen/Datenschutz-Sicherheit/Cloud-Monitor', date: '2024', excerpt_de: 'Laut Bitkom Cloud Monitor lehnen 64% der deutschen Industrieunternehmen US-Cloud-Dienste fuer sensible Daten ab. Im Maschinenbau liegt die Ablehnung bei ueber 70%. Die Gruende: Schrems II, CLOUD Act und mangelndes Vertrauen in US-Datenschutzstandards.', excerpt_en: 'According to Bitkom Cloud Monitor, 64% of German industrial companies reject US cloud services for sensitive data. In machine manufacturing, rejection exceeds 70%. Reasons: Schrems II, CLOUD Act and lack of trust in US data protection standards.', }, ], }, ] const icons = [AlertTriangle, Scale, Shield] function SourceModal({ isOpen, onClose, cardIndex, lang, cardTitle, }: { isOpen: boolean onClose: () => void cardIndex: number lang: Language cardTitle: string }) { if (!isOpen) return null const sources = cardSources[cardIndex]?.sources || [] return ( {isOpen && (
e.stopPropagation()} >

{cardTitle}

{lang === 'de' ? 'Quellenangaben' : 'Sources'}

{sources.map((src, idx) => (

{src.name}

{src.date}

{lang === 'de' ? src.excerpt_de : src.excerpt_en}

))}
)} ) } export default function ProblemSlide({ lang }: ProblemSlideProps) { const i = t(lang) const [activeModal, setActiveModal] = useState(null) return (

{i.problem.title}

{i.problem.subtitle}

{i.problem.cards.map((card, idx) => { const Icon = icons[idx] const sourceCount = cardSources[idx]?.sources.length || 0 return ( setActiveModal(idx)} >

{card.title}

{card.stat}

{card.desc}

{sourceCount} {lang === 'de' ? (sourceCount === 1 ? 'Quelle' : 'Quellen') : (sourceCount === 1 ? 'source' : 'sources')} {' · '} {lang === 'de' ? 'Klicken fuer Details' : 'Click for details'}

) })}

“{i.problem.quote}”

{/* Source Modals */} {i.problem.cards.map((card, idx) => ( setActiveModal(null)} cardIndex={idx} lang={lang} cardTitle={card.title} /> ))}
) }