feat(pitch-deck): TheAsk — 40k/160k/200k tiles, BAFA+L-Bank hint, FAQ, skip CapTable for Wandeldarlehen
Some checks failed
Build pitch-deck / build-push-deploy (push) Successful in 1m8s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 36s
CI / test-python-voice (push) Successful in 37s
CI / test-bqas (push) Has been cancelled

- Funding tiles: 40k investor (ab 20%) + 160k L-Bank = 200k, optional 400k row
- Remove Cap Table "Beispielrechnung" from TheAsk slide
- BAFA INVEST title: add hint that L-Bank+BAFA combination must be verified
- Skip CapTable slide entirely for Wandeldarlehen versions (useEffect auto-advance)
- FAQ: add Wandeldarlehen/Pre-Seed BW entry + BAFA+Pre-Seed compatibility entry
- FAQ: fix outdated BAFA INVEST percentage (20% → 15%) in investment-captable entry

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-04-16 08:20:29 +02:00
parent 8f44d907a5
commit cbee0b534f
3 changed files with 74 additions and 66 deletions

View File

@@ -1,6 +1,6 @@
'use client'
import { useCallback, useState } from 'react'
import { useCallback, useEffect, useState } from 'react'
import { AnimatePresence } from 'framer-motion'
import { useSlideNavigation } from '@/lib/hooks/useSlideNavigation'
import { useKeyboard } from '@/lib/hooks/useKeyboard'
@@ -67,6 +67,14 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
const error = previewData ? null : fetched.error
const nav = useSlideNavigation()
const [fabOpen, setFabOpen] = useState(false)
const isWandeldarlehen = (data?.funding?.instrument || '').toLowerCase().includes('wandeldarlehen')
// Skip cap-table slide for Wandeldarlehen versions
useEffect(() => {
if (nav.currentSlide === 'cap-table' && isWandeldarlehen) {
nav.nextSlide()
}
}, [nav.currentSlide, isWandeldarlehen, nav.nextSlide])
const presenter = usePresenterMode({
goToSlide: nav.goToSlide,
@@ -173,6 +181,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
case 'the-ask':
return <TheAskSlide lang={lang} funding={data.funding} />
case 'cap-table':
if (isWandeldarlehen) return null
return <CapTableSlide lang={lang} />
case 'customer-savings':
return <SavingsSlide lang={lang} />

View File

@@ -76,21 +76,45 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
</p>
</motion.div>
{isWandeldarlehen && (
<div className="flex items-center justify-center gap-3 mt-4">
<div className="text-center px-4 py-2 bg-indigo-500/10 border border-indigo-500/20 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-lg font-bold text-indigo-400">200k EUR</p>
<div className="space-y-3 mt-4">
{/* Row 1: 200k Scenario */}
<div className="flex items-center justify-center gap-3">
<div className="text-center px-4 py-2 bg-indigo-500/10 border border-indigo-500/20 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-lg font-bold text-indigo-400">40k EUR</p>
<p className="text-[10px] text-white/30">{de ? 'ab 20% — auch mehr möglich' : 'from 20% — more possible'}</p>
</div>
<span className="text-2xl text-white/30 font-light">+</span>
<div className="text-center px-4 py-2 bg-emerald-500/10 border border-emerald-500/20 rounded-xl">
<p className="text-xs text-white/40">L-Bank Pre-Seed</p>
<p className="text-lg font-bold text-emerald-400">160k EUR</p>
</div>
<span className="text-2xl text-white/30 font-light">=</span>
<div className="text-center px-4 py-2 bg-white/5 border border-white/10 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-lg font-bold text-white">200k EUR</p>
</div>
</div>
<span className="text-2xl text-white/30 font-light">+</span>
<div className="text-center px-4 py-2 bg-emerald-500/10 border border-emerald-500/20 rounded-xl">
<p className="text-xs text-white/40">L-Bank Pre-Seed</p>
<p className="text-lg font-bold text-emerald-400">200k EUR</p>
</div>
<span className="text-2xl text-white/30 font-light">=</span>
<div className="text-center px-4 py-2 bg-white/5 border border-white/10 rounded-xl">
<p className="text-xs text-white/40">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-lg font-bold text-white">400k EUR</p>
{/* Row 2: 400k Scenario (optional) */}
<div className="flex items-center justify-center gap-3 opacity-60">
<div className="text-center px-3 py-1.5 bg-indigo-500/5 border border-indigo-500/10 rounded-xl">
<p className="text-[10px] text-white/30">{de ? 'Ihr Investment' : 'Your Investment'}</p>
<p className="text-sm font-bold text-indigo-400/70">80k EUR</p>
</div>
<span className="text-lg text-white/20 font-light">+</span>
<div className="text-center px-3 py-1.5 bg-emerald-500/5 border border-emerald-500/10 rounded-xl">
<p className="text-[10px] text-white/30">L-Bank Pre-Seed</p>
<p className="text-sm font-bold text-emerald-400/70">320k EUR</p>
</div>
<span className="text-lg text-white/20 font-light">=</span>
<div className="text-center px-3 py-1.5 bg-white/5 border border-white/10 rounded-xl">
<p className="text-[10px] text-white/30">{de ? 'Gesamtfinanzierung' : 'Total Funding'}</p>
<p className="text-sm font-bold text-white/70">400k EUR</p>
</div>
</div>
<p className="text-[10px] text-white/25 text-center">
{de ? 'Optional: doppelte Tranche bei höherem Investor-Anteil' : 'Optional: double tranche with higher investor share'}
</p>
</div>
)}
</FadeInView>
@@ -182,55 +206,6 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
</div>
</FadeInView>
{/* Cap Table */}
<FadeInView delay={0.7} className="mb-6">
<GlassCard hover={false} className="p-6">
<h3 className="text-lg font-semibold text-white mb-4 text-center">
{de ? 'Cap Table — Beispielrechnung' : 'Cap Table — Example Calculation'}
</h3>
<div className="grid md:grid-cols-2 gap-6">
<div>
<p className="text-xs text-white/40 mb-3 text-center font-semibold uppercase tracking-wider">
{de ? 'Vor Conversion' : 'Before Conversion'}
</p>
<div className="space-y-2">
<div className="flex justify-between items-center bg-white/5 rounded-lg px-4 py-2">
<span className="text-sm text-white/70">{de ? 'Gründer' : 'Founders'}</span>
<span className="text-sm font-bold text-white">100%</span>
</div>
<div className="flex justify-between items-center bg-indigo-500/10 border border-indigo-500/20 rounded-lg px-4 py-2">
<span className="text-sm text-indigo-300">{de ? 'Wandeldarlehen' : 'Convertible Loan'}</span>
<span className="text-xs font-semibold text-indigo-400">{de ? 'ausstehend' : 'outstanding'}</span>
</div>
</div>
</div>
<div>
<p className="text-xs text-white/40 mb-3 text-center font-semibold uppercase tracking-wider">
{de ? 'Nach Conversion (Beispiel)' : 'After Conversion (Example)'}
</p>
<div className="space-y-2">
<div className="flex justify-between items-center bg-white/5 rounded-lg px-4 py-2">
<span className="text-sm text-white/70">{de ? 'Gründer' : 'Founders'}</span>
<span className="text-sm font-bold text-white">~80-85%</span>
</div>
<div className="flex justify-between items-center bg-indigo-500/10 rounded-lg px-4 py-2">
<span className="text-sm text-indigo-300">{de ? 'Investor' : 'Investor'}</span>
<span className="text-sm font-bold text-indigo-400">~10-15%</span>
</div>
<div className="flex justify-between items-center bg-emerald-500/10 rounded-lg px-4 py-2">
<span className="text-sm text-emerald-300">L-Bank / Pre-Seed</span>
<span className="text-sm font-bold text-emerald-400">~5%</span>
</div>
</div>
</div>
</div>
<p className="text-[11px] text-white/30 mt-4 text-center italic">
{de
? '* Beispielhafte Darstellung. Tatsächliche Anteile abhängig von Bewertung und Discount bei Conversion.'
: '* Illustrative example. Actual shares depend on valuation and discount at conversion.'}
</p>
</GlassCard>
</FadeInView>
</>
)}
@@ -296,7 +271,9 @@ export default function TheAskSlide({ lang, funding }: TheAskSlideProps) {
<Landmark className="w-5 h-5 text-indigo-400 mt-0.5 shrink-0" />
<div>
<p className="text-sm font-bold text-white mb-1">
{de ? 'BAFA INVEST — Zuschuss für Wagniskapital' : 'BAFA INVEST — Venture Capital Grant'}
{de
? 'BAFA INVEST — Zuschuss für Wagniskapital (Kombinierbarkeit mit L-Bank Wandeldarlehen muss geprüft werden)'
: 'BAFA INVEST — Venture Capital Grant (Compatibility with L-Bank convertible loan must be verified)'}
</p>
<p className="text-xs text-white/50 leading-relaxed">
{de