'use client' import { useCallback } from 'react' import { Language, PitchData } from '@/lib/types' import { t, formatEur } from '@/lib/i18n' import GradientText from '../ui/GradientText' import FadeInView from '../ui/FadeInView' import GlassCard from '../ui/GlassCard' import { Download, Shield, Server, Brain, TrendingUp, Users, FileText, Target } from 'lucide-react' interface ExecutiveSummarySlideProps { lang: Language data: PitchData } export default function ExecutiveSummarySlide({ lang, data }: ExecutiveSummarySlideProps) { const i = t(lang) const es = i.executiveSummary const funding = data.funding const amount = funding?.amount_eur || 0 const amountLabel = amount >= 1_000_000 ? `${(amount / 1_000_000).toFixed(1)} Mio. EUR` : `${(amount / 1_000).toFixed(0)}k EUR` const market = data.market || [] const tam = market.find(m => m.market_segment === 'TAM') const sam = market.find(m => m.market_segment === 'SAM') const som = market.find(m => m.market_segment === 'SOM') const handleDownloadPdf = useCallback(() => { const printWindow = window.open('', '_blank') if (!printWindow) return const tamVal = tam ? formatEur(tam.value_eur, lang) : '—' const samVal = sam ? formatEur(sam.value_eur, lang) : '—' const somVal = som ? formatEur(som.value_eur, lang) : '—' const teamHtml = data.team?.map(m => `
{es.subtitle}
{es.uspText}
{es.problemText}
{es.solutionText}
{kpi.value}
{kpi.label}
{es.roiText || es.businessModelText}