diff --git a/react/features/prejoin/components/Prejoin.native.tsx b/react/features/prejoin/components/Prejoin.native.tsx index 0e2a56c69..22655a7bc 100644 --- a/react/features/prejoin/components/Prejoin.native.tsx +++ b/react/features/prejoin/components/Prejoin.native.tsx @@ -69,6 +69,8 @@ const Prejoin: React.FC = ({ navigation }: PrejoinProps) => { const participantName = localParticipant?.name; const [ displayName, setDisplayName ] = useState(participantName || ''); + const [ isJoining, setIsJoining ] + = useState(false); const onChangeDisplayName = useCallback(event => { const fieldValue = getFieldValue(event); @@ -79,6 +81,7 @@ const Prejoin: React.FC = ({ navigation }: PrejoinProps) => { }, [ displayName ]); const onJoin = useCallback(() => { + setIsJoining(true); dispatch(connect()); navigateRoot(screen.conference.root); }, [ dispatch ]); @@ -111,7 +114,7 @@ const Prejoin: React.FC = ({ navigation }: PrejoinProps) => { }, []); const { PRIMARY, SECONDARY } = BUTTON_TYPES; - const joinButtonDisabled = !displayName && isDisplayNameMandatory; + const joinButtonDisabled = isJoining || (!displayName && isDisplayNameMandatory); useEffect(() => { BackHandler.addEventListener('hardwareBackPress', goBack); @@ -180,6 +183,7 @@ const Prejoin: React.FC = ({ navigation }: PrejoinProps) => { type = { PRIMARY } />