(function () { const TARGET_DOMAIN = "social-seed.io"; const SESSION_KEY = "savedParams"; function getUrlParameters() { return window.location.search ? window.location.search.substring(1) : ""; } function appendParamsToUrl(url, params) { if (!params) return url; if (url.includes(params)) return url; return url.includes("?") ? `${url}&${params}` : `${url}?${params}`; } function saveParamsToSession() { const params = getUrlParameters(); if (params) sessionStorage.setItem(SESSION_KEY, params); } function getParamsFromSession() { return sessionStorage.getItem(SESSION_KEY) || ""; } function isTargetLink(href) { if (!href) return false; if (href.startsWith("/")) return true; try { const u = new URL(href); return u.hostname === TARGET_DOMAIN || u.hostname.endsWith("." + TARGET_DOMAIN); } catch { return false; } } function updateCurrentUrlIfMissingParams(params) { if (!params) return; if (!window.location.search) { const newUrl = appendParamsToUrl(window.location.href, params); window.history.replaceState(null, "", newUrl); } } function updateAnchors(params) { document.querySelectorAll("a[href]").forEach(a => { const href = a.getAttribute("href"); if (!isTargetLink(href)) return; a.setAttribute("href", appendParamsToUrl(href, params)); }); } function updateOnclickRedirects(params) { document.querySelectorAll("[onclick]").forEach(el => { const onclick = el.getAttribute("onclick"); if (!onclick) return; const absMatch = onclick.match(/(['"])(https?:\/\/[^'"]+)\1/); if (absMatch && absMatch[2] && absMatch[2].includes(TARGET_DOMAIN)) { el.setAttribute("onclick", onclick.replace(absMatch[2], appendParamsToUrl(absMatch[2], params))); return; } const relMatch = onclick.match(/(['"])(\/[^'"]*)\1/); if (relMatch && relMatch[2]) { el.setAttribute("onclick", onclick.replace(relMatch[2], appendParamsToUrl(relMatch[2], params))); } }); } function run() { saveParamsToSession(); const params = getParamsFromSession(); if (!params) return; updateCurrentUrlIfMissingParams(params); updateAnchors(params); updateOnclickRedirects(params); } run(); document.addEventListener("DOMContentLoaded", run); setTimeout(run, 500); })();