diff --git a/chatbot.js b/chatbot.js index fb26ec9..88b9ac3 100644 --- a/chatbot.js +++ b/chatbot.js @@ -125,18 +125,26 @@ class PhoenixChatbot { setTimeout(() => { this.removeTypingIndicator(); - const messageHTML = ` -
-
- - - -
-
${text}
-
+ // Create bot message element safely without interpreting text as HTML + const messageEl = document.createElement('div'); + messageEl.className = 'chatbot-message bot'; + + const avatarEl = document.createElement('div'); + avatarEl.className = 'message-avatar'; + avatarEl.innerHTML = ` + + + `; - messagesDiv.insertAdjacentHTML('beforeend', messageHTML); + const contentEl = document.createElement('div'); + contentEl.className = 'message-content'; + contentEl.textContent = text; + + messageEl.appendChild(avatarEl); + messageEl.appendChild(contentEl); + + messagesDiv.appendChild(messageEl); this.scrollToBottom(); this.messages.push({ type: 'bot', text }); }, 1000); @@ -145,18 +153,26 @@ class PhoenixChatbot { addUserMessage(text) { const messagesDiv = document.getElementById('chatbotMessages'); - const messageHTML = ` -
-
${text}
-
- - - -
-
+ // Create user message element safely without interpreting text as HTML + const messageEl = document.createElement('div'); + messageEl.className = 'chatbot-message user'; + + const contentEl = document.createElement('div'); + contentEl.className = 'message-content'; + contentEl.textContent = text; + + const avatarEl = document.createElement('div'); + avatarEl.className = 'message-avatar'; + avatarEl.innerHTML = ` + + + `; - messagesDiv.insertAdjacentHTML('beforeend', messageHTML); + messageEl.appendChild(contentEl); + messageEl.appendChild(avatarEl); + + messagesDiv.appendChild(messageEl); this.scrollToBottom(); this.messages.push({ type: 'user', text }); }