Added feature to show time and reply when messages are from a long time before the next message
This commit is contained in:
		
							parent
							
								
									89afbba165
								
							
						
					
					
						commit
						6b083f8b1b
					
				@ -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 {
 | 
					  .time {
 | 
				
			||||||
    display: block;
 | 
					    display: block;
 | 
				
			||||||
    opacity: 1;
 | 
					    opacity: 1;
 | 
				
			||||||
 | 
				
			|||||||
@ -174,12 +174,27 @@
 | 
				
			|||||||
        const messagesContainer = document.querySelector(".chat-messages");
 | 
					        const messagesContainer = document.querySelector(".chat-messages");
 | 
				
			||||||
        updateTimes();
 | 
					        updateTimes();
 | 
				
			||||||
        let previousUser = null;
 | 
					        let previousUser = null;
 | 
				
			||||||
 | 
					        let previousDate = null;
 | 
				
			||||||
        document.querySelectorAll(".message").forEach((message) => {
 | 
					        document.querySelectorAll(".message").forEach((message) => {
 | 
				
			||||||
            if (previousUser !== message.dataset.user_uid) {
 | 
					            if (previousUser !== message.dataset.user_uid) {
 | 
				
			||||||
                message.classList.add("switch-user");
 | 
					                message.classList.add("switch-user");
 | 
				
			||||||
                previousUser = message.dataset.user_uid;
 | 
					                previousUser = message.dataset.user_uid;
 | 
				
			||||||
 | 
					                previousDate = new Date(message.dataset.created_at);
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                message.classList.remove("switch-user");
 | 
					                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");
 | 
					        lastMessage = messagesContainer.querySelector(".message:last-child");
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user