generalbots/botui/ui/suite/chat/chat-messages.js

54 lines
1.4 KiB
JavaScript
Raw Normal View History

// Chat Messages Module - Handles message rendering and display
function addMessage(role, content, messageId) {
var messages = document.getElementById("messages");
if (!messages) return;
var messageDiv = document.createElement("div");
messageDiv.className = "message message-" + role;
if (messageId) {
messageDiv.dataset.messageId = messageId;
}
if (role === "bot") {
messageDiv.innerHTML = marked.parse(content);
} else {
messageDiv.textContent = content;
}
messages.appendChild(messageDiv);
scrollToBottom(false);
}
function scrollToBottom(animate) {
var messages = document.getElementById("messages");
if (!messages) return;
if (animate) {
messages.scrollTo({
top: messages.scrollHeight,
behavior: "smooth"
});
} else {
messages.scrollTop = messages.scrollHeight;
}
}
function showThinking() {
var messages = document.getElementById("messages");
if (!messages) return;
var thinking = document.createElement("div");
thinking.className = "message message-bot thinking";
thinking.id = "thinking-indicator";
thinking.textContent = "Thinking...";
messages.appendChild(thinking);
scrollToBottom(false);
}
function hideThinking() {
var thinking = document.getElementById("thinking-indicator");
if (thinking) {
thinking.remove();
}
}