From be126a7a396431d0ca5fe6d25cb680a85b9b9228 Mon Sep 17 00:00:00 2001 From: Sharang Parnerkar <30073382+mighty840@users.noreply.github.com> Date: Mon, 4 May 2026 22:50:33 +0200 Subject: [PATCH] fix(pitch): showcase sidebar shows only filtered slides + AI presenter via FAB 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 --- pitch-deck/components/NavigationFAB.tsx | 19 ++++++++++++++++++- pitch-deck/components/PitchDeck.tsx | 11 +++++++++++ pitch-deck/components/SlideOverview.tsx | 6 ++++-- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/pitch-deck/components/NavigationFAB.tsx b/pitch-deck/components/NavigationFAB.tsx index 38357fd..2d04d01 100644 --- a/pitch-deck/components/NavigationFAB.tsx +++ b/pitch-deck/components/NavigationFAB.tsx @@ -13,6 +13,8 @@ interface NavigationFABProps { onGoToSlide: (index: number) => void lang: Language onToggleLanguage: () => void + slideNames?: string[] + onPresenterStart?: () => void } export default function NavigationFAB({ @@ -22,6 +24,8 @@ export default function NavigationFAB({ onGoToSlide, lang, onToggleLanguage, + slideNames: slideNamesProp, + onPresenterStart, }: NavigationFABProps) { const [isOpen, setIsOpen] = useState(false) const [isFullscreen, setIsFullscreen] = useState(false) @@ -35,6 +39,7 @@ export default function NavigationFAB({ }) }, []) const i = t(lang) + const activeSlideNames = slideNamesProp ?? i.slideNames const toggleFullscreen = useCallback(() => { if (!document.fullscreenElement) { @@ -89,7 +94,7 @@ export default function NavigationFAB({ {/* Slide List */}
- {i.slideNames.map((name, idx) => { + {activeSlideNames.map((name, idx) => { const isActive = idx === currentIndex const isVisited = visitedSlides.has(idx) const isAI = idx === totalSlides - 1 @@ -164,6 +169,18 @@ export default function NavigationFAB({
+ {/* AI Presenter */} + {onPresenterStart && ( + + )} + {/* Fullscreen */}