PageSourceSearch

https://newcross.org.uk/wp-content/cache/min/1/wp-content/themes/n…/inc/js/cookie-consent.js?ver=1790235948

js newcross.org.uk collected 2026-09-25 13:54:53 UTC 3,912 bytes, 15 lines download raw bytes

1document.addEventListener('DOMContentLoaded',function(){var wrapper=document.getElementById('cookie-consent-wrapper');var toggleEls=document.querySelectorAll('.cookie-switch');var categories=['analytics','marketing','functional','performance'];var savedConsent={};try{savedConsent=JSON.parse(localStorage.getItem('duckiee_cookie_consent')||'{}')||{}}catch(e){savedConsent={}}
2function loadDeferredScripts(category){var scripts=document.querySelectorAll('script[type="text/plain"][data-cookiecategory="'+category+'"]:not([data-cookie-loaded="true"])');scripts.forEach(function(el){var s=document.createElement('script');if(el.dataset.src){s.src=el.dataset.src;s.async=!0}else{s.text=el.textContent}
3if(el.id)s.id=el.id;s.setAttribute('data-cookie-loaded','true');el.setAttribute('data-cookie-loaded','true');el.parentNode.replaceChild(s,el)})}
4function applySavedState(){toggleEls.forEach(function(el){var category=el.dataset.category;var input=document.getElementById('cookie-switch-'+category+'-input');var isLocked=el.classList.contains('locked');var isChecked=isLocked?!0:(!savedConsent._submitted||!!savedConsent[category]);el.classList.toggle('checked',isChecked);el.setAttribute('aria-checked',isChecked?'true':'false');if(input)input.checked=isChecked})}
5function saveConsent(prefs){var data={analytics:!!prefs.analytics,marketing:!!prefs.marketing,functional:!0,performance:!!prefs.performance,_submitted:!0};localStorage.setItem('duckiee_cookie_consent',JSON.stringify(data));savedConsent=data;categories.forEach(function(cat){if(savedConsent[cat])loadDeferredScripts(cat)});applySavedState();if(wrapper)wrapper.style.display='none'}
6function toggleSwitch(el){if(el.classList.contains('locked'))return;var category=el.dataset.category;
6var input=document.getElementById('cookie-switch-'+category+'-input');var isChecked=!el.classList.contains('checked');el.classList.toggle('checked',isChecked);el.setAttribute('aria-checked',isChecked?'true':'false');if(input)input.checked=isChecked}
7if(savedConsent._submitted){categories.forEach(function(cat){if(savedConsent[cat])loadDeferredScripts(cat)})}
8toggleEls.forEach(function(el){el.addEventListener('click',function(){toggleSwitch(el)});el.addEventListener('keydown',function(e){if(e.key===' '||e.key==='Enter'){e.preventDefault();toggleSwitch(el)}})});applySavedState();if(wrapper){wrapper.style.display=savedConsent._submitted?'none':'block'}
9var openBtn=document.getElementById('open-cookie-settings');var allowAll=document.getElementById('cookie-allow-all');var declineAll=document.getElementById('cookie-decline-all');var customize=document.getElementById('cookie-customize');var backBtn=document.getElementById('cookie-back');var saveBtn=document.getElementById('cookie-save');var initialPanel=document.getElementById('cookie-initial-panel');var prefsPanel=document.getElementById('cookie-preferences-panel');if(openBtn&&wrapper){openBtn.addEventListener('click',function(e){e.preventDefault();wrapper.style.display='block';if(initialPanel)initialPanel.style.display='block';if(prefsPanel)prefsPanel.style.display='none'})}
10if(allowAll){allowAll.addEventListener('click',function(){saveConsent({analytics:!0,marketing:!0,performance:!0})})}
11if(declineAll){declineAll.addEventListener('click',function(){saveConsent({analytics:!1,marketing:!1,performance:!1})})}
12if(customize){customize.addEventListener('click',function(){if(initialPanel)initialPanel.style.display='none';if(prefsPanel)prefsPanel.style.display='block'})}
13if(backBtn){backBtn.addEventListener('click',function(){if(initialPanel)initialPanel.style.display='block';if(prefsPanel)prefsPanel.style.display='none'})}
14if(saveBtn){saveBtn.addEventListener('click',function(){var prefs={};toggleEls.forEach(function(el){prefs[el.dataset.category]=el.classList.contains('checked')});saveConsent(prefs)})}
15window.duckieeCookie={saveConsent:saveConsent,loadDeferredScripts:loadDeferredScripts}})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.