Merge branch 'fe/screenSharePermission' into 'frontend'
feat: 강사만 화면 공유 할 수 있게 변경 See merge request s11-webmobile1-sub2/S11P12A701!48
This commit is contained in:
commit
7f3d00dda4
@ -15,17 +15,19 @@ import {
|
||||
useRoomInfo,
|
||||
useTracks,
|
||||
useParticipants,
|
||||
useLocalParticipant,
|
||||
} from '@livekit/components-react';
|
||||
import { RoomEvent, Track } from 'livekit-client';
|
||||
import { useEffect, useRef } from 'react';
|
||||
import { useEffect, useRef, useState } from 'react';
|
||||
import ChatRoom from '../ChatRoom/ChatRoom';
|
||||
|
||||
export default function LiveRoom() {
|
||||
const lastAutoFocusedScreenShareTrack = useRef(null);
|
||||
const [role, setRole] = useState(null);
|
||||
|
||||
// get livekit identity
|
||||
const room = useRoomInfo();
|
||||
const participants = useParticipants();
|
||||
const { localParticipant } = useLocalParticipant();
|
||||
|
||||
const tracks = useTracks(
|
||||
[
|
||||
@ -43,6 +45,16 @@ export default function LiveRoom() {
|
||||
const focusTrack = usePinnedTracks(layoutContext)?.[0];
|
||||
const carouselTracks = tracks.filter((track) => !isEqualTrackRef(track, focusTrack));
|
||||
|
||||
useEffect(() => {
|
||||
try {
|
||||
const role = JSON.parse(localParticipant.identity).role;
|
||||
|
||||
setRole(role);
|
||||
} catch (_) {
|
||||
return;
|
||||
}
|
||||
}, [localParticipant.identity]);
|
||||
|
||||
useEffect(() => {
|
||||
if (
|
||||
screenShareTracks.some((track) => track.publication.isSubscribed) &&
|
||||
@ -103,7 +115,7 @@ export default function LiveRoom() {
|
||||
</FocusLayoutContainer>
|
||||
</div>
|
||||
)}
|
||||
<ControlBar controls={{ chat: false, leave: false }} />
|
||||
<ControlBar controls={{ chat: false, leave: false, screenShare: role === '강사' }} />
|
||||
</div>
|
||||
<ChatRoom />
|
||||
</LayoutContextProvider>
|
||||
|
Loading…
Reference in New Issue
Block a user