import React, { useState, useRef } from "react"; import { useVideoDimensions } from "@/hooks/use-video-dimensions"; import HlsVideoPlayer from "./HlsVideoPlayer"; import ActivityIndicator from "../indicators/activity-indicator"; type GenericVideoPlayerProps = { source: string; onPlaying?: () => void; children?: React.ReactNode; }; export function GenericVideoPlayer({ source, onPlaying, children, }: GenericVideoPlayerProps) { const [isLoading, setIsLoading] = useState(true); const videoRef = useRef(null); const containerRef = useRef(null); const { videoDimensions, setVideoResolution } = useVideoDimensions(containerRef); return (
{isLoading && ( )}
{ setIsLoading(false); onPlaying?.(); }} setFullResolution={setVideoResolution} /> {!isLoading && children}
); }