class CustomNavbar extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
`;
const menuButton = this.shadowRoot.getElementById('mobile-menu-button');
const mobileMenu = this.shadowRoot.getElementById('mobile-menu');
menuButton.addEventListener('click', () => {
const isOpen = mobileMenu.classList.contains('open');
// Change icon
const menuIcon = menuButton.querySelector('i');
if (isOpen) {
menuIcon.setAttribute('data-feather', 'menu');
} else {
menuIcon.setAttribute('data-feather', 'x');
}
feather.replace();
// Toggle menu
mobileMenu.classList.toggle('open');
});
}
}
customElements.define('custom-navbar', CustomNavbar);