import React, { useEffect } from 'react'; import { GridLayout, useTracks, Chat, CarouselLayout, usePinnedTracks, useLayoutContext, } from '@livekit/components-react'; import { isEqualTrackRef } from '@livekit/components-core'; import { Track, Room } from 'livekit-client'; import { CustomControlBar } from '@/app/custom/CustomControlBar'; import ParticipantList from '@/app/custom/ParticipantList'; import { ParticipantTile } from '@/lib/ParticipantTile'; import { SettingsMenu } from '@/lib/SettingsMenu'; import { useCustomLayoutContext } from '@/app/contexts/layout-context'; import '@/styles/Chat.css'; import { FocusLayout, FocusLayoutContainer } from './FocusLayout'; interface CustomVideoLayoutProps { room: Room; roomName: string; } export const CustomVideoLayout: React.FC = ({ room, roomName }) => { const { isChatOpen, isParticipantsListOpen } = useCustomLayoutContext(); const layoutContext = useLayoutContext(); const tracks = useTracks( [ { source: Track.Source.Camera, withPlaceholder: true }, { source: Track.Source.ScreenShare, withPlaceholder: false }, ], { onlySubscribed: false }, ); const focusTrack = usePinnedTracks()[0]; const test = usePinnedTracks(); useEffect(() => { console.log({ test }); }, [test]); return (
{!focusTrack ? ( ) : ( {focusTrack && }{' '} )} {' '}
{isParticipantsListOpen.state && } {isChatOpen.state && }
); }; export default CustomVideoLayout;