All checks were successful
continuous-integration/drone/push Build is passing
29 lines
1 KiB
TypeScript
29 lines
1 KiB
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
|