import { useEffect, useRef, useState } from 'react' import { getStreamToken } from '../api' export default function VideoPlayer({ item, jwt, onClose }) { const [src, setSrc] = useState(null) const [error, setError] = useState(null) const videoRef = useRef(null) useEffect(() => { getStreamToken(item.id, jwt) .then(url => setSrc(url)) .catch(e => setError(e.message)) }, [item.id, jwt]) useEffect(() => { if (src && videoRef.current) { videoRef.current.play().catch(() => {}) videoRef.current.requestFullscreen?.().catch(() => {}) } }, [src]) return (
{error}
} {src ? ( ) : ( !error &&Loading…
)}