fix(pitch): showcase sidebar shows only filtered slides + AI presenter via FAB
Build pitch-deck / build-push-deploy (push) Successful in 1m22s
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 31s
CI / test-python-voice (push) Successful in 30s
CI / test-bqas (push) Successful in 31s

NavigationFAB and SlideOverview now accept slideNames prop and render only the
active slide list (filtered for showcase mode). Adds AI presenter start button
to the FAB footer so it's accessible even when intro-presenter slide is hidden.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-05-04 22:50:33 +02:00
parent 30a9165497
commit be126a7a39
3 changed files with 33 additions and 3 deletions
+11
View File
@@ -9,6 +9,7 @@ import { usePitchData } from '@/lib/hooks/usePitchData'
import { usePresenterMode } from '@/lib/hooks/usePresenterMode'
import { useAuditTracker } from '@/lib/hooks/useAuditTracker'
import { Language, PitchData } from '@/lib/types'
import { t } from '@/lib/i18n'
import { Investor } from '@/lib/hooks/useAuth'
import Link from 'next/link'
@@ -85,6 +86,13 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
const nav = useSlideNavigation(activeSlideOrder)
// Map active slide IDs → localized names for sidebar/overview
const i18n = t(lang)
const activeSlideNames = activeSlideOrder.map(id => {
const idx = SLIDE_ORDER.indexOf(id)
return idx >= 0 ? i18n.slideNames[idx] : id
})
// Skip cap-table slide for Wandeldarlehen versions
useEffect(() => {
if (nav.currentSlide === 'cap-table' && isWandeldarlehen) {
@@ -284,6 +292,8 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
onGoToSlide={nav.goToSlide}
lang={lang}
onToggleLanguage={onToggleLanguage}
slideNames={activeSlideNames}
onPresenterStart={isShowcase ? presenter.start : undefined}
/>
{/* Presenter UI */}
@@ -309,6 +319,7 @@ export default function PitchDeck({ lang, onToggleLanguage, investor, onLogout,
onGoToSlide={nav.goToSlide}
onClose={() => nav.setShowOverview(false)}
lang={lang}
slideNames={activeSlideNames}
/>
)}
</AnimatePresence>