class GameButton extends HTMLElement {
constructor() {
super();
this.attachShadow({ mode: 'open' });
}
connectedCallback() {
const color = this.getAttribute('color') || 'red';
const colorClasses = {
red: 'bg-[var(--red)] hover:bg-red-400',
blue: 'bg-[var(--blue)] hover:bg-blue-400',
yellow: 'bg-[var(--yellow)] hover:bg-yellow-400',
green: 'bg-[var(--green)] hover:bg-green-400',
purple: 'bg-[var(--purple)] hover:bg-purple-400',
pink: 'bg-[var(--pink)] hover:bg-pink-400',
indigo: 'bg-[var(--indigo)] hover:bg-indigo-400',
teal: 'bg-[var(--teal)] hover:bg-teal-400'
};
this.shadowRoot.innerHTML = `
`;
}
flash() {
const button = this.shadowRoot.querySelector('button');
button.classList.add('flash-animation');
setTimeout(() => {
button.classList.remove('flash-animation');
}, 500);
}
}
customElements.define('game-button', GameButton);