overleaf/services/web/frontend/js/shared/hooks/user-channel/use-receive-user.ts
Alf Eaton 23e2d9bf99 Close pop-up window and update UI after reference provider linking (#15106)
GitOrigin-RevId: 3c93491041170cd78c66bc0ab5db516749f9eded
2023-10-09 08:04:04 +00:00

16 lines
473 B
TypeScript

import { useEffect } from 'react'
import { useUserChannel } from './use-user-channel'
export const useReceiveUser = (
handleData: (data: Record<string, any>) => void
) => {
const channel = useUserChannel()
useEffect(() => {
const abortController = new AbortController()
channel?.addEventListener('message', ({ data }) => handleData(data), {
signal: abortController.signal,
})
return () => abortController.abort()
}, [channel, handleData])
}