diff --git a/app/app.vue b/app/app.vue index f9cc8e1..49c748e 100644 --- a/app/app.vue +++ b/app/app.vue @@ -5,12 +5,27 @@ diff --git a/app/composables/useCookieConsent.ts b/app/composables/useCookieConsent.ts index 726652a..a094313 100644 --- a/app/composables/useCookieConsent.ts +++ b/app/composables/useCookieConsent.ts @@ -14,6 +14,7 @@ type CookieConsentValue = { const CONSENT_COOKIE_NAME = 'osq-cookie-consent'; const CONSENT_VERSION = 1; const SIX_MONTHS_IN_SECONDS = 60 * 60 * 24 * 180; +export const HOTJAR_LOCAL_STORAGE_KEY = 'osq-hotjar-consent'; export const useCookieConsent = () => { const consentCookie = useCookie(CONSENT_COOKIE_NAME, { @@ -37,6 +38,24 @@ export const useCookieConsent = () => { { deep: true } ); + if (process.client) { + watch( + consentState, + (value) => { + if (!value) { + window.localStorage.removeItem(HOTJAR_LOCAL_STORAGE_KEY); + return; + } + + window.localStorage.setItem( + HOTJAR_LOCAL_STORAGE_KEY, + value.preferences.analytics ? 'granted' : 'denied' + ); + }, + { deep: true } + ); + } + const hasConsent = computed(() => consentState.value !== null); const analyticsEnabled = computed(() => {