Create types for player & view

This commit is contained in:
2026-04-09 12:52:54 +02:00
parent c71c8fb8f9
commit e1e2fa3f3b
70 changed files with 3499 additions and 369 deletions
+25
View File
@@ -0,0 +1,25 @@
import { createContext, type ReactNode, useContext } from "react";
import { NitroModules } from "react-native-nitro-modules";
import type {
OmniPlayerFactory,
OmniPlayerProps,
} from "./specs/omni-player.nitro";
import type { OmniPlayer } from "./types/player";
const ProviderFactory = NitroModules.createHybridObject<OmniPlayerFactory>(
"OmniProviderFactory",
);
const PlayerCtx = createContext<OmniPlayer>(null!);
export const OmniProvider = ({
children,
...props
}: OmniPlayerProps & { children: ReactNode }) => {
const player = ProviderFactory.createPlayer(props);
return <PlayerCtx.Provider value={player}>{children}</PlayerCtx.Provider>;
};
export const usePlayer = () => {
return useContext(PlayerCtx);
};