Add screensharing behind a feature flag
This commit is contained in:
parent
7c7f7ee5a0
commit
ceffc2380c
49 changed files with 2044 additions and 164 deletions
29
ts/hooks/useActivateSpeakerViewOnPresenting.ts
Normal file
29
ts/hooks/useActivateSpeakerViewOnPresenting.ts
Normal file
|
@ -0,0 +1,29 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { useEffect } from 'react';
|
||||
import { usePrevious } from '../util/hooks';
|
||||
|
||||
type RemoteParticipant = {
|
||||
hasRemoteVideo: boolean;
|
||||
presenting: boolean;
|
||||
title: string;
|
||||
uuid?: string;
|
||||
};
|
||||
|
||||
export function useActivateSpeakerViewOnPresenting(
|
||||
remoteParticipants: ReadonlyArray<RemoteParticipant>,
|
||||
isInSpeakerView: boolean,
|
||||
toggleSpeakerView: () => void
|
||||
): void {
|
||||
const presenterUuid = remoteParticipants.find(
|
||||
participant => participant.presenting
|
||||
)?.uuid;
|
||||
const prevPresenterUuid = usePrevious(presenterUuid, presenterUuid);
|
||||
|
||||
useEffect(() => {
|
||||
if (prevPresenterUuid !== presenterUuid && !isInSpeakerView) {
|
||||
toggleSpeakerView();
|
||||
}
|
||||
}, [isInSpeakerView, presenterUuid, prevPresenterUuid, toggleSpeakerView]);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue