jitsi-roomsv2/frontend/src/hooks/useConferenceData.ts

29 lines
1 KiB
TypeScript
Raw Normal View History

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