Some checks failed
Close stale issues and PRs / stale (push) Has been cancelled
23 lines
1.0 KiB
TypeScript
23 lines
1.0 KiB
TypeScript
import { IReduxState } from '../../app/types';
|
|
import { getCurrentConference } from '../../base/conference/functions';
|
|
import { isAnyDialogOpen } from '../../base/dialog/functions';
|
|
import { FULLSCREEN_ENABLED } from '../../base/flags/constants';
|
|
import { getFeatureFlag } from '../../base/flags/functions';
|
|
import { isLocalVideoTrackDesktop } from '../../base/tracks/functions.any';
|
|
|
|
/**
|
|
* Checks whether full-screen state should be used or not.
|
|
*
|
|
* @param {IReduxState} state - The redux state.
|
|
* @returns {boolean} - Whether full-screen state should be used or not.
|
|
*/
|
|
export function shouldUseFullScreen(state: IReduxState) {
|
|
const { enabled: audioOnly } = state['features/base/audio-only'];
|
|
const conference = getCurrentConference(state);
|
|
const dialogOpen = isAnyDialogOpen(state);
|
|
const fullscreenEnabled = getFeatureFlag(state, FULLSCREEN_ENABLED, true);
|
|
const isDesktopSharing = isLocalVideoTrackDesktop(state);
|
|
|
|
return conference ? !audioOnly && !dialogOpen && !isDesktopSharing && fullscreenEnabled : false;
|
|
}
|