From 0fcb3ce455224b176e93a7759024b2e75d2b1849 Mon Sep 17 00:00:00 2001 From: Kimberlee Johnson Date: Tue, 4 Jan 2022 15:38:49 -0800 Subject: [PATCH] Memoized Haircheck.js waiting message --- .../shared/components/HairCheck/HairCheck.js | 78 +++++++++++-------- 1 file changed, 44 insertions(+), 34 deletions(-) diff --git a/custom/shared/components/HairCheck/HairCheck.js b/custom/shared/components/HairCheck/HairCheck.js index 0b1fa0f..fbb65aa 100644 --- a/custom/shared/components/HairCheck/HairCheck.js +++ b/custom/shared/components/HairCheck/HairCheck.js @@ -32,8 +32,13 @@ import { useDeepCompareMemo } from 'use-deep-compare'; export const HairCheck = () => { const { callObject, join } = useCallState(); const { localParticipant } = useParticipants(); - const { deviceState, camError, micError, isCamMuted, isMicMuted } = - useMediaDevices(); + const { + deviceState, + camError, + micError, + isCamMuted, + isMicMuted, + } = useMediaDevices(); const { openModal } = useUIState(); const [waiting, setWaiting] = useState(false); const [joining, setJoining] = useState(false); @@ -95,10 +100,9 @@ export const HairCheck = () => { [localParticipant] ); - const isLoading = useMemo( - () => deviceState === DEVICE_STATE_LOADING, - [deviceState] - ); + const isLoading = useMemo(() => deviceState === DEVICE_STATE_LOADING, [ + deviceState, + ]); const hasError = useMemo(() => { if ( @@ -127,6 +131,39 @@ export const HairCheck = () => { } }, [camError]); + const showWaitingMessage = useMemo(() => { + return ( +
+ + {denied ? ( + Call owner denied request + ) : ( + Waiting for host to grant access + )} +
+ ); + }, [denied]); + + const showUsernameInput = useMemo(() => { + return ( + <> + setUserName(e.target.value)} + /> + + + ); + }, [userName, joinCall, joining, setUserName]); + return ( <>
@@ -174,34 +211,7 @@ export const HairCheck = () => { {tileMemo} -
- {waiting ? ( -
- - {denied ? ( - Call owner denied request - ) : ( - Waiting for host to grant access - )} -
- ) : ( - <> - setUserName(e.target.value)} - /> - - - )} -
+
{waiting ? showWaitingMessage : showUsernameInput}