From 7e3b8da4805266267866fc566daccd600292efd8 Mon Sep 17 00:00:00 2001 From: David <33458145+davidmcpowell@users.noreply.github.com> Date: Mon, 30 Mar 2026 10:22:53 +0100 Subject: [PATCH] Merge pull request #32409 from overleaf/dp-update-reference-integrations-when-linked Use BroadcastChannel to keep ref provider linked state up to date GitOrigin-RevId: eea7a99daf261166b11bfad1bb50f1989040d959 --- .../hooks/user-channel/use-ref-providers.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 services/web/frontend/js/shared/hooks/user-channel/use-ref-providers.ts diff --git a/services/web/frontend/js/shared/hooks/user-channel/use-ref-providers.ts b/services/web/frontend/js/shared/hooks/user-channel/use-ref-providers.ts new file mode 100644 index 0000000000..31450cbad7 --- /dev/null +++ b/services/web/frontend/js/shared/hooks/user-channel/use-ref-providers.ts @@ -0,0 +1,19 @@ +import { useCallback, useState } from 'react' +import { useUserContext } from '@/shared/context/user-context' +import { useReceiveUser } from './use-receive-user' +import { User } from '../../../../../types/user' + +export const useRefProviders = (): User['refProviders'] => { + const user = useUserContext() + const [refProviders, setRefProviders] = useState(user.refProviders) + + useReceiveUser( + useCallback(data => { + if (data?.refProviders) { + setRefProviders(data.refProviders) + } + }, []) + ) + + return refProviders +}