Add paginated calling grid for group calls

This commit is contained in:
trevor-signal 2023-11-13 09:56:48 -05:00 committed by GitHub
parent 9c3d404c82
commit cf5b3f78b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 1237 additions and 476 deletions

View file

@ -1,7 +1,7 @@
// Copyright 2021 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { useEffect } from 'react';
import { useEffect, useMemo } from 'react';
import type { AciString } from '../types/ServiceId';
import { usePrevious } from './usePrevious';
@ -12,6 +12,15 @@ type RemoteParticipant = {
aci?: AciString;
};
export function usePresenter(
remoteParticipants: ReadonlyArray<RemoteParticipant>
): AciString | undefined {
return useMemo(
() => remoteParticipants.find(participant => participant.presenting)?.aci,
[remoteParticipants]
);
}
export function useActivateSpeakerViewOnPresenting({
remoteParticipants,
switchToPresentationView,
@ -21,9 +30,7 @@ export function useActivateSpeakerViewOnPresenting({
switchToPresentationView: () => void;
switchFromPresentationView: () => void;
}): void {
const presenterAci = remoteParticipants.find(
participant => participant.presenting
)?.aci;
const presenterAci = usePresenter(remoteParticipants);
const prevPresenterAci = usePrevious(presenterAci, presenterAci);
useEffect(() => {