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
This commit is contained in:
44
apps/partner-sas/components/CookieBotConsent.tsx
Normal file
44
apps/partner-sas/components/CookieBotConsent.tsx
Normal file
@@ -0,0 +1,44 @@
|
||||
"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
|
||||
}
|
||||
Reference in New Issue
Block a user