@@ -2,13 +2,17 @@ document.addEventListener('DOMContentLoaded', () => {
22 const form = document . getElementById ( 'question-form' ) ;
33 const responseContainer = document . getElementById ( 'response-container' ) ;
44 const stopButton = document . getElementById ( 'stop-button' ) ;
5+ const submitButton = document . querySelector ( 'button[type="submit"]' ) ; // Select the submit button
56
67 let eventSource ;
78 let completeResponse = '' ;
89
910 form . addEventListener ( 'submit' , function ( event ) {
1011 event . preventDefault ( ) ; // Prevent the default form submission
1112
13+ // Disable the submit button
14+ submitButton . disabled = true ;
15+
1216 // Clear any previous responses
1317 responseContainer . innerHTML = '' ;
1418 completeResponse = '' ;
@@ -28,6 +32,8 @@ document.addEventListener('DOMContentLoaded', () => {
2832 if ( event . data === null ) {
2933 // Close the event source if no more data
3034 eventSource . close ( ) ;
35+ // Re-enable the submit button
36+ submitButton . disabled = false ;
3137 return ;
3238 }
3339
@@ -41,6 +47,8 @@ document.addEventListener('DOMContentLoaded', () => {
4147 eventSource . onerror = function ( event ) {
4248 console . error ( "EventSource failed:" , event ) ;
4349 eventSource . close ( ) ;
50+ // Re-enable the submit button
51+ submitButton . disabled = false ;
4452 } ;
4553 } ) ;
4654
@@ -49,6 +57,8 @@ document.addEventListener('DOMContentLoaded', () => {
4957 if ( eventSource ) {
5058 eventSource . close ( ) ;
5159 responseContainer . innerHTML += '<p>Streaming stopped.</p>' ;
60+ // Re-enable the submit button
61+ submitButton . disabled = false ;
5262 }
5363 } ) ;
5464} ) ;
0 commit comments