fix(pitch-deck): version-aware financial model + layout fix + COMPLAI spelling
All checks were successful
Build pitch-deck / build-push-deploy (push) Successful in 1m2s
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 26s
CI / test-python-voice (push) Successful in 25s
CI / test-bqas (push) Successful in 26s
All checks were successful
Build pitch-deck / build-push-deploy (push) Successful in 1m2s
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 26s
CI / test-python-voice (push) Successful in 25s
CI / test-bqas (push) Successful in 26s
Critical fix: All financial slides now use the version's preferred scenario instead of always defaulting to Base Case (1M). This ensures the Wandeldarlehen version shows its own lean financial plan. - useFinancialModel: add preferredScenarioId parameter - PitchDeck: extract default scenario from previewData.fm_scenarios - Pass preferredScenarioId to all 5 financial slides - FinancialsSlide layout: remove empty right column, full-width charts - Remove ScenarioSwitcher + unused slider from FinancialsSlide - Fix COMPLEI → COMPLAI in presenter script (only TTS pronunciation differs) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -69,6 +69,15 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
const [fabOpen, setFabOpen] = useState(false)
|
||||
const isWandeldarlehen = (data?.funding?.instrument || '').toLowerCase().includes('wandeldarlehen')
|
||||
|
||||
// For version previews: use the version's default FM scenario instead of base table default
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const fmScenarios = (previewData as any)?.fm_scenarios as Array<{ id: string; is_default?: boolean }> | undefined
|
||||
const preferredScenarioId = fmScenarios?.[0]?.is_default
|
||||
? fmScenarios[0].id
|
||||
: fmScenarios?.length === 1
|
||||
? fmScenarios[0].id
|
||||
: null
|
||||
|
||||
// Skip cap-table slide for Wandeldarlehen versions
|
||||
useEffect(() => {
|
||||
if (nav.currentSlide === 'cap-table' && isWandeldarlehen) {
|
||||
@@ -151,7 +160,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
/>
|
||||
)
|
||||
case 'executive-summary':
|
||||
return <ExecutiveSummarySlide lang={lang} data={data} investorId={investor?.id || null} />
|
||||
return <ExecutiveSummarySlide lang={lang} data={data} investorId={investor?.id || null} preferredScenarioId={preferredScenarioId} />
|
||||
case 'cover':
|
||||
return <CoverSlide lang={lang} onNext={nav.nextSlide} funding={data.funding} />
|
||||
case 'problem':
|
||||
@@ -169,7 +178,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
case 'market':
|
||||
return <MarketSlide lang={lang} market={data.market} />
|
||||
case 'business-model':
|
||||
return <BusinessModelSlide lang={lang} products={data.products} investorId={investor?.id || null} />
|
||||
return <BusinessModelSlide lang={lang} products={data.products} investorId={investor?.id || null} preferredScenarioId={preferredScenarioId} />
|
||||
case 'traction':
|
||||
return <TractionSlide lang={lang} milestones={data.milestones} metrics={data.metrics} />
|
||||
case 'competition':
|
||||
@@ -177,7 +186,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
case 'team':
|
||||
return <TeamSlide lang={lang} team={data.team} />
|
||||
case 'financials':
|
||||
return <FinancialsSlide lang={lang} investorId={investor?.id || null} />
|
||||
return <FinancialsSlide lang={lang} investorId={investor?.id || null} preferredScenarioId={preferredScenarioId} />
|
||||
case 'the-ask':
|
||||
return <TheAskSlide lang={lang} funding={data.funding} />
|
||||
case 'cap-table':
|
||||
@@ -188,7 +197,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
case 'ai-qa':
|
||||
return <AIQASlide lang={lang} />
|
||||
case 'annex-assumptions':
|
||||
return <AssumptionsSlide lang={lang} investorId={investor?.id || null} />
|
||||
return <AssumptionsSlide lang={lang} investorId={investor?.id || null} preferredScenarioId={preferredScenarioId} />
|
||||
case 'annex-architecture':
|
||||
return <ArchitectureSlide lang={lang} />
|
||||
case 'annex-gtm':
|
||||
@@ -204,7 +213,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
|
||||
case 'annex-strategy':
|
||||
return <StrategySlide lang={lang} />
|
||||
case 'annex-finanzplan':
|
||||
return <FinanzplanSlide lang={lang} investorId={investor?.id || null} />
|
||||
return <FinanzplanSlide lang={lang} investorId={investor?.id || null} preferredScenarioId={preferredScenarioId} />
|
||||
case 'annex-glossary':
|
||||
return <GlossarySlide lang={lang} />
|
||||
case 'legal-disclaimer':
|
||||
|
||||
Reference in New Issue
Block a user