2023-01-07 19:06:04 +01:00
|
|
|
import { useCallback, useState } from "react";
|
2023-02-07 20:31:07 +01:00
|
|
|
import { ConferenceData } from "../../background/jitsi/eventListeners";
|
2023-01-07 19:06:04 +01:00
|
|
|
import { useRoomName } from "../../hooks/useRoomName";
|
|
|
|
import JitsiEntrypoint from "../jitsi/JitsiEntrypoint";
|
2023-01-10 19:00:20 +01:00
|
|
|
import { UserInfo } from "../jitsi/types";
|
2023-01-07 19:06:04 +01:00
|
|
|
import MeetingNameInput from "./MeetingNameInput";
|
|
|
|
|
2023-02-07 20:31:07 +01:00
|
|
|
interface Props {
|
2023-02-12 15:28:53 +01:00
|
|
|
conferenceData: ConferenceData | undefined;
|
2023-02-07 20:31:07 +01:00
|
|
|
setConferenceData: (newData: ConferenceData) => void;
|
|
|
|
userInfo: UserInfo;
|
2023-04-07 16:21:15 +02:00
|
|
|
//@ts-ignore
|
|
|
|
roomName, updateRoomName, submitRoomName
|
|
|
|
meetingStarted: Boolean, setMeetingStarted: Function
|
2023-02-07 20:31:07 +01:00
|
|
|
}
|
|
|
|
|
2023-04-07 16:21:15 +02:00
|
|
|
function Meeting({ conferenceData, setConferenceData, userInfo, roomName, updateRoomName, submitRoomName, meetingStarted, setMeetingStarted }: Props) {
|
2023-01-07 19:06:04 +01:00
|
|
|
|
|
|
|
const startMeeting = useCallback(() => {
|
|
|
|
submitRoomName();
|
|
|
|
setMeetingStarted(true);
|
|
|
|
}, [submitRoomName, setMeetingStarted]);
|
|
|
|
|
|
|
|
if (meetingStarted) {
|
2023-02-07 20:31:07 +01:00
|
|
|
return (
|
|
|
|
<JitsiEntrypoint
|
2023-02-12 15:28:53 +01:00
|
|
|
conferenceData={conferenceData}
|
2023-02-07 20:31:07 +01:00
|
|
|
roomName={roomName}
|
|
|
|
userInfo={userInfo}
|
|
|
|
setConferenceData={setConferenceData}
|
|
|
|
/>
|
|
|
|
);
|
2023-01-07 19:06:04 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
return (
|
|
|
|
<MeetingNameInput
|
|
|
|
roomName={roomName}
|
|
|
|
setName={updateRoomName}
|
|
|
|
submit={startMeeting}
|
2023-01-10 19:00:20 +01:00
|
|
|
currentUser={userInfo.displayName}
|
2023-01-07 19:06:04 +01:00
|
|
|
/>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Meeting;
|