{"version":3,"names":["BFF_ORIGIN","COOKIE_DOMAIN","m","document","cookie","match","raw","decodeURIComponent","path","parsed","JSON","parse","atob","returnTo","e","bffUrl","done","HIDE","documentElement","classList","add","style","createElement","textContent","head","appendChild","unhide","remove","parentNode","removeChild","redirectBack","location","replace","tries","poll","fetch","credentials","cache","then","r","ok","json","d","current_user","delay","setTimeout","catch","addEventListener","hidden","tryAutoCreate","btn","querySelector","disabled","getAttribute","u","value","trim","setAttribute","click","createTimer","setInterval","clearInterval"],"sources":["theme-25-inline-common-head_tag.js"],"sourcesContent":["\n(function(){\n  // ===== 正式环境专用：回跳目标硬编码，cookie 仅用于取 returnTo 路径 =====\n  var BFF_ORIGIN = \"https://bbs.genora.com\";\n  var COOKIE_DOMAIN = \".genora.com\";   // 跨子域 cookie，forum.genora.com 能读到\n\n  var m = document.cookie.match(/(?:^|;\\s*)genora_return_v12=([^;]+)/);\n  if (!m) return;\n  var raw = decodeURIComponent(m[1]);\n  var path = \"/\";\n  // cookie 值为 base64(JSON{returnTo,bff,ts})，v11/旧版兼容原始路径\n  try {\n    var parsed = JSON.parse(atob(raw));\n    if (parsed && parsed.returnTo) path = parsed.returnTo;\n  } catch(e) {\n    path = raw;   // 兜底：若非 base64，按原始路径处理\n  }\n  var bffUrl = BFF_ORIGIN + path;\n  var done = false;\n\n  // --- immediately hide Discourse UI + show loading (avoid \"saw forum homepage\") ---\n  var HIDE = \"genora-redirecting\";\n  document.documentElement.classList.add(HIDE);\n  var style = document.createElement(\"style\");\n  style.textContent =\n    \".\" + HIDE + \" #main-outlet,\" +\n    \".\" + HIDE + \" .d-header,\" +\n    \".\" + HIDE + \" .full-width-login,\" +\n    \".\" + HIDE + \" #login-form { display:none !important; }\" +\n    \".\" + HIDE + \" body { background:#fff; margin:0; }\" +\n    \".\" + HIDE + \" body::after {\" +\n      \"content:'正在返回语生论坛…';\" +\n      \"position:fixed; top:45%; left:50%; transform:translate(-50%,-50%);\" +\n      \"font-size:1.1rem; color:#999; font-family:sans-serif;\" +\n    \"}\";\n  (document.head || document.documentElement).appendChild(style);\n  function unhide(){\n    document.documentElement.classList.remove(HIDE);\n    if (style.parentNode) style.parentNode.removeChild(style);\n  }\n\n  function redirectBack(){\n    if (done) return;\n    done = true;\n    // 清除回跳 cookie（带 Domain，跨子域清除）\n    document.cookie = \"genora_return_v12=; Path=/; Max-Age=0; Domain=\" + COOKIE_DOMAIN;\n    document.cookie = \"genora_return_v12=; Path=/; Max-Age=0\";  // host-only 兜底\n    location.replace(bffUrl);\n  }\n\n  // --- redirect-back: poll /session/current.json (old + new users) ---\n  var tries = 0;\n  function poll(){\n    fetch(\"/session/current.json\", { credentials: \"include\", cache: \"no-store\" })\n      .then(function(r){ return r.ok ? r.json() : null; })\n      .then(function(d){\n        if (d && d.current_user) {\n          redirectBack();               // no delay - redirect at once\n        } else {\n          tries++;\n          var delay = tries < 60 ? 500 : 2000;\n          if (tries < 200) setTimeout(poll, delay);\n          else unhide();                 // timeout: show page (e.g. signup error)\n        }\n      })\n      .catch(function(){\n        tries++;\n        var delay = tries < 60 ? 500 : 2000;\n        if (tries < 200) setTimeout(poll, delay);\n        else unhide();\n      });\n  }\n  poll();\n  document.addEventListener(\"visibilitychange\", function(){\n    if (!document.hidden && !done) { tries = 0; poll(); }\n  });\n\n  // --- auto-create: click the create-account button for new users ---\n  // username + email pre-filled by ucloud-adapter ASYNC from authOptions;\n  // password not required for OIDC. Wait until username is populated.\n  function tryAutoCreate(){\n    var btn = document.querySelector(\".signup-page-cta__signup\");\n    if (!btn || btn.disabled) return;\n    if (btn.getAttribute(\"data-genora-clicked\")) return;\n    var u = document.querySelector(\"#new-account-username\");\n    if (!u || !u.value || !u.value.trim()) return;   // wait for async pre-fill\n    btn.setAttribute(\"data-genora-clicked\", \"1\");\n    setTimeout(function(){ if (!done) btn.click(); }, 500);  // let binding settle\n  }\n  var createTimer = setInterval(function(){\n    if (done) { clearInterval(createTimer); return; }\n    tryAutoCreate();\n  }, 400);\n  setTimeout(function(){ clearInterval(createTimer); }, 120000);\n})();\n"],"mappings":"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","ignoreList":[]}