@@ -45,6 +45,8 @@ import {
4545 waitingRoomHostNotJoined ,
4646 waitingRoomUsersInCall ,
4747} from '../../language/default-labels/videoCallScreenLabels' ;
48+ import SDKEvents from '../../utils/SdkEvents' ;
49+ import isSDK from '../../utils/isSDK' ;
4850
4951const audio = new Audio (
5052 'https://dl.dropboxusercontent.com/s/1cdwpm3gca9mlo0/kick.mp3' ,
@@ -69,7 +71,7 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
6971 const waitingRoomUsersInCallText = useString ( waitingRoomUsersInCall ) ;
7072 let pollingTimeout = React . useRef ( null ) ;
7173 const { rtcProps} = useContext ( PropsContext ) ;
72- const { setCallActive, callActive} = usePreCall ( ) ;
74+ const { setCallActive, callActive, setIsNameIsEmpty } = usePreCall ( ) ;
7375 const username = useGetName ( ) ;
7476 const setUsername = useSetName ( ) ;
7577 const { isJoinDataFetched, isInWaitingRoom} = useRoomInfo ( ) ;
@@ -150,6 +152,10 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
150152 } ) ;
151153
152154 if ( approved ) {
155+ if ( isSDK ( ) ) {
156+ //emit SDKEvent waiting-room-approval-granted
157+ SDKEvents . emit ( 'waiting-room-approval-granted' ) ;
158+ }
153159 setRoomInfo ( prev => {
154160 return {
155161 ...prev ,
@@ -189,6 +195,10 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
189195 } ;
190196 } ) ;
191197 } else {
198+ if ( isSDK ( ) ) {
199+ //emit SDKEvent waiting-room-approval-rejected
200+ SDKEvents . emit ( 'waiting-room-approval-rejected' ) ;
201+ }
192202 setRoomInfo ( prev => {
193203 return {
194204 ...prev ,
@@ -236,6 +246,11 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
236246 } ;
237247
238248 const onSubmit = ( ) => {
249+ if ( ! username || ( username && username ?. trim ( ) === '' ) ) {
250+ setIsNameIsEmpty ( true ) ;
251+ return ;
252+ }
253+ setIsNameIsEmpty ( false ) ;
239254 shouldWaitingRoomPoll = true ;
240255 setUsername ( username . trim ( ) ) ;
241256 //setCallActive(true);
@@ -252,7 +267,10 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
252267
253268 // join request API to server, server will send RTM message to all hosts regarding request from this user,
254269 requestServerToJoinRoom ( ) ;
255-
270+ if ( isSDK ( ) ) {
271+ //emit SDKEvent waiting for approval
272+ SDKEvents . emit ( 'waiting-room-approval-requested' ) ;
273+ }
256274 // Play a sound to avoid autoblocking in safari
257275 if ( isWebInternal ( ) || isMobileOrTablet ( ) ) {
258276 audio . volume = 0 ;
@@ -281,8 +299,8 @@ const JoinWaitingRoomBtn = (props: PreCallJoinWaitingRoomBtnProps) => {
281299 const title = buttonText ;
282300 const onPress = ( ) => onSubmit ( ) ;
283301 const disabled = $config . ENABLE_WAITING_ROOM_AUTO_REQUEST
284- ? ! hasHostJoined || isInWaitingRoom || username ?. trim ( ) === ''
285- : isInWaitingRoom || username ?. trim ( ) === '' ;
302+ ? ! hasHostJoined || isInWaitingRoom
303+ : isInWaitingRoom ;
286304 return props ?. render ? (
287305 props . render ( onPress , title , disabled )
288306 ) : (
0 commit comments