'use client' import { motion, AnimatePresence } from 'framer-motion' import { Play, Pause, Square, SkipForward } from 'lucide-react' import { Language } from '@/lib/types' import { PresenterState } from '@/lib/presenter/types' import { SLIDE_ORDER } from '@/lib/hooks/useSlideNavigation' import { t } from '@/lib/i18n' interface PresenterOverlayProps { state: PresenterState currentIndex: number totalSlides: number progress: number displayText: string lang: Language onPause: () => void onResume: () => void onStop: () => void onSkip: () => void } export default function PresenterOverlay({ state, currentIndex, totalSlides, progress, displayText, lang, onPause, onResume, onStop, onSkip, }: PresenterOverlayProps) { const i = t(lang) const slideName = i.slideNames[currentIndex] || SLIDE_ORDER[currentIndex] || '' return ( {state !== 'idle' && (
{/* Progress bar */}
{/* Content */}
{/* Top row: slide info + controls */}
{/* State indicator */}
{lang === 'de' ? 'Folie' : 'Slide'} {currentIndex + 1}/{totalSlides} — {slideName} {Math.round(progress)}%
{/* Controls */}
{state === 'presenting' ? ( ) : ( )}
{/* Subtitle text */} {displayText && ( {displayText} )} {/* State message */} {state === 'paused' && (

{lang === 'de' ? 'Pausiert — stellen Sie eine Frage oder druecken Sie Play' : 'Paused — ask a question or press play'}

)} {state === 'answering' && (

{lang === 'de' ? 'Beantworte Ihre Frage...' : 'Answering your question...'}

)} {state === 'resuming' && (

{lang === 'de' ? 'Setze Praesentation fort...' : 'Resuming presentation...'}

)}
)} ) }