@@ -10,42 +10,44 @@ form.addEventListener("submit", async (e) => {
1010 appendMessage ( "user" , message ) ;
1111 input . value = "" ;
1212
13- const messageContainer = appendMessage ( "assistant" , "" ) ; // placeholder voor stream
14-
13+ const agentMsg = appendMessage ( "assistant" , "..." ) ; // tijdelijk placeholder
1514 try {
1615 const response = await fetch ( "https://chatproxy.azurewebsites.net/api/chatproxy" , {
1716 method : "POST" ,
1817 headers : { "Content-Type" : "application/json" } ,
19- body : JSON . stringify ( { message } ) ,
18+ body : JSON . stringify ( { message } )
2019 } ) ;
2120
2221 if ( ! response . ok || ! response . body ) {
23- const errorText = await response . text ( ) ;
24- console . error ( "Responsetekst:" , errorText ) ;
25- throw new Error ( `Serverfout: ${ response . status } ` ) ;
22+ agentMsg . textContent = "Er ging iets mis met het ophalen van het antwoord." ;
23+ return ;
2624 }
2725
2826 const reader = response . body . getReader ( ) ;
2927 const decoder = new TextDecoder ( "utf-8" ) ;
30- let result = "" ;
31-
32- while ( true ) {
33- const { done, value } = await reader . read ( ) ;
34- if ( done ) break ;
35- result += decoder . decode ( value , { stream : true } ) ;
36- messageContainer . innerHTML = result ;
37- chat . scrollTop = chat . scrollHeight ;
28+ let done = false ;
29+ let finalText = "" ;
30+
31+ while ( ! done ) {
32+ const { value, done : readerDone } = await reader . read ( ) ;
33+ done = readerDone ;
34+ if ( value ) {
35+ const chunk = decoder . decode ( value , { stream : true } ) ;
36+ finalText += chunk ;
37+ agentMsg . textContent = finalText ;
38+ chat . scrollTop = chat . scrollHeight ;
39+ }
3840 }
3941 } catch ( err ) {
40- messageContainer . innerHTML = "Er ging iets mis." ;
42+ agentMsg . textContent = "Er ging iets mis." ;
4143 console . error ( "Fout in fetch:" , err ) ;
4244 }
4345} ) ;
4446
45- function appendMessage ( role , text ) {
47+ function appendMessage ( sender , text ) {
4648 const msg = document . createElement ( "div" ) ;
47- msg . className = " message " + ( role === "user" ? "user -message" : "agent-message" ) ;
48- msg . innerHTML = text ;
49+ msg . className = ` message ${ sender } -message` ;
50+ msg . textContent = text ;
4951 chat . appendChild ( msg ) ;
5052 chat . scrollTop = chat . scrollHeight ;
5153 return msg ;
0 commit comments