class CustomChat extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `

Chat with your Avatar

Hello! I'm your AI Avatar. What would you like me to do?
`; // Add event listeners after rendering setTimeout(() => { const sendButton = this.shadowRoot.getElementById('send-button'); const userInput = this.shadowRoot.getElementById('user-input'); const chatMessages = this.shadowRoot.getElementById('chat-messages'); const handleSend = () => { const message = userInput.value.trim(); if (message) { // Add user message const userMsg = document.createElement('div'); userMsg.className = 'message user-message'; userMsg.textContent = message; chatMessages.appendChild(userMsg); // Get bot response const response = window.avatarCommander.handleCommand(message); // Add bot response after a short delay setTimeout(() => { const botMsg = document.createElement('div'); botMsg.className = 'message bot-message'; botMsg.textContent = response; chatMessages.appendChild(botMsg); chatMessages.scrollTop = chatMessages.scrollHeight; }, 500); userInput.value = ''; chatMessages.scrollTop = chatMessages.scrollHeight; } }; sendButton.addEventListener('click', handleSend); userInput.addEventListener('keypress', (e) => { if (e.key === 'Enter') { handleSend(); } }); }, 0); } } customElements.define('custom-chat', CustomChat);