1function updateNavAccount() { 2 const sessionToken = document.cookie 3 .split('; ') 4 .find(row => row.startsWith('session_token=')) 5 ?.split('=')[1]; 6 7 const loginLink = document.getElementById('login-link'); 8 const docsLink = document.getElementById('docs-link'); 9 const supportLink = document.getElementById('support-link'); 10 const signupBtn = document.getElementById('nav-signup'); 11 const navContainer = document.querySelector('.u-pull-right'); 12 13 if (!loginLink) return; 14 15 if (sessionToken) { 16 loginLink.textContent = 'My Account'; 17 if (docsLink) docsLink.classList.remove('nav-hidden'); 18 if (supportLink) supportLink.classList.remove('nav-hidden'); 19 if (signupBtn) signupBtn.classList.add('nav-hidden'); 20 } else { 21 loginLink.textContent = 'Login'; 22 if (docsLink) docsLink.classList.add('nav-hidden'); 23 if (supportLink) supportLink.classList.add('nav-hidden'); 24 if (signupBtn) signupBtn.classList.remove('nav-hidden'); 25 } 26 27 // Mark as ready to show 28 if (navContainer) { 29 navContainer.style.opacity = '1'; 30 navContainer.style.visibility = 'visible'; 31 } 32} 33 34// Run immediately and on DOMContentLoaded 35if (document.readyState === 'loading') { 36 document.addEventListener('DOMContentLoaded', updateNavAccount); 37} else { 38 updateNavAccount(); 39} 40updateNavAccount(); 41 42(function() { 43 var toggle = document.getElementById('menuToggle'); 44 var menu = document.getElementById('navMenu'); 45 if (!toggle || !menu) return; 46 47 toggle.addEventListener('click', function() { 48 var isActive = menu.classList.contains('active'); 49 menu.classList.toggle('active'); 50 toggle.classList.toggle('active'); 51 toggle.setAttribute('aria-expanded', String(!isActive)); 52 }); 53 54 document.addEventListener('click', function(e) { 55 if (!menu.contains(e.target) && e.target !== toggle) { 56 menu.classList.remove('active'); 57 toggle.classList.remove('active'); 58 toggle.setAttribute('aria-expanded', 'false'); 59 } 60 }); 61})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.