12345678910111213141516171819202122232425262728293031323334 |
- declare var interfaceConfig: Object;
-
- import {
- getPinnedParticipant,
- getLocalParticipant
- } from '../base/participants';
-
- /**
- * A selector for determining whether or not remote video thumbnails should be
- * displayed in the filmstrip.
- *
- * @param {Object} state - The full redux state.
- * @returns {boolean} - True if remote video thumbnails should be displayed.
- */
- export function shouldRemoteVideosBeVisible(state) {
- const participants = state['features/base/participants'];
-
- const shouldShowVideos
- = state['features/base/config'].disable1On1Mode
-
- || interfaceConfig.filmStripOnly
-
- // This is not a 1-on-1 call.
- || participants.length > 2
-
- // There is another participant and the local participant is pinned.
- || (participants.length > 1
- && getLocalParticipant(state) === getPinnedParticipant(state))
-
- // There is any non-person participant, like a shared video.
- || participants.find(participant => participant.isBot);
-
- return Boolean(shouldShowVideos);
- }
|