class PumpHeader extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
`;
const mobileMenuButton = this.shadowRoot.querySelector('.mobile-menu-button');
const nav = this.shadowRoot.querySelector('nav');
const themeToggle = this.shadowRoot.getElementById('themeToggle');
mobileMenuButton.addEventListener('click', () => {
nav.classList.toggle('active');
});
themeToggle.addEventListener('click', () => {
const html = document.documentElement;
html.classList.toggle('dark');
localStorage.setItem('darkMode', html.classList.contains('dark'));
const icon = themeToggle.querySelector('i');
if (html.classList.contains('dark')) {
icon.setAttribute('data-feather', 'moon');
themeToggle.querySelector('span').textContent = 'Dark Mode';
} else {
icon.setAttribute('data-feather', 'sun');
themeToggle.querySelector('span').textContent = 'Light Mode';
}
feather.replace();
});
// Initialize feather icons
feather.replace();
}
}
customElements.define('pump-header', PumpHeader);