window.taxbaikAdminSession = { syncRouteClass: function () { document.documentElement.classList.toggle( 'admin-login-route', window.location.pathname.toLowerCase().endsWith('/admin/login')); }, clearAuthToken: function () { try { localStorage.removeItem('auth_token'); } catch { // Ignore storage errors; redirect still recovers the session. } }, watchReconnect: function () { window.taxbaikAdminSession.syncRouteClass(); window.addEventListener('popstate', window.taxbaikAdminSession.syncRouteClass); const modal = document.getElementById('components-reconnect-modal'); if (!modal) { return; } const reloadOnRejectedCircuit = () => { const className = modal.className || ''; if (className.includes('components-reconnect-failed') || className.includes('components-reconnect-rejected')) { window.setTimeout(() => window.location.reload(), 1500); } }; new MutationObserver(reloadOnRejectedCircuit) .observe(modal, { attributes: true, attributeFilter: ['class'] }); } };