I am using new meeting sdk type app but somehow leave button doesnt work no matter how many times i click the button. I am passing leaveurl correctly as far as i can see. Here is my code:
import { useEffect } from 'react';
import { apiReq } from '../redux/methods/RequestMethods';
import { useRouter } from 'next/router';
import { authonticateAccess } from '../helpers/accessHelper';
import { SetMeetingLoader } from '../redux/actions/sessionAction';
import { useDispatch } from 'react-redux';
import Head from 'next/head';
//push
const Meeting = () => {
const router = useRouter();
const dispatch = useDispatch();
console.log(router.query)
const {meetingNumber, password, name, leaveUrl, endTime} = {meetingNumber:'86347673306', password:'clapingo', name:'learner',leaveUrl:'http://localhost:3000/'};
useEffect(()=>{
console.log("USE EFFECT", meetingNumber, password, name, leaveUrl)
const connToZoom = async () => {
await joinZoomMeeting(meetingNumber, password, name, leaveUrl, endTime);
SetMeetingLoader(false, dispatch);
};
if(window!== undefined){
if(window.fcWidget) window.fcWidget.hide();
}
if(meetingNumber && password && name && leaveUrl) {
console.log("mylog loading")
SetMeetingLoader(true, dispatch);
connToZoom();
}
},[]);
const joinZoomMeeting = async (meetingNumber, password, name, leaveUrl, endTime) => {
console.log("JOIN ZOOM MEET")
const apiKeyResponse = await apiReq(`${process.env.BASE_URL}/api/images`, "GET");
console.log(apiKeyResponse, "APIKEY")
const loadZoom = async () => {
const loadedZoom = await import('@zoomus/websdk');
return loadedZoom;
}
const loadedZoom = await loadZoom();
const ZoomMtg = window.ZoomMtg;
ZoomMtg.setZoomJSLib('https://source.zoom.us/2.11.0/lib', '/av');
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
const meetingConfig = {
sdkKey:"lAzXXLSJQyKbYI1xZwqQOw",
meetingNumber: meetingNumber,
userName: name? name : "learner",
passWord: password,
leaveUrl,
role: 0,
tk: '',
};
// console.log(meetingConfig)
const signatureCall = await apiReq("https://dev.clapingo.com/api/session/zoomSignature", "POST", {
meetingNumber: meetingNumber,
role: 0
});
const signature = signatureCall.data.signature
console.log(signature, "SIG")
console.log("leaveURL", meetingConfig.leaveUrl)
ZoomMtg.init({
leaveUrl: 'http://localhost:3000',
// isSupportAV: true,
success: () => {
console.log("SIGNATURE SUCCESS")
console.log({
signature: signature,
meetingNumber: meetingConfig.meetingNumber,
userName: meetingConfig.userName,
sdkKey: meetingConfig.sdkKey,
userEmail: '',
passWord: meetingConfig.passWord,
});
ZoomMtg.join({
signature: signature,
meetingNumber: meetingConfig.meetingNumber,
userName: meetingConfig.userName,
sdkKey: meetingConfig.sdkKey,
userEmail: '',
passWord: meetingConfig.passWord,
success: (success) => {
console.log(success);
},
error: (error) => {
console.log(error);
},
});
},
error: (error) => {
console.log("SIGNATURE ERROR")
console.log(error);
},
});
return loadedZoom;
}
return (
<>
<Head>
<title>Meeting</title>
<link
type="text/css"
rel="stylesheet"
href="https://source.zoom.us/2.11.0/css/bootstrap.css"
/>
<link
type="text/css"
rel="stylesheet"
href="https://source.zoom.us/2.11.0/css/react-select.css"
/>
</Head>
<div>Loading Meeting...</div>
</>
);
}
export default authonticateAccess(Meeting);