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

33 lines
929 B
TypeScript
Raw Normal View History

2023-04-10 23:28:28 +02:00
import { useState } from 'react'
import { USER_COOKIE_NAME } from '../background/constants'
import { getCookie, setCookie } from '../background/cookies'
import { UserInfo } from '../components/jitsi/types'
2023-02-07 20:31:07 +01:00
function useLocalUser() {
2023-04-10 23:28:28 +02:00
const [userInfo, setUserInfoLocal] = useState<UserInfo>(() => getUserInfoFromCookie())
2023-02-07 20:31:07 +01:00
const setUserInfo = (newData: UserInfo) => {
2023-04-10 23:28:28 +02:00
storeUserInfoInCookie(newData)
setUserInfoLocal(newData)
}
2023-02-07 20:31:07 +01:00
2023-04-10 23:28:28 +02:00
return { userInfo, setUserInfo }
2023-02-07 20:31:07 +01:00
}
function getUserInfoFromCookie(): UserInfo {
2023-04-10 23:28:28 +02:00
let cookie = getCookie(USER_COOKIE_NAME)
console.log('[Rooms] getUserNameFromCookie', cookie)
if (cookie) return JSON.parse(cookie)
2023-02-07 20:31:07 +01:00
return {
2023-04-10 23:28:28 +02:00
displayName: 'Unknown traveller',
email: '',
}
2023-02-07 20:31:07 +01:00
}
function storeUserInfoInCookie(userInfo: UserInfo) {
2023-04-10 23:28:28 +02:00
console.log('[Rooms] storeUserInfoInCookie', userInfo)
setCookie(USER_COOKIE_NAME, JSON.stringify(userInfo))
2023-02-07 20:31:07 +01:00
}
2023-04-10 23:28:28 +02:00
export default useLocalUser