@@ -732,14 +732,14 @@ <h1>BCOS Badge Generator</h1>
732732 img . alt = `BCOS Badge for ${ certId } ` ;
733733
734734 img . onload = ( ) => {
735- previewArea . innerHTML = '' ;
735+ previewArea . replaceChildren ( ) ;
736736 previewArea . appendChild ( img ) ;
737737 resolve ( ) ;
738738 } ;
739739
740740 img . onerror = ( ) => {
741741 // For demo purposes, show a placeholder if endpoint is unavailable
742- previewArea . innerHTML = '' ;
742+ previewArea . replaceChildren ( ) ;
743743 const container = document . createElement ( 'div' ) ;
744744 container . style . textAlign = 'left' ;
745745
@@ -808,7 +808,11 @@ <h1>BCOS Badge Generator</h1>
808808 function setLoading ( loading ) {
809809 if ( loading ) {
810810 generateBtn . disabled = true ;
811- generateBtn . innerHTML = '<span class="spinner"></span>Generating...' ;
811+ generateBtn . replaceChildren ( ) ;
812+ const spinner = document . createElement ( 'span' ) ;
813+ spinner . className = 'spinner' ;
814+ generateBtn . appendChild ( spinner ) ;
815+ generateBtn . appendChild ( document . createTextNode ( 'Generating...' ) ) ;
812816 } else {
813817 generateBtn . disabled = false ;
814818 generateBtn . textContent = 'Generate Badge' ;
@@ -821,7 +825,7 @@ <h1>BCOS Badge Generator</h1>
821825 currentStyle = 'flat' ;
822826 styleBtns . forEach ( b => b . classList . remove ( 'active' ) ) ;
823827 styleBtns [ 0 ] . classList . add ( 'active' ) ;
824- previewArea . innerHTML = '' ;
828+ previewArea . replaceChildren ( ) ;
825829 const span = document . createElement ( 'span' ) ;
826830 span . className = 'preview-placeholder' ;
827831 span . textContent = 'Enter a Certificate ID and click "Generate Preview" to see your badge' ;
0 commit comments