(function (global) { "use strict"; const THEME_KEY = "xiaobaiTheme"; function readTheme() { try { return global.localStorage.getItem(THEME_KEY) === "dark" ? "dark" : "light"; } catch (_error) { return "light"; } } function applyTheme(theme) { const normalized = theme === "dark" ? "dark" : "light"; const app = document.getElementById("m-app"); app.dataset.theme = normalized; app.style.colorScheme = normalized; document.body.style.backgroundColor = normalized === "dark" ? "#141519" : "#f4f5f7"; return normalized; } function toggle() { const next = readTheme() === "dark" ? "light" : "dark"; try { global.localStorage.setItem(THEME_KEY, next); } catch (_error) { // Theme still applies for the current page when storage is unavailable. } applyTheme(next); } global.MobileTheme = { readTheme: readTheme, applyTheme: applyTheme, toggle: toggle }; async function boot() { applyTheme(readTheme()); let session = { authenticated: false }; try { session = await global.MobileSession.me(); } catch (_error) { session = { authenticated: false }; } const hash = global.location.hash || ""; if (!session.authenticated) { if (!/^#\/?auth/.test(hash)) global.location.replace("#/auth"); } else if (/^#\/?auth/.test(hash)) { global.location.replace("#/home"); } global.MobileRouter.init(); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", boot, { once: true }); } else { boot(); } })(window);