{"version":3,"names":["window","__lfTtLoaded","console","log","_","FAILED","LAST_RENDERED_KEY","PRE_CACHE","esc","s","replace","c","readPreloaded","el","document","getElementById","raw","getAttribute","textContent","outer","JSON","parse","out","Object","keys","forEach","k","v","e","isAuthRoute","p","location","pathname","test","querySelector","isFeedRoute","indexOf","ensureHost","id","parentSel","where","host","parent","createElement","firstChild","insertBefore","appendChild","clearHost","h","innerHTML","J","url","Promise","resolve","fetch","credentials","headers","then","r","status","ok","warn","json","catch","render","routeKey","pre","preTL","inner","topic_list","topics","siteCats","site","categories","paint","j","LF_TK_CAT","__tk0","sessionStorage","getItem","__k","lfTkPatch","rec","name","track","nodes","querySelectorAll","i","length","trim","color","dot","style","background","lfTkResolve","ids","d","category","slug","setItem","stringify","cats","byId","miss","items","slice","map","t","category_id","count","posts_count","title","join","missIds","Number","lastPath","outletMo","bodyMo","_mounting","safeRender","onRoute","syncMount","takeRecords","watchOutlet","outlet","MutationObserver","observe","childList","boot","o","disconnect","documentElement","subtree","hookAppEvents","__lfTtAppHook","Discourse","__container__","ae","lookup","on","fn","orig","history","apply","arguments","addEventListener","setInterval","hidden","readyState"],"sources":["theme-35-inline-common-body_tag.js"],"sourcesContent":["\n(function(){\n  if (window.__lfTtLoaded) return;\n  window.__lfTtLoaded = true;\n  try { console.log(\"[lf-tt] trending ticker -- IIFE entered\"); } catch(_){}\n\n  var FAILED = false;\n  var LAST_RENDERED_KEY = \"\";\n  var PRE_CACHE = null;   // the preloaded block is ~0.9 MB of JSON: parse it once, not per render\n\n  function esc(s){ return (s||\"\").replace(/[&<>\"']/g, function(c){ return ({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",\"\\\"\":\"&quot;\",\"'\":\"&#39;\"})[c]; }); }\n\n  // ===== preloaded reader =====\n  function readPreloaded(){\n    if (PRE_CACHE) return PRE_CACHE;\n    var el = document.getElementById(\"data-preloaded\");\n    if (!el) return {};\n    var raw = (el.getAttribute(\"data-preloaded\")||el.textContent);\n    if (!raw) return {};\n    try {\n      var outer = JSON.parse(raw);\n      var out = {};\n      Object.keys(outer).forEach(function(k){\n        var v = outer[k];\n        if (typeof v === \"string\"){ try { out[k] = JSON.parse(v); } catch(e){ out[k] = v; } }\n        else { out[k] = v; }\n      });\n      PRE_CACHE = out;\n      return out;\n    } catch(e){ return {}; }\n  }\n\n  // ===== route detection =====\n  function isAuthRoute(){\n    var p = location.pathname || \"\";\n    if (/^\\/(login|signup|create-account|password-reset|invites?|users\\/account-created)/i.test(p)) return true;\n    if (document.querySelector(\".modal.login-modal:not(.hidden), .modal.create-account-modal:not(.hidden), .d-modal.login-modal, .d-modal.create-account, .login-modal-body, .login-fullpage, .signup-fullpage, .create-account-fullpage, body.static-login, body.static-signup\")) return true;\n    return false;\n  }\n  function isFeedRoute(){\n    var p = location.pathname || \"/\";\n    return p === \"/\" || p.indexOf(\"/latest\") === 0 || p === \"/hot\";\n  }\n\n  // ===== host helpers =====\n  function ensureHost(id, parentSel, where){\n    var host = document.getElementById(id);\n    if (host) return host;\n    var parent = document.querySelector(parentSel);\n    if (!parent) return null;\n    host = document.createElement(\"div\");\n    host.id = id;\n    if (where === \"prepend\" && parent.firstChild) parent.insertBefore(host, parent.firstChild);\n    else parent.appendChild(host);\n    return host;\n  }\n  function clearHost(id){ var h = document.getElementById(id); if (h) h.innerHTML = \"\"; }\n\n  // ===== one-shot defensive fetch (only if preloaded missing) =====\n  function J(url){\n    if (FAILED) return Promise.resolve(null);\n    return fetch(url, {credentials:\"same-origin\", headers:{\"Accept\":\"application/json\"}})\n      .then(function(r){\n        if (r.status === 403 || r.status === 429 || !r.ok){\n          FAILED = true;\n          if (window.console) console.warn(\"[lf-tt] giving up: \" + r.status + \" on \" + url);\n          return null;\n        }\n        return r.json();\n      })\n      .catch(function(){ FAILED = true; return null; });\n  }\n\n  // ===== render =====\n  function render(){\n    if (isAuthRoute())   { clearHost(\"lf-ux-ticker-host\"); return; }\n    if (!isFeedRoute())  { clearHost(\"lf-ux-ticker-host\"); return; }\n\n    // dedup: don't re-render if we already painted for this route this session\n    var routeKey = location.pathname;\n    if (routeKey === LAST_RENDERED_KEY && document.getElementById(\"lf-ux-ticker-track\")) return;\n\n    var host = ensureHost(\"lf-ux-ticker-host\", \"#main-outlet\", \"prepend\");\n    if (!host) return;\n\n    host.innerHTML =\n      '<div class=\"lf-ux-ticker\">' +\n        '<div class=\"lf-ux-ticker__label\">TOPICS</div>' +\n        '<div class=\"lf-ux-ticker__viewport\"><div class=\"lf-ux-ticker__track\" id=\"lf-ux-ticker-track\"></div></div>' +\n      '</div>';\n    LAST_RENDERED_KEY = routeKey;\n\n    // 1. Preloaded topic_list (zero-fetch fast path)\n    var pre = readPreloaded();\n    var preTL = null;\n    Object.keys(pre).forEach(function(k){\n      if (k === \"topic_list\" || k.indexOf(\"topic_list\") === 0){\n        var inner = pre[k];\n        if (inner && inner.topic_list && inner.topic_list.topics) preTL = inner;\n      }\n    });\n    var siteCats = (pre.site && pre.site.categories) || [];\n\n    if (preTL){\n      paint(preTL.topic_list.topics || [], siteCats);\n      return;\n    }\n    // 2. Fallback fetch -- defensive, single shot, bails on 403\n    J(\"/latest.json\").then(function(j){\n      if (!j) { clearHost(\"lf-ux-ticker-host\"); return; }\n      paint((j.topic_list && j.topic_list.topics) || [], (j.categories) || siteCats);\n    });\n  }\n\n  // lazy_load_categories_groups: preloaded site.categories omits subcategories,\n  // so the ticker showed an empty category label. Resolve misses ONCE via\n  // /c/<id>/show.json, cache in sessionStorage, async-patch the labels.\n  var LF_TK_CAT = {};\n  try { var __tk0 = JSON.parse(sessionStorage.getItem(\"lf_tkcat_v1\") || \"{}\"); for (var __k in __tk0){ LF_TK_CAT[__k] = __tk0[__k]; } } catch(e){}\n  function lfTkPatch(id, rec){\n    if (!rec || !rec.name) return;\n    var track = document.getElementById(\"lf-ux-ticker-track\"); if (!track) return;\n    var nodes = track.querySelectorAll('.lf-ux-ticker__item[data-cid=\"' + id + '\"]');\n    for (var i=0;i<nodes.length;i++){\n      var s = nodes[i].querySelector(\"strong\"); if (s && !s.textContent.trim()) s.textContent = rec.name;\n      if (rec.color){ var dot = nodes[i].querySelector(\".lf-ux-ticker__dot\"); if (dot) dot.style.background = \"#\" + rec.color; }\n    }\n  }\n  function lfTkResolve(ids){\n    ids.forEach(function(id){\n      if (id == null) return;\n      var rec = LF_TK_CAT[id];\n      if (rec && rec.name){ lfTkPatch(id, rec); return; }\n      J(\"/c/\" + id + \"/show.json\").then(function(d){\n        var c = (d && d.category) || {};\n        var r = { name: c.name || \"\", slug: c.slug || \"\", color: c.color || \"\" };\n        LF_TK_CAT[id] = r;\n        try { sessionStorage.setItem(\"lf_tkcat_v1\", JSON.stringify(LF_TK_CAT)); } catch(e){}\n        lfTkPatch(id, r);\n      }).catch(function(){});\n    });\n  }\n  function paint(topics, cats){\n    var byId = {};\n    (cats || []).forEach(function(c){ byId[c.id] = c; });\n    var miss = {};\n    var items = topics.slice(0, 12).map(function(t){\n      var c = byId[t.category_id] || LF_TK_CAT[t.category_id];\n      var name = c ? (c.name || \"\") : \"\";\n      var color = (c && c.color) ? c.color : \"5d8aa8\";\n      var count = t.posts_count || 0;\n      if (!name && t.category_id != null) miss[t.category_id] = 1;\n      return '<a class=\"lf-ux-ticker__item\" data-cid=\"' + (t.category_id == null ? \"\" : t.category_id) + '\" href=\"/t/' + esc(t.slug) + '/' + t.id + '\">'\n           +   '<span class=\"lf-ux-ticker__dot\" style=\"background:#' + esc(color) + '\"></span>'\n           +   '<strong>' + esc(name) + '</strong>'\n           +   '<span>' + esc(t.title) + '</span>'\n           +   '<em>' + count + (count === 1 ? ' post' : ' posts') + '</em>'\n           + '</a>';\n    }).join(\"\");\n    var track = document.getElementById(\"lf-ux-ticker-track\");\n    if (track) track.innerHTML = items + items;  // duplicate for seamless marquee loop\n    var missIds = Object.keys(miss); if (missIds.length) lfTkResolve(missIds.map(Number));\n  }\n\n  // ===== mount in the same frame as Discourse's own render (2026-10-24) =====\n  // The ticker used to poll for #main-outlet every 300ms after DOMContentLoaded\n  // and re-check the route every 1.5s, so it landed up to ~1.8s after the list\n  // had painted and pushed the whole page down. A MutationObserver now mounts\n  // it in the microtask right after Ember inserts #main-outlet (first load) or\n  // swaps a route (SPA navigation), i.e. before the browser paints. Discourse's\n  // page:changed event and the history hooks cover navigation as well; a slow\n  // 4s tick is the only remaining fallback.\n  var lastPath = location.pathname;\n  var outletMo = null, bodyMo = null, _mounting = false;\n  function safeRender(){ try { render(); } catch(e){ if (window.console) console.warn(\"[lf-tt] render err:\", e); } }\n  function onRoute(){\n    var p = location.pathname;\n    if (p === lastPath) return;\n    lastPath = p;\n    LAST_RENDERED_KEY = \"\";\n    safeRender();\n  }\n  function syncMount(){\n    if (_mounting) return;\n    _mounting = true;\n    try {\n      if (!document.getElementById(\"lf-ux-ticker-track\")) LAST_RENDERED_KEY = \"\";   // host was dropped: rebuild\n      safeRender();\n    } finally { _mounting = false; }\n    try { if (outletMo) outletMo.takeRecords(); } catch(_){}   // ignore the records our own render produced\n  }\n  function watchOutlet(outlet){\n    if (outletMo) return;\n    outletMo = new MutationObserver(function(){ syncMount(); });\n    outletMo.observe(outlet, { childList: true });   // route swaps replace #main-outlet's children\n  }\n  function boot(){\n    var outlet = document.querySelector(\"#main-outlet\");\n    if (outlet){ watchOutlet(outlet); syncMount(); return; }\n    if (bodyMo) return;\n    // Ember has not rendered yet: mount in the microtask after it inserts #main-outlet\n    bodyMo = new MutationObserver(function(){\n      var o = document.querySelector(\"#main-outlet\");\n      if (!o) return;\n      try { bodyMo.disconnect(); } catch(_){}\n      bodyMo = null;\n      watchOutlet(o);\n      syncMount();\n    });\n    bodyMo.observe(document.documentElement, { childList: true, subtree: true });\n  }\n  function hookAppEvents(){\n    if (window.__lfTtAppHook) return true;\n    try {\n      var c = window.Discourse && window.Discourse.__container__;\n      var ae = c && c.lookup && c.lookup(\"service:app-events\");\n      if (ae && ae.on){\n        window.__lfTtAppHook = true;\n        ae.on(\"page:changed\", function(){ onRoute(); syncMount(); });\n        return true;\n      }\n    } catch(_){}\n    return false;\n  }\n  [\"pushState\", \"replaceState\"].forEach(function(fn){\n    var orig = history[fn];\n    history[fn] = function(){ var r = orig.apply(this, arguments); onRoute(); return r; };\n  });\n  window.addEventListener(\"popstate\", onRoute);\n  setInterval(function(){ if (document.hidden) return; hookAppEvents(); onRoute(); }, 4000);\n\n  if (document.readyState === \"complete\" || document.readyState === \"interactive\") boot();\n  else document.addEventListener(\"DOMContentLoaded\", boot);\n  hookAppEvents();\n})();\n"],"mappings":"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","ignoreList":[]}