/* * Trevor Snell Insurance — shared site nav. * Loaded by every page via: * Change the nav ONCE here — every page picks it up automatically, no per-page edits needed. */ (function(){ var LOGO_SRC = "https://assets.cdn.filesafe.space/Xznzk5PL1lQkkGuIa1lh/media/6a8c7d5867bb7ac35160b8cc.png"; var path = (window.location.pathname.replace(/\/$/, '') || '/'); var isHome = (path === '/' || path === ''); var homePrefix = isHome ? '' : '/'; function link(href, label, opts){ opts = opts || {}; var attrs = ' href="' + href + '"'; if (opts.target) attrs += ' target="_blank" rel="noopener"'; if (opts.matchPath && opts.matchPath === path) attrs += ' class="current"'; if (opts.extraClass) attrs += ' class="' + opts.extraClass + '"'; return '' + label + ''; } var navHtml = 'Trevor Snell Insurance' + '' + ''; var mount = document.getElementById('site-nav-mount'); if (!mount){ console.warn('nav.js: #site-nav-mount not found on this page — nav not injected.'); return; } var navEl = document.createElement('nav'); navEl.className = 'nav'; navEl.innerHTML = navHtml; mount.replaceWith(navEl); // Mobile menu toggle var navToggle = document.getElementById('navToggle'); var navLinks = document.getElementById('navLinks'); if (navToggle && navLinks){ navToggle.addEventListener('click', function(){ var isOpen = navLinks.classList.toggle('open'); navToggle.classList.toggle('open', isOpen); navToggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); }); navLinks.querySelectorAll('a').forEach(function(a){ a.addEventListener('click', function(){ navLinks.classList.remove('open'); navToggle.classList.remove('open'); navToggle.setAttribute('aria-expanded', 'false'); }); }); } // Nav starts transparent over the hero photo (home page), switches to solid // white once the visitor scrolls, so it stays readable over white sections. function updateNavState(){ if (window.scrollY > 60) navEl.classList.add('scrolled'); else navEl.classList.remove('scrolled'); } updateNavState(); window.addEventListener('scroll', updateNavState, { passive: true }); })();