Skip to content

Commit 1b4eccc

Browse files
authored
Update script.js
1 parent 44b5a96 commit 1b4eccc

File tree

1 file changed

+2
-81
lines changed

1 file changed

+2
-81
lines changed

script.js

Lines changed: 2 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
const chat = document.getElementById("chat");
22
const form = document.getElementById("input-form");
33
const input = document.getElementById("user-input");
4+
const streamOutput = document.getElementById("stream-output");
45

56
let threadId = null;
67

7-
// Openingsbericht bij het laden van de pagina
88
window.onload = () => {
99
const welkomstHTML = `
1010
Welkom bij de <strong>AI Indicatiehulp</strong>!<br>
1111
Ik ben jouw digitale adviseur voor:<br>
1212
het stellen van de juiste indicatie en het opstellen van een conceptadvies voor de zorgexpert (Kim Brand).<br><br>
13-
1413
<strong>Kies een optie om te starten:</strong><br>
1514
1. In kaart brengen cliëntsituatie<br>
1615
2. Indicatiestelling extramuraal (zorg thuis)<br>
1716
3. Indicatiestelling intramuraal (verpleeghuis)<br><br>
18-
1917
Wil je direct een indicatieadvies laten opstellen? Dan heb ik meer informatie nodig over de cliënt.<br>
2018
Geef bij voorkeur ook je naam en een e-mailadres of telefoonnummer,<br>
2119
zodat we het conceptadvies voor beoordeling kunnen indienen.<br><br>
22-
2320
<em>Met welke optie wil je verder?</em>
2421
`;
2522
appendFormattedMessage("agent-message", welkomstHTML);
@@ -32,80 +29,4 @@ form.addEventListener("submit", async (e) => {
3229

3330
appendMessage("user-message", message);
3431
input.value = "";
35-
36-
try {
37-
const response = await fetch("https://chatproxy.azurewebsites.net/api/chatproxy", {
38-
method: "POST",
39-
headers: { "Content-Type": "application/json" },
40-
body: JSON.stringify({ message, thread_id: threadId })
41-
});
42-
43-
if (!response.ok) {
44-
const errorText = await response.text();
45-
console.error("Responsetekst:", errorText);
46-
throw new Error(`Serverfout: ${response.status}`);
47-
}
48-
49-
const data = await response.json();
50-
threadId = data.thread_id;
51-
streamMessage("agent-message", data.reply);
52-
} catch (err) {
53-
streamMessage("agent-message", "Er ging iets mis.");
54-
console.error("Fout in fetch:", err);
55-
}
56-
});
57-
58-
function appendMessage(cssClass, text) {
59-
const msg = document.createElement("div");
60-
msg.classList.add("message", cssClass);
61-
msg.textContent = text;
62-
chat.appendChild(msg);
63-
chat.scrollTop = chat.scrollHeight;
64-
}
65-
66-
function appendFormattedMessage(cssClass, htmlContent) {
67-
const msg = document.createElement("div");
68-
msg.classList.add("message", cssClass);
69-
msg.innerHTML = htmlContent;
70-
chat.appendChild(msg);
71-
chat.scrollTop = chat.scrollHeight;
72-
}
73-
74-
function streamMessage(cssClass, text) {
75-
const msg = document.createElement("div");
76-
msg.classList.add("message", cssClass);
77-
chat.appendChild(msg);
78-
79-
const lines = text.split("\n").filter(line => line.trim() !== "");
80-
81-
const isNumberedList = lines.length > 1 && lines.every(line => /^\d+\.\s+/.test(line.trim()));
82-
const isBulletedList = lines.length > 1 && lines.every(line => /^[-*]\s+/.test(line.trim()));
83-
84-
if (isNumberedList || isBulletedList) {
85-
const listElement = document.createElement(isNumberedList ? "ol" : "ul");
86-
msg.appendChild(listElement);
87-
let i = 0;
88-
89-
const interval = setInterval(() => {
90-
if (i < lines.length) {
91-
const li = document.createElement("li");
92-
li.textContent = lines[i].replace(/^(\d+\.\s+|[-*]\s+)/, "").trim();
93-
listElement.appendChild(li);
94-
chat.scrollTop = chat.scrollHeight;
95-
i++;
96-
} else {
97-
clearInterval(interval);
98-
}
99-
}, 200);
100-
} else {
101-
let index = 0;
102-
const interval = setInterval(() => {
103-
if (index < text.length) {
104-
msg.textContent += text.charAt(index++);
105-
chat.scrollTop = chat.scrollHeight;
106-
} else {
107-
clearInterval(interval);
108-
}
109-
}, 15);
110-
}
111-
}
32+
streamOutput.textContent =

0 commit comments

Comments
 (0)