voicebot-react-native-expo
Version:
This is a voicebot-react-native package of Kipps AI voice bot for React Native Expo
23 lines (21 loc) • 773 B
text/typescript
import { connectionStateObserver } from '@livekit/components-core';
import type { Room } from 'livekit-client';
import * as React from 'react';
import { useEnsureRoom } from '../context';
import { useObservableState } from './internal';
/**
* The `useConnectionState` hook allows you to simply implement your own `ConnectionState` component.
*
* @example
* ```tsx
* const connectionState = useConnectionState(room);
* ```
* @public
*/
export function useConnectionState(room?: Room) {
// passed room takes precedence, if not supplied get current room context
const r = useEnsureRoom(room);
const observable = React.useMemo(() => connectionStateObserver(r), [r]);
const connectionState = useObservableState(observable, r.state);
return connectionState;
}