class VoiceControl extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `
PrĂȘt
`; this.micButton = this.shadowRoot.getElementById('micButton'); this.status = this.shadowRoot.getElementById('status'); this.micButton.addEventListener('click', () => { this.dispatchEvent(new CustomEvent('voice-toggle')); }); } setStatus(text) { this.status.textContent = text; } setRecording(isRecording) { if (isRecording) { this.micButton.innerHTML = ''; this.micButton.style.background = '#ef4444'; } else { this.micButton.innerHTML = ''; this.micButton.style.background = '#6366f1'; } } } customElements.define('voice-control', VoiceControl);