29 lines
1,005 B
TypeScript
29 lines
1,005 B
TypeScript
import { useState } from "react";
|
|
import { ConferenceData } from "../background/jitsi/eventListeners";
|
|
import { UserInfo } from "../components/jitsi/types";
|
|
|
|
function useConferenceData(
|
|
sendMessage: (message: string) => void,
|
|
setUserInfo: (newData: UserInfo) => void
|
|
) {
|
|
const [conferenceData, setConferenceDataLocal] = useState<ConferenceData>();
|
|
|
|
const setConferenceData = (newData: ConferenceData) => {
|
|
console.log("[Rooms] set conferenceData", conferenceData);
|
|
if (conferenceData?.roomName !== newData.roomName) {
|
|
// We joined a meeting
|
|
sendMessage(JSON.stringify({ roomName: newData.roomName }));
|
|
}
|
|
if (conferenceData?.displayName !== newData.displayName) {
|
|
// We updated the username
|
|
sendMessage(JSON.stringify({ displayName: newData.displayName }));
|
|
}
|
|
setConferenceDataLocal(newData);
|
|
setUserInfo({ displayName: newData.displayName, email: "" });
|
|
};
|
|
|
|
return { conferenceData, setConferenceData };
|
|
}
|
|
|
|
export default useConferenceData;
|