Skip to content

Commit 0ed1183

Browse files
authored
Update script.js
1 parent 730e52b commit 0ed1183

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

script.js

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,53 @@ 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
6-
75
form.addEventListener("submit", async (e) => {
86
e.preventDefault();
97
const message = input.value.trim();
108
if (!message) return;
119

12-
appendMessage("Gebruiker", message);
10+
appendMessage("Gebruiker", message, "user-message");
1311
input.value = "";
1412

13+
const agentMsg = appendMessage("Agent", "", "agent-message");
14+
1515
try {
1616
const response = await fetch("https://chatproxy.azurewebsites.net/api/chatproxy", {
1717
method: "POST",
1818
headers: { "Content-Type": "application/json" },
19-
body: JSON.stringify({ message, thread_id: threadId })
19+
body: JSON.stringify({ message })
2020
});
2121

22-
if (!response.ok) {
22+
if (!response.ok || !response.body) {
2323
const errorText = await response.text();
2424
console.error("Responsetekst:", errorText);
25-
throw new Error(`Serverfout: ${response.status}`);
25+
agentMsg.textContent = "Er ging iets mis.";
26+
return;
2627
}
2728

28-
const data = await response.json();
29-
appendMessage("Agent", data.reply);
30-
threadId = data.thread_id; // Bewaar thread_id voor vervolgvragen
29+
const reader = response.body.getReader();
30+
const decoder = new TextDecoder("utf-8");
31+
let result = "";
32+
33+
while (true) {
34+
const { done, value } = await reader.read();
35+
if (done) break;
36+
const chunk = decoder.decode(value, { stream: true });
37+
result += chunk;
38+
agentMsg.textContent = result;
39+
chat.scrollTop = chat.scrollHeight;
40+
}
3141
} catch (err) {
32-
appendMessage("Agent", "Er ging iets mis.");
3342
console.error("Fout in fetch:", err);
43+
agentMsg.textContent = "Er ging iets mis.";
3444
}
3545
});
3646

37-
function appendMessage(sender, text) {
47+
function appendMessage(sender, text, cssClass) {
3848
const msg = document.createElement("div");
39-
msg.classList.add("message", sender === "Gebruiker" ? "user-message" : "agent-message");
40-
msg.innerHTML = `<div><strong>${sender}:</strong> ${text}</div>`;
49+
msg.classList.add("message", cssClass);
50+
msg.innerHTML = `<div><strong>${sender}:</strong></div><div>${text}</div>`;
4151
chat.appendChild(msg);
4252
chat.scrollTop = chat.scrollHeight;
53+
return msg.querySelector("div:last-child");
4354
}

0 commit comments

Comments
 (0)