class CustomNavbar extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = ` `; // Add scroll event listener for navbar effect window.addEventListener('scroll', () => { const navbar = this.shadowRoot.querySelector('.navbar'); if (window.scrollY > 50) { navbar.classList.add('scrolled', 'text-gray-800'); navbar.classList.remove('text-white'); } else { navbar.classList.remove('scrolled', 'text-gray-800'); navbar.classList.add('text-white'); } }); // Mobile menu toggle const menuToggle = this.shadowRoot.querySelector('.menu-toggle'); const mobileMenu = this.shadowRoot.querySelector('.mobile-menu'); menuToggle.addEventListener('click', () => { mobileMenu.classList.toggle('open'); }); } } customElements.define('custom-navbar', CustomNavbar);