import React, { useEffect } from 'react'; import { GridLayout, useTracks, Chat, CarouselLayout, usePinnedTracks, useLayoutContext, } from '@livekit/components-react'; import { Track } 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'; export const CustomVideoLayout: React.FC = () => { 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]; return (