Focus in presentation mode
This commit is contained in:
parent
d5a1952dfb
commit
fe053a11f2
1 changed files with 26 additions and 1 deletions
27
src/Room.jsx
27
src/Room.jsx
|
@ -335,6 +335,31 @@ function InRoomView({
|
||||||
return participants;
|
return participants;
|
||||||
}, [userMediaFeeds, activeSpeaker, screenshareFeeds]);
|
}, [userMediaFeeds, activeSpeaker, screenshareFeeds]);
|
||||||
|
|
||||||
|
const onFocusTile = useCallback(
|
||||||
|
(tiles, focusedTile) => {
|
||||||
|
if (layout === "gallery") {
|
||||||
|
return tiles.map((tile) => {
|
||||||
|
if (tile === focusedTile) {
|
||||||
|
return { ...tile, presenter: !tile.presenter };
|
||||||
|
}
|
||||||
|
|
||||||
|
return tile;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
toggleLayout();
|
||||||
|
|
||||||
|
return tiles.map((tile) => {
|
||||||
|
if (tile === focusedTile) {
|
||||||
|
return { ...tile, presenter: true };
|
||||||
|
}
|
||||||
|
|
||||||
|
return { ...tile, presenter: false };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
[layout, toggleLayout]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Header>
|
<Header>
|
||||||
|
@ -355,7 +380,7 @@ function InRoomView({
|
||||||
<p>Waiting for other participants...</p>
|
<p>Waiting for other participants...</p>
|
||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<VideoGrid items={items} layout={layout} />
|
<VideoGrid items={items} layout={layout} onFocusTile={onFocusTile} />
|
||||||
)}
|
)}
|
||||||
<div className={styles.footer}>
|
<div className={styles.footer}>
|
||||||
<DropdownButton
|
<DropdownButton
|
||||||
|
|
Loading…
Add table
Reference in a new issue