(feat): add call popout
Some checks failed
/ build-desktop (linux) (push) Failing after 1m22s
/ build-web (push) Failing after 1m28s
/ build-mobile (push) Failing after 4m10s
/ release (push) Has been skipped

This commit is contained in:
Alois 2026-06-08 11:12:44 +02:00
commit 4f82b9c85b
6 changed files with 497 additions and 4 deletions

View file

@ -109,6 +109,7 @@ type CallStore = {
layoutVersion: number;
screenRef: React.RefObject<HTMLDivElement | null> | null;
runtime: Runtime | null;
lastFocusedParticipantId: number | null;
};
let _keyProvider: ExternalE2EEKeyProvider | null = null;
@ -695,6 +696,7 @@ export function focusParticipant(
) {
useCall.setState({
focusedParticipantId: participantId,
lastFocusedParticipantId: participantId,
focusedParticipantType: type,
view: "focused",
});
@ -855,6 +857,7 @@ export async function disconnect() {
watchedStreamParticipantIds: [],
pendingWatchedParticipantIds: [],
activeScreenShareParticipantIds: [],
lastFocusedParticipantId: null,
});
getRoom().remoteParticipants.forEach((participant) => {
@ -1016,6 +1019,7 @@ export function resetCallState() {
watchedStreamParticipantIds: [],
pendingWatchedParticipantIds: [],
activeScreenShareParticipantIds: [],
lastFocusedParticipantId: null,
});
syncParticipantState();
@ -1076,6 +1080,7 @@ export const useCall = create<CallStore>(() => ({
layoutVersion: 0,
screenRef: null,
runtime: null,
lastFocusedParticipantId: null,
}));
// Register app-level call listeners and wire React dependencies into the store.