@@ -4,7 +4,7 @@ const input = document.getElementById("user-input");
44
55let threadId = null ;
66
7- // Openingsbericht bij het laden van de pagina
7+ // Openingsbericht bij laden van de pagina
88window . onload = ( ) => {
99 const welkomstHTML = `
1010 Welkom bij de <strong>AI Indicatiehulp</strong>!<br>
@@ -76,21 +76,33 @@ function streamMessage(cssClass, text) {
7676 msg . classList . add ( "message" , cssClass ) ;
7777 chat . appendChild ( msg ) ;
7878
79- const lines = text . split ( "\n" ) . filter ( line => line . trim ( ) !== "" ) ;
79+ const numberedItems = text . match ( / ( \d + \. \s [ ^ ( \d + \. ) ] + ) / g) ;
80+ const bulletedItems = text . match ( / ( [ * - • ] \s [ ^ * - • ] + ) / g) ;
8081
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 ) ;
82+ if ( numberedItems && numberedItems . length >= 2 ) {
83+ const ol = document . createElement ( "ol" ) ;
84+ msg . appendChild ( ol ) ;
85+ let i = 0 ;
86+ const interval = setInterval ( ( ) => {
87+ if ( i < numberedItems . length ) {
88+ const li = document . createElement ( "li" ) ;
89+ li . textContent = numberedItems [ i ] . trim ( ) ;
90+ ol . appendChild ( li ) ;
91+ chat . scrollTop = chat . scrollHeight ;
92+ i ++ ;
93+ } else {
94+ clearInterval ( interval ) ;
95+ }
96+ } , 200 ) ;
97+ } else if ( bulletedItems && bulletedItems . length >= 2 ) {
98+ const ul = document . createElement ( "ul" ) ;
99+ msg . appendChild ( ul ) ;
87100 let i = 0 ;
88-
89101 const interval = setInterval ( ( ) => {
90- if ( i < lines . length ) {
102+ if ( i < bulletedItems . length ) {
91103 const li = document . createElement ( "li" ) ;
92- li . textContent = lines [ i ] . replace ( / ^ ( \d + \. \s + | [ - * • ] \s + ) / , "" ) . trim ( ) ;
93- listElement . appendChild ( li ) ;
104+ li . textContent = bulletedItems [ i ] . trim ( ) ;
105+ ul . appendChild ( li ) ;
94106 chat . scrollTop = chat . scrollHeight ;
95107 i ++ ;
96108 } else {
0 commit comments