{"version":3,"names":["onLoginPage","test","location","pathname","document","querySelector","getConsumerHost","src","rp","URLSearchParams","search","get","indexOf","split","ck","cookie","match","decodeURIComponent","sso","decoded","atob","replace","r","URL","host","e","BRANDS","applyBrand","documentElement","getAttribute","base","setAttribute","window","__tcSharedNavMounted","tcNav","remove","css","href","l","createElement","rel","head","appendChild","s","renderChip","existing","getElementById","text","textContent","chip","id","body","init","lastUrl","setInterval","readyState","addEventListener"],"sources":["theme-2-inline-common-head_tag.js"],"sourcesContent":["\n(function() {\n  // Only act on the actual sign-in page (cold DiscourseConnect login). A stale\n  // sso_payload cookie must NOT recolor normal browsing.\n  function onLoginPage() {\n    return /^\\/(login|signup|session\\/sso_provider)\\b/.test(location.pathname)\n      || !!document.querySelector('.login-fullpage, .login-modal, .auth-page');\n  }\n\n  // Which network property is the visitor signing in TO? On the real cold /login\n  // page the SSO origin is NOT in the URL — Discourse stores it in the readable\n  // (non-HttpOnly) `sso_payload` cookie. Fall back to a ?return_path= query.\n  function getConsumerHost() {\n    try {\n      var src = '';\n      // An explicit return_path is AUTHORITATIVE. If it is present but is not an\n      // sso_provider handshake, this is a master-native (thundercats) login and a\n      // stale sso_payload cookie from a previous consumer login must be ignored.\n      var rp = new URLSearchParams(location.search).get('return_path') || '';\n      if (rp) {\n        if (rp.indexOf('sso_provider') === -1) return null;\n        src = rp.split('?')[1] || '';\n      } else {\n        var ck = document.cookie.match(/(?:^|;\\s*)sso_payload=([^;]+)/);\n        if (ck) src = decodeURIComponent(ck[1]);               // \"sso=<b64>&sig=...\"\n      }\n      if (!src) return null;\n      var sso = new URLSearchParams(src).get('sso');\n      if (!sso) return null;\n      var decoded = atob(decodeURIComponent(sso).replace(/\\s/g, ''));\n      var r = new URLSearchParams(decoded).get('return_sso_url');\n      if (!r) return null;\n      return new URL(r).host.replace(/^(dev|www|forums)\\./, '');\n    } catch (e) { return null; }\n  }\n\n  // Each property serves the same shared trio that brands its own forum.\n  var BRANDS = { 'heman.org': 'https://heman.org', 'transformers.tv': 'https://transformers.tv', 'hero80.com': 'https://hero80.com', 'gijoe.army': 'https://gijoe.army', 'ninjaturtles.tv': 'https://ninjaturtles.tv', 'silverhawks.tv': 'https://silverhawks.tv', 'voltronvault.com': 'https://voltronvault.com', 'mask.toys': 'https://mask.toys' };\n  // future: 'gijoe.army', 'ninjaturtles.tv'\n\n  function applyBrand() {\n    if (!onLoginPage()) return;\n    if (document.documentElement.getAttribute('data-net-brand')) return; // once\n    var host = getConsumerHost();\n    var base = host && BRANDS[host];\n    if (!base) return; // thundercats / direct / unknown -> master default, untouched\n    document.documentElement.setAttribute('data-net-brand', host);\n    // The master injects its OWN (thundercats) shared nav. Remove it + block remount.\n    window.__tcSharedNavMounted = true;\n    var tcNav = document.querySelector('header.site-header'); if (tcNav) tcNav.remove();\n    function css(href){ var l=document.createElement('link'); l.rel='stylesheet'; l.href=href; document.head.appendChild(l); }\n    css(base + '/shared/forum.css?v=login1');\n    css(base + '/shared/nav.css?v=login1');\n    var s = document.createElement('script'); s.src = base + '/shared/nav.js?v=login1'; document.head.appendChild(s);\n  }\n\n  function renderChip() {\n    var existing = document.getElementById('network-sso-chip');\n    var host = onLoginPage() ? getConsumerHost() : null;\n    if (!host) { if (existing) existing.remove(); return; }\n    var text = 'Hero80 Network · signing in to ' + host;\n    if (existing) existing.textContent = text;\n    else {\n      var chip = document.createElement('div');\n      chip.id = 'network-sso-chip'; chip.textContent = text;\n      chip.setAttribute('aria-live', 'polite'); document.body.appendChild(chip);\n    }\n  }\n\n  function init() {\n    applyBrand(); renderChip();\n    var lastUrl = location.href;\n    setInterval(function () {\n      if (location.href !== lastUrl) { lastUrl = location.href; applyBrand(); renderChip(); }\n    }, 250);\n  }\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n"],"mappings":"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","ignoreList":[]}