Skip to content

Commit 8cc2116

Browse files
authored
Update script.js
1 parent 46d98a0 commit 8cc2116

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

script.js

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
1+
function appendMessage(sender, message) {
2+
const chat = document.getElementById("chat");
3+
const msg = document.createElement("div");
4+
5+
msg.classList.add("message");
6+
msg.classList.add(sender === "user" ? "user-message" : "agent-message");
7+
msg.textContent = message;
8+
9+
chat.appendChild(msg);
10+
chat.scrollTop = chat.scrollHeight;
11+
}
12+
113
async function startSignalR() {
214
try {
3-
// Stap 1: Vraag negotiate-informatie op van je Azure Function
415
const response = await fetch("https://chatproxy.azurewebsites.net/api/negotiate", {
516
method: "POST"
617
});
@@ -11,40 +22,41 @@ async function startSignalR() {
1122

1223
const connectionInfo = await response.json();
1324

14-
// Logging: check de opgehaalde data
1525
console.log("🔗 Verbinding URL:", connectionInfo.url);
1626
console.log("🔑 Token start:", connectionInfo.accessToken?.slice(0, 30) + "...");
1727

18-
// Stap 2: Bouw de SignalR-verbinding
1928
const connection = new signalR.HubConnectionBuilder()
2029
.withUrl(connectionInfo.url, {
21-
accessTokenFactory: () => connectionInfo.accessToken
30+
accessTokenFactory: () => connectionInfo.accessToken,
31+
skipNegotiation: true,
32+
transport: signalR.HttpTransportType.WebSockets
2233
})
2334
.configureLogging(signalR.LogLevel.Information)
2435
.build();
2536

26-
// Stap 3: Event handler voor binnenkomende berichten
2737
connection.on("newMessage", message => {
28-
if (typeof appendMessage === "function") {
29-
appendMessage("assistant", message);
30-
} else {
31-
console.log("📩 Bericht ontvangen (fallback):", message);
32-
}
38+
appendMessage("assistant", message);
3339
});
3440

35-
// Stap 4: Start de verbinding
3641
await connection.start();
3742
console.log("✅ Verbonden met SignalR hub");
3843

3944
} catch (err) {
4045
console.error("❌ SignalR fout:", err);
41-
if (typeof appendMessage === "function") {
42-
appendMessage("assistant", "⚠️ Verbinden met SignalR is mislukt.");
43-
} else {
44-
console.warn("⚠️ Verbinding mislukt (fallback):", err.message);
45-
}
46+
appendMessage("assistant", "⚠️ Verbinden met SignalR is mislukt.");
4647
}
4748
}
4849

49-
// Start de verbinding zodra het script geladen wordt
50+
document.getElementById("input-form").addEventListener("submit", async event => {
51+
event.preventDefault();
52+
const inputField = document.getElementById("user-input");
53+
const message = inputField.value.trim();
54+
if (message === "") return;
55+
56+
appendMessage("user", message);
57+
inputField.value = "";
58+
59+
// Hier kun je eventueel later een fetch toevoegen naar je backend
60+
});
61+
5062
startSignalR();

0 commit comments

Comments
 (0)