From 4f84d222bcf081d7cf5f0a5ad6864a7ce57cf18a Mon Sep 17 00:00:00 2001 From: Antoine Caron Date: Thu, 13 Jun 2024 15:38:36 +0200 Subject: [PATCH] fix(cookie-consent): use conditional access to document --- .changeset/sharp-buckets-unite.md | 5 +++++ .../src/CookieConsentProvider/CookieConsentProvider.tsx | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/sharp-buckets-unite.md diff --git a/.changeset/sharp-buckets-unite.md b/.changeset/sharp-buckets-unite.md new file mode 100644 index 000000000..b4104afcb --- /dev/null +++ b/.changeset/sharp-buckets-unite.md @@ -0,0 +1,5 @@ +--- +"@scaleway/cookie-consent": patch +--- + +Cookie consent provider now work on client and server side diff --git a/packages/cookie-consent/src/CookieConsentProvider/CookieConsentProvider.tsx b/packages/cookie-consent/src/CookieConsentProvider/CookieConsentProvider.tsx index 04c6513f7..14eb724cf 100644 --- a/packages/cookie-consent/src/CookieConsentProvider/CookieConsentProvider.tsx +++ b/packages/cookie-consent/src/CookieConsentProvider/CookieConsentProvider.tsx @@ -17,6 +17,7 @@ import { useSegmentIntegrations } from './useSegmentIntegrations' const COOKIE_PREFIX = '_scw_rgpd' const HASH_COOKIE = `${COOKIE_PREFIX}_hash` +const IS_CLIENT = typeof document !== 'undefined' // Appx 13 Months const CONSENT_MAX_AGE = 13 * 30 * 24 * 60 * 60 @@ -72,7 +73,7 @@ export const CookieConsentProvider = ({ }>) => { const [needConsent, setNeedsConsent] = useState(false) const [cookies, setCookies] = useState>( - cookie.parse(document.cookie), + IS_CLIENT ? cookie.parse(document.cookie) : {}, ) const {