@@ -7,23 +7,22 @@ form.addEventListener("submit", async (e) => {
77 const message = input . value . trim ( ) ;
88 if ( ! message ) return ;
99
10- appendMessage ( "Gebruiker " , message , "user-message" ) ;
10+ appendMessage ( "user " , message ) ;
1111 input . value = "" ;
1212
13- const agentMsg = appendMessage ( "Agent " , "" , "agent-message" ) ;
13+ const messageContainer = appendMessage ( "assistant " , "" ) ; // placeholder voor stream
1414
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 } )
19+ body : JSON . stringify ( { message } ) ,
2020 } ) ;
2121
2222 if ( ! response . ok || ! response . body ) {
2323 const errorText = await response . text ( ) ;
2424 console . error ( "Responsetekst:" , errorText ) ;
25- agentMsg . textContent = "Er ging iets mis." ;
26- return ;
25+ throw new Error ( `Serverfout: ${ response . status } ` ) ;
2726 }
2827
2928 const reader = response . body . getReader ( ) ;
@@ -33,22 +32,21 @@ form.addEventListener("submit", async (e) => {
3332 while ( true ) {
3433 const { done, value } = await reader . read ( ) ;
3534 if ( done ) break ;
36- const chunk = decoder . decode ( value , { stream : true } ) ;
37- result += chunk ;
38- agentMsg . textContent = result ;
35+ result += decoder . decode ( value , { stream : true } ) ;
36+ messageContainer . innerHTML = result ;
3937 chat . scrollTop = chat . scrollHeight ;
4038 }
4139 } catch ( err ) {
40+ messageContainer . innerHTML = "Er ging iets mis." ;
4241 console . error ( "Fout in fetch:" , err ) ;
43- agentMsg . textContent = "Er ging iets mis." ;
4442 }
4543} ) ;
4644
47- function appendMessage ( sender , text , cssClass ) {
45+ function appendMessage ( role , text ) {
4846 const msg = document . createElement ( "div" ) ;
49- msg . classList . add ( " message", cssClass ) ;
50- msg . innerHTML = `<div><strong> ${ sender } :</strong></div><div> ${ text } </div>` ;
47+ msg . className = "message " + ( role === "user" ? "user- message" : "agent-message" ) ;
48+ msg . innerHTML = text ;
5149 chat . appendChild ( msg ) ;
5250 chat . scrollTop = chat . scrollHeight ;
53- return msg . querySelector ( "div:last-child" ) ;
51+ return msg ;
5452}
0 commit comments