Added feature to show time and reply when messages are from a long time before the next message

This commit is contained in:
BordedDev 2025-05-22 00:19:39 +02:00
parent 89afbba165
commit 6b083f8b1b
No known key found for this signature in database
GPG Key ID: C5F495EAE56673BF
2 changed files with 16 additions and 1 deletions
src/snek
static
templates

View File

@ -306,7 +306,7 @@ input[type="text"], .chat-input textarea {
}
}
.message:has(+ .message.switch-user), .message:last-child {
.message:has(+ .message.switch-user), .message:has(+ .message.long-time), .message:last-child {
.time {
display: block;
opacity: 1;

View File

@ -174,12 +174,27 @@
const messagesContainer = document.querySelector(".chat-messages");
updateTimes();
let previousUser = null;
let previousDate = null;
document.querySelectorAll(".message").forEach((message) => {
if (previousUser !== message.dataset.user_uid) {
message.classList.add("switch-user");
previousUser = message.dataset.user_uid;
previousDate = new Date(message.dataset.created_at);
} else {
message.classList.remove("switch-user");
if (!previousDate) {
previousDate = new Date(message.dataset.created_at);
} else {
const currentDate = new Date(message.dataset.created_at);
if (currentDate.getTime() - previousDate.getTime() > 1000 * 60 * 20) {
message.classList.add("long-time");
} else {
message.classList.remove("long-time");
}
previousDate = currentDate;
}
}
});
lastMessage = messagesContainer.querySelector(".message:last-child");