diff --git a/packages/cookie-banner/src/consent.ts b/packages/cookie-banner/src/consent.ts index 2b9e4bcbd..9e7b75849 100644 --- a/packages/cookie-banner/src/consent.ts +++ b/packages/cookie-banner/src/consent.ts @@ -87,11 +87,15 @@ export class ConsentManager { } } -let instance: ConsentManager | null = null; +const GLOBAL_KEY = "__proboConsentManager"; export function getConsent(): ConsentManager { - if (!instance) { - instance = new ConsentManager(); + const g = typeof globalThis !== "undefined" + ? (globalThis as unknown as Record) + : (window as unknown as Record); + + if (!g[GLOBAL_KEY]) { + g[GLOBAL_KEY] = new ConsentManager(); } - return instance; + return g[GLOBAL_KEY] as ConsentManager; }