diff --git a/templates/chat.html b/templates/chat.html
index 580eb91..9012cad 100644
--- a/templates/chat.html
+++ b/templates/chat.html
@@ -59,7 +59,7 @@
.message-wrapper button {
margin-right: 16px;
- margin-top: 16px;
+ margin-top: 32px;
}
@@ -122,7 +122,7 @@ socket.on('message', (data) => {
newMessage.innerHTML = marked.marked(data.content);
// Check if the message is NOT a join notification
- if (!data.content.includes('has joined the room.')) {
+ if (!data.content.includes('has joined the room.') && !data.content.includes('Processing...')) {
// Create the delete button
const deleteButton = document.createElement('button');
deleteButton.innerHTML = 'x';
@@ -167,10 +167,10 @@ socket.on('previous_messages', (data) => {
socket.on('delete_processing_message', (data) => {
- const tempMessage = document.getElementById("processing");
- if (tempMessage) {
+ const tempMessages = document.querySelectorAll("#message-null");
+ tempMessages.forEach((tempMessage) => {
tempMessage.remove();
- }
+ });
});
@@ -178,14 +178,29 @@ socket.on('delete_processing_message', (data) => {
const messageBuffers = {};
socket.on('message_chunk', (data) => {
- const messageId = "message-" + data.id;
- let targetMessageElement = document.getElementById(messageId);
+ const wrapperId = "message-" + data.id;
+ let messageWrapper = document.getElementById(wrapperId);
+ let targetMessageElement;
- // If the target message element doesn't exist, it's an initial chunk
- if (!targetMessageElement) {
+ // If the message wrapper doesn't exist, it's an initial chunk
+ if (!messageWrapper) {
+ messageWrapper = document.createElement('div');
+ messageWrapper.className = 'message-wrapper';
+ messageWrapper.id = wrapperId;
+ document.getElementById('chat').appendChild(messageWrapper);
+
+ // Create the "x" button for deletion
+ const deleteButton = document.createElement('button');
+ deleteButton.innerHTML = 'x';
+ deleteButton.onclick = () => deleteMessage(data.id, room);
+ messageWrapper.appendChild(deleteButton);
+
+ // Create the p element to hold the message content
targetMessageElement = document.createElement('p');
- targetMessageElement.id = messageId;
- document.getElementById('chat').appendChild(targetMessageElement);
+ messageWrapper.appendChild(targetMessageElement);
+ } else {
+ // If the wrapper already exists, get the p element inside it
+ targetMessageElement = messageWrapper.querySelector('p');
}
// If the message buffer for this ID doesn't exist, create it
@@ -208,6 +223,7 @@ socket.on('message_chunk', (data) => {
document.getElementById('chat').scrollTop = document.getElementById('chat').scrollHeight;
});
+
socket.on('message_deleted', (data) => {
const messageElement = document.getElementById('message-' + data.message_id);
if (messageElement) {