1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-22 09:18:22 +02:00

Send messages

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello
2024-04-27 12:59:50 +02:00
parent f3a4a99b78
commit 4a78e80399
4 changed files with 147 additions and 29 deletions

View File

@ -37,6 +37,22 @@ function selectChannel(channel_id) {
messageInput.disabled = !channel['write_access']
}
function sendMessage() {
let messageInput = document.getElementById('input-message')
let message = messageInput.value
messageInput.value = ''
if (!message) {
return
}
socket.send(JSON.stringify({
'type': 'send_message',
'channel_id': selected_channel_id,
'content': message,
}))
}
function setChannels(new_channels) {
channels = {}
for (let channel of new_channels) {
@ -48,6 +64,23 @@ function setChannels(new_channels) {
}
}
function receiveMessage(message) {
let messageList = document.getElementById('message-list')
let messageElement = document.createElement('li')
messageElement.classList.add('list-group-item')
messageList.appendChild(messageElement)
let authorDiv = document.createElement('div')
authorDiv.classList.add('text-muted', 'fw-bold')
authorDiv.innerText = message['author']
messageElement.appendChild(authorDiv)
let contentDiv = document.createElement('div')
contentDiv.innerText = message['content']
messageElement.appendChild(contentDiv)
}
document.addEventListener('DOMContentLoaded', () => {
/**
* Process the received data from the server.
@ -59,6 +92,9 @@ document.addEventListener('DOMContentLoaded', () => {
case 'fetch_channels':
setChannels(data['channels'])
break
case 'send_message':
receiveMessage(data)
break
default:
console.log(data)
console.error('Unknown message type:', data['type'])