import { ReactNode, createContext, useContext, useEffect, useState, } from "react"; import { registerVideoPlayer, unregisterVideoPlayer } from "./init"; const VideoPlayerContext = createContext(""); export function VideoPlayerContextProvider(props: { children: ReactNode }) { const [id, setId] = useState(null); useEffect(() => { const vidId = registerVideoPlayer(); setId(vidId); return () => { unregisterVideoPlayer(vidId); }; }, [setId]); if (!id) return null; return ( {props.children} ); } export function useVideoPlayerDescriptor(): string { const id = useContext(VideoPlayerContext); return id; }