|
document.addEventListener('DOMContentLoaded', () => { |
|
var socket = io(); |
|
|
|
document.querySelector('#send-button').onclick = () => { |
|
const messageInput = document.querySelector('#user-input'); |
|
const message = messageInput.value; |
|
const selectedModel = document.querySelector('#model-selector').value; |
|
|
|
if (message.trim() !== '') { |
|
displayMessage(message, 'user'); |
|
socket.emit('send_message', {'message': message, 'model': selectedModel}); |
|
messageInput.value = ''; |
|
} |
|
return false; |
|
}; |
|
|
|
socket.on('receive_message', data => { |
|
displayMessage(data.message, 'model'); |
|
}); |
|
}); |
|
|
|
function displayMessage(message, sender) { |
|
const chatBox = document.querySelector('#chat-box'); |
|
const messageContainer = document.createElement("div"); |
|
const avatar = document.createElement("img"); |
|
const textNode = document.createElement("span"); |
|
|
|
avatar.src = sender === 'user' ? 'user.png' : 'model.png'; |
|
textNode.textContent = message; |
|
|
|
messageContainer.classList.add('message', sender); |
|
avatar.classList.add('avatar'); |
|
textNode.classList.add('message-text'); |
|
|
|
messageContainer.appendChild(avatar); |
|
messageContainer.appendChild(textNode); |
|
chatBox.appendChild(messageContainer); |
|
|
|
|
|
chatBox.scrollTop = chatBox.scrollHeight; |
|
} |
|
|