'use client' import * as React from 'react' interface SplashScreenProps { onComplete: () => void minDuration?: number } export function SplashScreen({ onComplete, minDuration = 550 }: SplashScreenProps) { const [exiting, setExiting] = React.useState(false) const onCompleteRef = React.useRef(onComplete) onCompleteRef.current = onComplete React.useEffect(() => { const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches const holdDuration = reduceMotion ? 100 : minDuration const exitDuration = reduceMotion ? 0 : 280 const exitTimer = window.setTimeout(() => setExiting(true), holdDuration) const completeTimer = window.setTimeout( () => onCompleteRef.current(), holdDuration + exitDuration ) return () => { window.clearTimeout(exitTimer) window.clearTimeout(completeTimer) } }, [minDuration]) return (

OfflineAcademy

Your private learning library

) }