Files
web/apps/partner-sas/components/CookieBotConsent.tsx
Anton Gunnarsson c6aebbd0b2 Merged in feat/sw-3415-set-up-cookiebot-in-partner-sas (pull request #2784)
feat(SW-3415): Add CookieBotConsent to partner-sas

* Add CookieBotConsent


Approved-by: Joakim Jäderberg
2025-09-11 12:29:52 +00:00

45 lines
1.3 KiB
TypeScript

"use client"
import { useCallback, useEffect } from "react"
import { logger } from "@scandic-hotels/common/logger"
export default function CookieBotConsent() {
const CookiebotCallbackOnAccept = useCallback(() => {
if (window.Cookiebot?.changed && window.adobe) {
const cookie = window._satellite?.cookie?.get("CookieConsent")
if (cookie?.includes("statistics:true")) {
window.adobe.optIn.approve(window.adobe.OptInCategories.ANALYTICS, true)
} else {
window.adobe.optIn.deny(window.adobe.OptInCategories.ANALYTICS, true)
}
window.adobe.optIn.complete()
logger.warn("window.load event explicitly dispatched.")
window.dispatchEvent(new Event("load"))
}
}, [])
function CookebotCallbackOnDecline() {
if (window.Cookiebot?.changed && window.adobe) {
window.adobe.optIn.deny(window.adobe.OptInCategories.ANALYTICS, true)
}
}
useEffect(() => {
// handle consent
window.addEventListener("CookiebotOnAccept", CookiebotCallbackOnAccept)
window.addEventListener("CookiebotOnDecline", CookebotCallbackOnDecline)
return () => {
window.removeEventListener("CookiebotOnAccept", CookiebotCallbackOnAccept)
window.removeEventListener(
"CookiebotOnDecline",
CookebotCallbackOnDecline
)
}
}, [CookiebotCallbackOnAccept])
return null
}