feat: Presenter Vor/Zurück-Spulen mit Folien-Sync

- 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) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-27 21:57:23 +01:00
parent 1bd57da627
commit b5d855d117
3 changed files with 29 additions and 1 deletions

View File

@@ -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}

View File

@@ -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({
</button>
)}
<button
onClick={onPrev}
className="w-7 h-7 rounded-full bg-white/10 flex items-center justify-center
hover:bg-white/20 transition-colors"
title={lang === 'de' ? 'Vorherige Folie' : 'Previous slide'}
>
<SkipBack className="w-3.5 h-3.5 text-white/60" />
</button>
<button
onClick={onSkip}
className="w-7 h-7 rounded-full bg-white/10 flex items-center justify-center