fork
Configure Feed
Select the types of activity you want to include in your feed.
Live video on the AT Protocol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1import { createContext, ReactNode, useContext } from "react";
2
3interface VideoElementContextType {
4 videoElement: HTMLVideoElement | null;
5}
6
7const VideoElementContext = createContext<VideoElementContextType | undefined>(
8 undefined,
9);
10
11export function VideoElementProvider({
12 children,
13 videoElement,
14}: {
15 children: ReactNode;
16 videoElement: HTMLVideoElement | null;
17}) {
18 return (
19 <VideoElementContext.Provider value={{ videoElement }}>
20 {children}
21 </VideoElementContext.Provider>
22 );
23}
24
25export function useVideoElement() {
26 const context = useContext(VideoElementContext);
27 if (context === undefined) {
28 throw new Error(
29 "useVideoElement must be used within a VideoElementProvider",
30 );
31 }
32 return context.videoElement;
33}