Skip to content

Commit 6506f61

Browse files
authored
Update script.js
1 parent 4f558c3 commit 6506f61

File tree

1 file changed

+22
-23
lines changed

1 file changed

+22
-23
lines changed

script.js

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,20 @@ const chat = document.getElementById("chat");
22
const form = document.getElementById("input-form");
33
const input = document.getElementById("user-input");
44

5-
let threadId = null; // Slaat de thread_id lokaal op
5+
let threadId = null;
6+
7+
// Toon openingsbericht bij het laden van de pagina
8+
window.onload = () => {
9+
const welkomstekst = `Welkom bij de AI Indicatiehulp! Ik ben jouw digitale adviseur voor het stellen van de juiste indicatie en het opstellen van een conceptadvies voor de zorgexpert (Kim Brand).\n\nKies een optie om te starten:\n1. In kaart brengen cliëntsituatie\n2. Bekijk richtlijnen\n3. Contact opnemen met de zorgexpert\n\nWil je direct een indicatieadvies laten opstellen? Dan heb ik meer informatie nodig over de cliënt. Geef bij voorkeur ook je naam en een e-mail of telefoonnummer, zodat we het conceptadvies voor beoordeling kunnen indienen.\n\nMet welke optie wil je verder?`;
10+
streamMessage("agent-message", welkomstekst);
11+
};
612

713
form.addEventListener("submit", async (e) => {
814
e.preventDefault();
915
const message = input.value.trim();
1016
if (!message) return;
1117

12-
appendMessage("user", message);
18+
appendMessage("user-message", message);
1319
input.value = "";
1420

1521
try {
@@ -26,41 +32,34 @@ form.addEventListener("submit", async (e) => {
2632
}
2733

2834
const data = await response.json();
29-
const agentMsg = appendMessage("agent", "");
30-
simulateStreamingText(data.reply,
31-
(partial) => {
32-
agentMsg.textContent = partial;
33-
},
34-
() => {
35-
console.log("Volledig antwoord weergegeven");
36-
}
37-
);
38-
threadId = data.thread_id; // Bewaar thread_id voor vervolgvragen
35+
threadId = data.thread_id;
36+
streamMessage("agent-message", data.reply);
3937
} catch (err) {
40-
appendMessage("agent", "Er ging iets mis.");
38+
streamMessage("agent-message", "Er ging iets mis.");
4139
console.error("Fout in fetch:", err);
4240
}
4341
});
4442

45-
function appendMessage(sender, text) {
43+
function appendMessage(cssClass, text) {
4644
const msg = document.createElement("div");
47-
msg.classList.add("message", sender === "user" ? "user-message" : "agent-message");
45+
msg.classList.add("message", cssClass);
4846
msg.textContent = text;
4947
chat.appendChild(msg);
5048
chat.scrollTop = chat.scrollHeight;
51-
return msg;
5249
}
5350

54-
function simulateStreamingText(fullText, updateCallback, doneCallback) {
51+
function streamMessage(cssClass, text) {
52+
const msg = document.createElement("div");
53+
msg.classList.add("message", cssClass);
54+
chat.appendChild(msg);
55+
5556
let index = 0;
5657
const interval = setInterval(() => {
57-
if (index < fullText.length) {
58-
updateCallback(fullText.slice(0, index + 1));
59-
index++;
58+
if (index < text.length) {
59+
msg.textContent += text.charAt(index++);
60+
chat.scrollTop = chat.scrollHeight;
6061
} else {
6162
clearInterval(interval);
62-
doneCallback();
6363
}
64-
}, 20);
64+
}, 15); // pas aan voor snellere/langzamere weergave
6565
}
66-

0 commit comments

Comments
 (0)