import { useUserDisplayName } from '@rocket.chat/ui-client'; import { useRoute, useSetModal, useUser } from '@rocket.chat/ui-contexts'; import { useEffect } from 'react'; import ConferencePageError from './ConferencePageError'; import { useVideoConfOpenCall } from '../room/contextualBar/VideoConference/hooks/useVideoConfOpenCall'; import PageLoading from '../root/PageLoading'; const getQueryParams = () => { const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const callUrlParam = urlParams.get('callUrl'); return { callUrlParam }; }; const ConferencePage = () => { const user = useUser(); const defaultRoute = useRoute('home'); const setModal = useSetModal(); const handleOpenCall = useVideoConfOpenCall(); const userDisplayName = useUserDisplayName({ name: user?.name, username: user?.username }); const { callUrlParam } = getQueryParams(); const callUrl = callUrlParam && userDisplayName ? `${callUrlParam}&name=${userDisplayName}` : callUrlParam; useEffect(() => { if (!callUrl) { return; } handleOpenCall(callUrl); defaultRoute.push(); }, [setModal, defaultRoute, callUrl, handleOpenCall, userDisplayName]); if (!callUrl) { return ; } return ; }; export default ConferencePage;