openreplay/frontend/app/components/Session/playerContext.ts
2024-07-05 01:25:06 +05:30

34 lines
892 B
TypeScript

import { createContext, Context } from 'react';
import {
IWebPlayer,
IIosPlayer,
IIOSPlayerStore,
IWebPlayerStore,
IWebLivePlayer,
IWebLivePlayerStore,
} from 'Player';
export interface IOSPlayerContext {
player: IIosPlayer;
store: IIOSPlayerStore;
}
export interface IPlayerContext {
player: IWebPlayer;
store: IWebPlayerStore;
}
export interface ILivePlayerContext {
player: IWebLivePlayer;
store: IWebLivePlayerStore;
}
type WebContextType = IPlayerContext | ILivePlayerContext;
type MobileContextType = IOSPlayerContext;
export const defaultContextValue = { player: undefined, store: undefined };
const ContextProvider = createContext<Partial<WebContextType | MobileContextType>>(defaultContextValue);
export const PlayerContext = ContextProvider as Context<WebContextType>;
export const MobilePlayerContext = ContextProvider as Context<MobileContextType>;