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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user