jiti-meet/react/features/overlay/functions.ts

35 lines
958 B
TypeScript

import { IReduxState } from '../app/types';
import { getOverlays } from './overlays';
/**
* Returns the overlay to be currently rendered.
*
* @param {IReduxState} state - The Redux state.
* @returns {?React$ComponentType<*>}
*/
export function getOverlayToRender(state: IReduxState) {
for (const overlay of getOverlays()) {
// react-i18n / react-redux wrap components and thus we cannot access
// the wrapped component's static methods directly.
// @ts-ignore
const component = overlay.WrappedComponent || overlay;
if (component.needsRender(state)) {
return overlay;
}
}
return undefined;
}
/**
* Returns the visibility of the media permissions prompt.
*
* @param {IReduxState} state - The Redux state.
* @returns {boolean}
*/
export function getMediaPermissionPromptVisibility(state: IReduxState) {
return state['features/overlay'].isMediaPermissionPromptVisible;
}