12345678910111213141516171819202122 |
- 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;
- }
|