class ThemeToggle extends HTMLElement {
constructor() {
super();
this.isLight = true;
}
connectedCallback() {
this.render();
this.addEventListener('click', this.toggleTheme.bind(this));
}
toggleTheme() {
this.isLight = !this.isLight;
document.documentElement.setAttribute('data-theme', this.isLight ? 'light' : 'dark');
this.render();
}
render() {
this.innerHTML = `
${this.isLight
? ''
: ''
}
`;
}
}
customElements.define('theme-toggle', ThemeToggle);