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

@@ -22,6 +22,7 @@ interface UsePresenterModeReturn {
pause: () => void
resume: () => void
skipSlide: () => void
prevSlide: () => void
toggle: () => void
displayText: string
progress: number
@@ -386,6 +387,20 @@ export function usePresenterMode({
}
}, [cancelAll, totalSlides, goToSlide])
const prevSlide = useCallback(() => {
cancelAll()
const prevIdx = slideIndexRef.current - 1
if (prevIdx >= 0) {
goToSlide(prevIdx)
slideIndexRef.current = prevIdx
if (stateRef.current === 'presenting' || stateRef.current === 'paused') {
setState('presenting')
stateRef.current = 'presenting'
playSlideRef.current(prevIdx)
}
}
}, [cancelAll, goToSlide])
const toggle = useCallback(() => {
unlockAudio()
if (stateRef.current === 'idle') {
@@ -422,6 +437,7 @@ export function usePresenterMode({
pause,
resume,
skipSlide,
prevSlide,
toggle,
displayText,
progress,