jitsi-roomsv2/frontend/src/components/meeting/Meeting.tsx

46 lines
1.3 KiB
TypeScript
Raw Normal View History

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;