| Server IP : 172.67.201.108 / Your IP : 216.73.216.11 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/tgnewprod/js/ |
Upload File : |
// --- Cookie Helpers ---
function set_consent_cookie(consent) {
const value = encodeURIComponent(JSON.stringify(consent));
const expires = new Date();
expires.setMonth(expires.getMonth() + 6); // 6‑month validity
document.cookie =
`tracking_opt_in=${value}; expires=${expires.toUTCString()}; path=/; SameSite=Lax`;
}
function get_consent_cookie() {
const match = document.cookie.match(/(?:^|; )tracking_opt_in=([^;]*)/);
if (!match) return null;
try {
return JSON.parse(decodeURIComponent(match[1]));
} catch {
return null;
}
}
// --- UI Elements ---
const banner_el = document.getElementById("cookie-banner");
const modal_el = document.getElementById("cookie-modal");
const settings_btn = document.getElementById("cookie-settings-btn");
const analytics_toggle = document.getElementById("analytics-toggle");
const ads_toggle = document.getElementById("ads-toggle");
// --- Consent Application Stub ---
function apply_consent(consent) {
// This is where you'd enable/disable analytics, ads, etc.
console.log("Consent applied:", consent);
}
// --- Banner Logic ---
function show_banner_if_needed() {
const consent = get_consent_cookie();
if (!consent) {
banner_el.classList.remove("hidden");
} else {
settings_btn.classList.remove("hidden");
}
}
// Accept All
document.getElementById("cookie-accept").onclick = () => {
const consent = { analytics: true, ads: true };
set_consent_cookie(consent);
apply_consent(consent);
banner_el.classList.add("hidden");
settings_btn.classList.remove("hidden");
};
// Reject All
document.getElementById("cookie-reject").onclick = () => {
const consent = { analytics: false, ads: false };
set_consent_cookie(consent);
apply_consent(consent);
banner_el.classList.add("hidden");
settings_btn.classList.remove("hidden");
};
// Customize
document.getElementById("cookie-customize").onclick = () => {
modal_el.classList.remove("hidden");
};
// Modal Save
document.getElementById("modal-save").onclick = () => {
const consent = {
analytics: analytics_toggle.checked,
ads: ads_toggle.checked
};
set_consent_cookie(consent);
apply_consent(consent);
modal_el.classList.add("hidden");
banner_el.classList.add("hidden");
settings_btn.classList.remove("hidden");
};
// Modal Accept All
document.getElementById("modal-accept").onclick = () => {
const consent = { analytics: true, ads: true };
set_consent_cookie(consent);
apply_consent(consent);
modal_el.classList.add("hidden");
banner_el.classList.add("hidden");
settings_btn.classList.remove("hidden");
};
// Modal Reject All
document.getElementById("modal-reject").onclick = () => {
const consent = { analytics: false, ads: false };
set_consent_cookie(consent);
apply_consent(consent);
modal_el.classList.add("hidden");
banner_el.classList.add("hidden");
settings_btn.classList.remove("hidden");
};
// Reopen Preferences
settings_btn.onclick = () => {
const consent = get_consent_cookie();
if (consent) {
analytics_toggle.checked = consent.analytics;
ads_toggle.checked = consent.ads;
}
modal_el.classList.remove("hidden");
};
// --- Close Buttons ---
const banner_close_btn = document.getElementById("cookie-banner-close");
const modal_close_btn = document.getElementById("cookie-modal-close");
// Close banner WITHOUT giving consent (still compliant)
banner_close_btn.onclick = () => {
// Banner closes, but since no consent cookie is set,
// it will reappear on next page load.
banner_el.classList.add("hidden");
};
// Close modal WITHOUT saving changes
modal_close_btn.onclick = () => {
modal_el.classList.add("hidden");
};
show_banner_if_needed();