@@ -4,7 +4,7 @@ const input = document.getElementById("user-input");
44
55let threadId = null ;
66
7- // Openingsbericht bij laden van de pagina
7+ // Openingsbericht bij het laden van de pagina
88window . onload = ( ) => {
99 const welkomstHTML = `
1010 Welkom bij de <strong>AI Indicatiehulp</strong>!<br>
@@ -76,33 +76,21 @@ function streamMessage(cssClass, text) {
7676 msg . classList . add ( "message" , cssClass ) ;
7777 chat . appendChild ( msg ) ;
7878
79- const numberedItems = text . match ( / ( \d + \. \s [ ^ ( \d + \. ) ] + ) / g) ;
80- const bulletedItems = text . match ( / ( [ * - • ] \s [ ^ * - • ] + ) / g) ;
79+ const lines = text . split ( "\n" ) . filter ( line => line . trim ( ) !== "" ) ;
8180
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 ) ;
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 ) ;
10087 let i = 0 ;
88+
10189 const interval = setInterval ( ( ) => {
102- if ( i < bulletedItems . length ) {
90+ if ( i < lines . length ) {
10391 const li = document . createElement ( "li" ) ;
104- li . textContent = bulletedItems [ i ] . trim ( ) ;
105- ul . appendChild ( li ) ;
92+ li . textContent = lines [ i ] . replace ( / ^ ( \d + \. \s + | [ - * • ] \s + ) / , "" ) . trim ( ) ;
93+ listElement . appendChild ( li ) ;
10694 chat . scrollTop = chat . scrollHeight ;
10795 i ++ ;
10896 } else {
@@ -121,3 +109,4 @@ function streamMessage(cssClass, text) {
121109 } , 15 ) ;
122110 }
123111}
112+
0 commit comments