{"version":3,"file":"./cookie-prefs.bundle.mjs","mappings":"AACAA,OAAOC,iBAAmBA,EAC1B,MACMC,EAAQC,KAAKC,MAuBnB,SAASC,IACL,MAAMC,EAAiBH,KAAKC,MAAQ,QAC9BG,EAAU,IAAIJ,KAAKG,GAAgBE,cACzCC,SAASC,OAAS,kEAAkEH,GACxF,CACA,SAASI,IACL,OAAOF,SAASC,OAAOE,SAAS,0BACpC,CACA,SAASX,IACL,MAAMY,EAAeJ,SAASK,eAAe,iBAC7CD,EAAaE,UAAUC,OAAO,UAC9BH,EAAaI,MAAMC,QAAU,GAC7B,MAAMC,EAAuBV,SAASW,cAAc,oBAC9CC,EAAoBZ,SAASW,cAAc,iBAC3CE,EAAmBb,SAASW,cAAc,gBAC1CG,EAAgBd,SAASK,eAAe,yBAC9CO,EAAkBG,iBAAiB,SAAS,WACxCC,IACAZ,EAAaE,UAAUW,IAAI,UAC3BH,EAAcI,OAClB,IACAL,EAAiBE,iBAAiB,SAAS,WACvCI,IACAf,EAAaE,UAAUW,IAAI,UAC3BH,EAAcI,OAClB,IACAR,EAAqBK,iBAAiB,SAAS,YA0CnD,WACI,MAAMD,EAAgBd,SAASK,eAAe,yBAC9CS,EAAcM,YACKN,EAAcH,cAAc,gBACpCU,QACXC,KAAKC,KAAK,CACN,WAC4BvB,SAASK,eAAe,oBAChCmB,QACZxB,SAASC,OAAOE,SAAS,uBAAyBH,SAASC,OAAOE,SAAS,cACnF,GAER,CArDQsB,EACJ,IACAX,EAAcC,iBAAiB,SAAS,SAAUW,GAC1CA,EAAMC,SAAWC,MACjBA,KAAKV,OAEb,IACAJ,EAAcH,cAAc,QAAQI,iBAAiB,UAAU,SAAUW,GACrEA,EAAMG,iBACNf,EAAcI,QACVhB,KACAE,EAAaE,UAAUW,IAAI,SAEnC,IACAH,EAAcH,cAAc,qBAAqBI,iBAAiB,UAAU,SAAUW,GAC9EA,EAAMC,OAAOH,QACbR,IAGAG,GAER,IACA,MAAMW,EAAQ,CAAC,UAAW,WAAY,aACtC,IAAK,MAAMC,KAAQD,EACU9B,SAASK,eAAe,GAAG0B,eACnChB,iBAAiB,SAAS,WACvCiB,IACgBhC,SAASK,eAAe,GAAG0B,uBACnCzB,UAAU2B,OAAO,SAC7B,GAER,CACA,SAASjB,IACLM,KAAKC,KAAK,CAAC,+BACX3B,GACJ,CACA,SAASuB,IACLG,KAAKC,KAAK,CAAC,6BACX3B,GACJ,CAeA,SAASsC,IACL,MAAMC,EAAO,CAAC,EAOd,OANAnC,SAASC,OAAOmC,MAAM,KAAKC,KAAKpC,IAC5B,IAAKqC,EAAKC,GAAStC,EAAOmC,MAAM,KAChCE,EAAMA,EAAIE,OACVD,EAAQA,EAAMC,OACdL,EAAKG,GAAOC,CAAK,IAEdJ,CACX,CACA,SAASH,IACL,MAAMS,EAA4BzC,SAASK,eAAe,+BACpDqC,EAA6B1C,SAASK,eAAe,gCACrDsC,EAA8B3C,SAASK,eAAe,iCAC5DoC,EAA0BG,UAAY,gDAAgDV,IAAa,uBACnGQ,EAA2BE,UAAY,iDAAiDV,IAAa,wBACrG,IAAIW,EAAa,GACjB,IAAK,MAAOP,EAAKC,KAAUO,OAAOC,QAAQb,MAClCI,EAAIU,WAAW,SAAWV,EAAIU,WAAW,YAAcV,EAAIU,WAAW,WACtEH,GAAc,eAAeP,oBAAsBC,OAEvDI,EAA4BC,UAAYC,CAEhD,EA9HA,SAAUI,IACFvD,KAAKC,MAAQF,EAAQ,IACrByD,QAAQC,IAAI,sCAGLnD,SAASK,eAAe,iBAK/BH,KAAuE,cAA/BF,SAASoD,SAASC,UAG9D/B,KAAKC,KAAK,CACN,WACQK,KAAK0B,wBAGT9D,GACJ,IAZA+D,WAAWN,EAAM,IAcxB,CArBD","sources":["webpack://podwriter-web-app-js/./src/cookie-prefs.ts"],"sourcesContent":["// https://developer.matomo.org/guides/tracking-consent\nwindow.showCookieBanner = showCookieBanner;\nconst DEBUG = false;\nconst start = Date.now();\n(function init() {\n if (Date.now() - start > 5000) {\n console.log(\"Cookie banner not found, giving up\");\n return;\n }\n const el = document.getElementById(\"cookie-banner\");\n if (!el) {\n setTimeout(init, 500);\n return;\n }\n if (hasCookieBannerBeenUsed() || (!DEBUG && document.location.hostname === \"localhost\")) {\n return;\n }\n _paq.push([\n function () {\n if (this.hasRememberedConsent()) {\n return;\n }\n showCookieBanner();\n },\n ]);\n})();\nfunction storeCookieBannerUsed() {\n const oneYearFromNow = Date.now() + 31536000000;\n const expires = new Date(oneYearFromNow).toUTCString();\n document.cookie = `cookie_banner_used=true; domain=.podwriter.io; path=/; expires=${expires}`;\n}\nfunction hasCookieBannerBeenUsed() {\n return document.cookie.includes(\"cookie_banner_used=true\");\n}\nfunction showCookieBanner() {\n const cookieBanner = document.getElementById(\"cookie-banner\");\n cookieBanner.classList.remove(\"hidden\");\n cookieBanner.style.display = \"\";\n const cookieSettingsButton = document.querySelector(\".cookie-settings\");\n const cookieAllowButton = document.querySelector(\".cookie-allow\");\n const cookieDenyButton = document.querySelector(\".cookie-deny\");\n const settingsModal = document.getElementById(\"cookie-settings-modal\");\n cookieAllowButton.addEventListener(\"click\", function () {\n allowMatomoCookies();\n cookieBanner.classList.add(\"hidden\");\n settingsModal.close();\n });\n cookieDenyButton.addEventListener(\"click\", function () {\n denyMatomoCookies();\n cookieBanner.classList.add(\"hidden\");\n settingsModal.close();\n });\n cookieSettingsButton.addEventListener(\"click\", function () {\n openCookieSettings();\n });\n settingsModal.addEventListener(\"click\", function (event) {\n if (event.target === this) {\n this.close();\n }\n });\n settingsModal.querySelector(\"form\").addEventListener(\"submit\", function (event) {\n event.preventDefault();\n settingsModal.close();\n if (hasCookieBannerBeenUsed()) {\n cookieBanner.classList.add(\"hidden\");\n }\n });\n settingsModal.querySelector(\"#analytics-toggle\").addEventListener(\"change\", function (event) {\n if (event.target.checked) {\n allowMatomoCookies();\n }\n else {\n denyMatomoCookies();\n }\n });\n const items = [\"session\", \"language\", \"analytics\"];\n for (const item of items) {\n const sessionExplainer = document.getElementById(`${item}-explainer`);\n sessionExplainer.addEventListener(\"click\", function () {\n populateCookieInformation();\n const details = document.getElementById(`${item}-explainer-details`);\n details.classList.toggle(\"hidden\");\n });\n }\n}\nfunction allowMatomoCookies() {\n _paq.push([\"rememberCookieConsentGiven\"]);\n storeCookieBannerUsed();\n}\nfunction denyMatomoCookies() {\n _paq.push([\"forgetCookieConsentGiven\"]);\n storeCookieBannerUsed();\n}\n// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nfunction openCookieSettings() {\n const settingsModal = document.getElementById(\"cookie-settings-modal\");\n settingsModal.showModal();\n const saveButton = settingsModal.querySelector(\".save-button\");\n saveButton.focus();\n _paq.push([\n function () {\n const analyticsToggle = document.getElementById(\"analytics-toggle\");\n analyticsToggle.checked =\n document.cookie.includes(\"mtm_cookie_consent\") || document.cookie.includes(\"mtm_consent\");\n },\n ]);\n}\nfunction cookieData() {\n const data = {};\n document.cookie.split(\";\").map((cookie) => {\n let [key, value] = cookie.split(\"=\");\n key = key.trim();\n value = value.trim();\n data[key] = value;\n });\n return data;\n}\nfunction populateCookieInformation() {\n const sessionStorageInformation = document.getElementById(\"session-storage-information\");\n const languageStorageInformation = document.getElementById(\"language-storage-information\");\n const analyticsStorageInformation = document.getElementById(\"analytics-storage-information\");\n sessionStorageInformation.innerText = `Cookie key: podwriter:session\\nCookie value: ${cookieData()[\"podwriter:session\"]}`;\n languageStorageInformation.innerText = `Cookie key: podwriter:language\\nCookie value: ${cookieData()[\"podwriter:language\"]}`;\n let matomoInfo = \"\";\n for (const [key, value] of Object.entries(cookieData())) {\n if (key.startsWith(\"_pk_\") || key.startsWith(\"matomo_\") || key.startsWith(\"mtm_\")) {\n matomoInfo += `Cookie key: ${key}\\nCookie value: ${value}\\n`;\n }\n analyticsStorageInformation.innerText = matomoInfo;\n }\n}\n"],"names":["window","showCookieBanner","start","Date","now","storeCookieBannerUsed","oneYearFromNow","expires","toUTCString","document","cookie","hasCookieBannerBeenUsed","includes","cookieBanner","getElementById","classList","remove","style","display","cookieSettingsButton","querySelector","cookieAllowButton","cookieDenyButton","settingsModal","addEventListener","allowMatomoCookies","add","close","denyMatomoCookies","showModal","focus","_paq","push","checked","openCookieSettings","event","target","this","preventDefault","items","item","populateCookieInformation","toggle","cookieData","data","split","map","key","value","trim","sessionStorageInformation","languageStorageInformation","analyticsStorageInformation","innerText","matomoInfo","Object","entries","startsWith","init","console","log","location","hostname","hasRememberedConsent","setTimeout"],"sourceRoot":""}