Projektmanagement-Game/public/js/chat.js

53 lines
1.6 KiB
JavaScript
Raw Normal View History

2021-05-26 14:26:05 +00:00
let socket;
let connected = false;
function sendMessage() {
2021-05-26 17:34:31 +00:00
let message = document.getElementById('message_input').value;
2021-05-26 14:26:05 +00:00
if (message && connected) {
2021-05-26 17:34:31 +00:00
document.getElementById('message_input').value = '';
2021-05-26 14:26:05 +00:00
2021-05-26 17:34:31 +00:00
addChatMessage({username: username, message: message});
2021-05-26 14:26:05 +00:00
socket.emit('new message', message);
}
}
2021-05-26 17:34:31 +00:00
function addLogMessage(message) {
2021-05-26 14:26:05 +00:00
let li = document.createElement('div');
2021-05-26 17:34:31 +00:00
li.classList.add('log_message');
2021-05-26 14:26:05 +00:00
li.innerText = message;
2021-05-26 17:34:31 +00:00
document.getElementById("messages_received").appendChild(li);
document.getElementById("messages_received").scrollTop = document.getElementById("messages_received").scrollHeight;
2021-05-26 14:26:05 +00:00
}
function addChatMessage(data) {
let user = document.createElement('span');
user.classList.add('username');
user.innerText = data.username;
let messageBody = document.createElement('span');
messageBody.classList.add('messageBody');
messageBody.innerText = data.message;
let messageDiv = document.createElement('div');
2021-05-26 17:34:31 +00:00
messageDiv.classList.add('chat_message');
if (data.username === username) {
2021-05-26 14:26:05 +00:00
messageDiv.classList.add('me');
} else {
messageDiv.classList.add('others');
}
messageDiv.appendChild(user);
messageDiv.appendChild(messageBody);
2021-05-26 17:34:31 +00:00
document.getElementById('messages_received').append(messageDiv);
document.getElementById("messages_received").scrollTop = document.getElementById("messages_received").scrollHeight;
2021-06-11 06:50:00 +00:00
}
document.getElementById('message_input').onkeydown = function (e) {
if (e.key === "Enter") {
sendMessage();
e.preventDefault();
}
};