import { cn } from '@/lib/utils' import { useUserPreferences } from '@/providers/UserPreferencesProvider' import mediaManager from '@/services/media-manager.service' import { useEffect, useRef, useState } from 'react' import ExternalLink from '../ExternalLink' export default function VideoPlayer({ src, className }: { src: string; className?: string }) { const { muteMedia, updateMuteMedia } = useUserPreferences() const [error, setError] = useState(false) const videoRef = useRef(null) useEffect(() => { if (!videoRef.current) return const video = videoRef.current const handleVolumeChange = () => { updateMuteMedia(video.muted) } video.addEventListener('volumechange', handleVolumeChange) return () => { video.removeEventListener('volumechange', handleVolumeChange) } }, []) useEffect(() => { const video = videoRef.current if (!video || video.muted === muteMedia) return if (muteMedia) { video.muted = true } else { video.muted = false } }, [muteMedia]) if (error) { return } return (
) }