Skip to content

Commit 26fe45c

Browse files
authored
Update script.js
1 parent 77fd818 commit 26fe45c

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

script.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ form.addEventListener("submit", async (e) => {
77
const message = input.value.trim();
88
if (!message) return;
99

10-
appendMessage("Gebruiker", message);
10+
appendMessage("user", message);
1111
input.value = "";
1212

1313
try {
@@ -23,18 +23,34 @@ form.addEventListener("submit", async (e) => {
2323
throw new Error(`Serverfout: ${response.status}`);
2424
}
2525

26-
const text = await response.text();
27-
appendMessage("Agent", text);
26+
const fullText = await response.text();
27+
simulateTyping("assistant", fullText);
2828
} catch (err) {
29-
appendMessage("Agent", "Er ging iets mis.");
29+
appendMessage("assistant", "Er ging iets mis.");
3030
console.error("Fout in fetch:", err);
3131
}
3232
});
3333

34-
function appendMessage(sender, text) {
34+
function appendMessage(role, text) {
3535
const msg = document.createElement("div");
36-
msg.className = "message " + (sender === "Gebruiker" ? "user-message" : "agent-message");
37-
msg.textContent = text;
36+
msg.classList.add("message");
37+
msg.classList.add(role === "user" ? "user-message" : "agent-message");
38+
msg.innerText = `${text}`;
3839
chat.appendChild(msg);
3940
chat.scrollTop = chat.scrollHeight;
4041
}
42+
43+
function simulateTyping(role, fullText) {
44+
const msg = document.createElement("div");
45+
msg.classList.add("message");
46+
msg.classList.add(role === "user" ? "user-message" : "agent-message");
47+
chat.appendChild(msg);
48+
49+
let index = 0;
50+
const interval = setInterval(() => {
51+
msg.innerText = fullText.slice(0, index);
52+
chat.scrollTop = chat.scrollHeight;
53+
index++;
54+
if (index > fullText.length) clearInterval(interval);
55+
}, 20); // snelheid: 20ms per karakter
56+
}

0 commit comments

Comments
 (0)