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);