import { useSyncExternalStore } from 'react'; import { useAviationPlayer } from '../AviationContext'; import type { AviationPlayer } from '../Aviation'; /** * React hook for AviationPlayer readiness. * * Returns true only after the resolved player has completed setup * successfully. It returns false after player disposal or setup failure. */ export function useAviationReady(playerArg?: AviationPlayer): boolean { const player = useAviationPlayer(playerArg); const store = player.store; return useSyncExternalStore( store.subscribeReady, () => store.isReady, () => false ); }