2023-04-10 23:28:28 +02:00
|
|
|
import { useState } from 'react'
|
|
|
|
import { ConferenceData } from '../background/jitsi/eventListeners'
|
|
|
|
import { UserInfo } from '../components/jitsi/types'
|
2023-02-07 20:31:07 +01:00
|
|
|
|
|
|
|
function useConferenceData(
|
2023-04-10 23:28:28 +02:00
|
|
|
sendMessage: (message: string) => void,
|
|
|
|
setUserInfo: (newData: UserInfo) => void
|
2023-02-07 20:31:07 +01:00
|
|
|
) {
|
2023-04-10 23:28:28 +02:00
|
|
|
const [conferenceData, setConferenceDataLocal] = useState<ConferenceData>()
|
2023-02-07 20:31:07 +01:00
|
|
|
|
2023-04-10 23:28:28 +02:00
|
|
|
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: '' })
|
2023-04-01 17:46:33 +02:00
|
|
|
}
|
2023-02-07 20:31:07 +01:00
|
|
|
|
2023-04-10 23:28:28 +02:00
|
|
|
return { conferenceData, setConferenceData }
|
2023-02-07 20:31:07 +01:00
|
|
|
}
|
|
|
|
|
2023-04-10 23:28:28 +02:00
|
|
|
export default useConferenceData
|