From b5d855d1174711aabdc206a90f1c95fac489f997 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Fri, 27 Mar 2026 21:57:23 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Presenter=20Vor/Zur=C3=BCck-Spulen=20mi?= =?UTF-8?q?t=20Folien-Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - prevSlide() in usePresenterMode: springt zur vorherigen Folie, stoppt aktuelle Audio, startet Präsentation der vorherigen Folie - SkipBack Button in PresenterOverlay neben SkipForward - Beide Buttons springen zur korrekten Folie UND starten die Audio Co-Authored-By: Claude Opus 4.6 (1M context) --- pitch-deck/components/PitchDeck.tsx | 1 + .../components/presenter/PresenterOverlay.tsx | 13 ++++++++++++- pitch-deck/lib/hooks/usePresenterMode.ts | 16 ++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/pitch-deck/components/PitchDeck.tsx b/pitch-deck/components/PitchDeck.tsx index 446ae5b..5966569 100644 --- a/pitch-deck/components/PitchDeck.tsx +++ b/pitch-deck/components/PitchDeck.tsx @@ -251,6 +251,7 @@ export default function PitchDeck({ lang, onToggleLanguage }: PitchDeckProps) { onResume={presenter.resume} onStop={presenter.stop} onSkip={presenter.skipSlide} + onPrev={presenter.prevSlide} isSpeaking={presenter.isSpeaking} ttsAvailable={presenter.ttsAvailable} ttsEnabled={presenter.ttsEnabled} diff --git a/pitch-deck/components/presenter/PresenterOverlay.tsx b/pitch-deck/components/presenter/PresenterOverlay.tsx index e9d7384..d5867b6 100644 --- a/pitch-deck/components/presenter/PresenterOverlay.tsx +++ b/pitch-deck/components/presenter/PresenterOverlay.tsx @@ -1,7 +1,7 @@ 'use client' import { motion, AnimatePresence } from 'framer-motion' -import { Play, Pause, Square, SkipForward, Volume2, VolumeX } from 'lucide-react' +import { Play, Pause, Square, SkipForward, SkipBack, Volume2, VolumeX } from 'lucide-react' import { Language } from '@/lib/types' import { PresenterState } from '@/lib/presenter/types' import { SLIDE_ORDER } from '@/lib/hooks/useSlideNavigation' @@ -18,6 +18,7 @@ interface PresenterOverlayProps { onResume: () => void onStop: () => void onSkip: () => void + onPrev?: () => void isSpeaking?: boolean ttsAvailable?: boolean ttsEnabled?: boolean @@ -35,6 +36,7 @@ export default function PresenterOverlay({ onResume, onStop, onSkip, + onPrev, isSpeaking, ttsAvailable, ttsEnabled = true, @@ -108,6 +110,15 @@ export default function PresenterOverlay({ )} + +