55 < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
66 < meta name ="theme-color " content ="#1e1e1e ">
77 < title > FlashForge Web UI</ title >
8+ < link rel ="icon " type ="image/png " href ="/favicon.png ">
89 < link rel ="stylesheet " href ="gridstack.min.css ">
910 < link rel ="stylesheet " href ="gridstack-extra.min.css ">
1011 < link rel ="stylesheet " href ="webui.css ">
@@ -24,7 +25,7 @@ <h1>FlashForge Web UI</h1>
2425 < span > Remember me</ span >
2526 </ label >
2627 </ div >
27- < button id ="login-button "> Login</ button >
28+ < button id ="login-button " type =" button " > Login</ button >
2829 </ div >
2930 < div id ="login-error " class ="login-error "> </ div >
3031 </ div >
@@ -47,13 +48,14 @@ <h1>FlashForge Web UI</h1>
4748 </ div >
4849 </ div >
4950 < div class ="header-right ">
50- < button id ="edit-mode-toggle " class ="edit-mode-toggle " aria-pressed ="false ">
51+ < button id ="edit-mode-toggle " class ="edit-mode-toggle " aria-pressed ="false " type =" button " >
5152 < i id ="edit-mode-lock-icon " class ="lock-icon " data-lucide ="lock " aria-hidden ="true "> </ i >
5253 < span class ="edit-text "> Locked</ span >
5354 </ button >
5455 < button
5556 id ="settings-button "
5657 class ="settings-button "
58+ type ="button "
5759 aria-haspopup ="dialog "
5860 aria-controls ="settings-modal "
5961 title ="WebUI Settings "
@@ -64,7 +66,7 @@ <h1>FlashForge Web UI</h1>
6466 < span class ="connection-indicator " id ="connection-indicator "> </ span >
6567 < span id ="connection-text "> Disconnected</ span >
6668 </ div >
67- < button id ="logout-button " class ="logout-button "> Logout</ button >
69+ < button id ="logout-button " class ="logout-button " type =" button " > Logout</ button >
6870 </ div >
6971 </ div >
7072
@@ -86,7 +88,7 @@ <h1>FlashForge Web UI</h1>
8688 < div class ="modal-content large ">
8789 < div class ="modal-header ">
8890 < h2 id ="settings-modal-title "> WebUI Settings</ h2 >
89- < button id ="close-settings " class ="close-btn " aria-label ="Close settings "> ×</ button >
91+ < button id ="close-settings " class ="close-btn " aria-label ="Close settings " type =" button " > ×</ button >
9092 </ div >
9193 < div class ="modal-body ">
9294 < section class ="settings-section ">
@@ -135,17 +137,17 @@ <h3>Theme Colors</h3>
135137 </ label >
136138 </ div >
137139 < div class ="theme-buttons ">
138- < button id ="apply-webui-theme-btn " class ="primary-btn "> Apply Theme</ button >
139- < button id ="reset-webui-theme-btn " class ="secondary-btn "> Reset to Default</ button >
140+ < button id ="apply-webui-theme-btn " class ="primary-btn " type =" button " > Apply Theme</ button >
141+ < button id ="reset-webui-theme-btn " class ="secondary-btn " type =" button " > Reset to Default</ button >
140142 </ div >
141143 </ section >
142144 < section class ="settings-section ">
143145 < h3 > Reset</ h3 >
144- < button id ="reset-layout-btn " class ="secondary-btn "> Reset Layout to Default</ button >
146+ < button id ="reset-layout-btn " class ="secondary-btn " type =" button " > Reset Layout to Default</ button >
145147 </ section >
146148 </ div >
147149 < div class ="modal-footer ">
148- < button id ="save-settings-btn " class ="primary-btn "> Save</ button >
150+ < button id ="save-settings-btn " class ="primary-btn " type =" button " > Save</ button >
149151 </ div >
150152 </ div >
151153 </ div >
@@ -155,7 +157,7 @@ <h3>Reset</h3>
155157 < div class ="modal-content ">
156158 < div class ="modal-header ">
157159 < h2 id ="modal-title "> Select File</ h2 >
158- < button id ="close-modal " class ="close-btn "> ×</ button >
160+ < button id ="close-modal " class ="close-btn " type =" button " > ×</ button >
159161 </ div >
160162 < div class ="modal-body ">
161163 < div id ="file-list " class ="file-list "> </ div >
@@ -169,7 +171,7 @@ <h2 id="modal-title">Select File</h2>
169171 < input type ="checkbox " id ="start-now " checked >
170172 < span > Start Now</ span >
171173 </ label >
172- < button id ="print-file-btn " class ="primary-btn " disabled > Print</ button >
174+ < button id ="print-file-btn " class ="primary-btn " type =" button " disabled > Print</ button >
173175 </ div >
174176 </ div >
175177 </ div >
@@ -179,7 +181,7 @@ <h2 id="modal-title">Select File</h2>
179181 < div class ="modal-content material-matching ">
180182 < div class ="modal-header ">
181183 < h2 id ="material-matching-title "> Match Materials</ h2 >
182- < button id ="material-matching-close " class ="close-btn " aria-label ="Close material matching "> ×</ button >
184+ < button id ="material-matching-close " class ="close-btn " aria-label ="Close material matching " type =" button " > ×</ button >
183185 </ div >
184186 < div class ="modal-body ">
185187 < p class ="material-matching-description ">
@@ -214,7 +216,7 @@ <h3>Current Mappings</h3>
214216 < div class ="modal-content ">
215217 < div class ="modal-header ">
216218 < h2 id ="spoolman-modal-title "> Select Spool</ h2 >
217- < button id ="spoolman-modal-close " class ="close-btn " aria-label ="Close spool selection "> ×</ button >
219+ < button id ="spoolman-modal-close " class ="close-btn " aria-label ="Close spool selection " type =" button " > ×</ button >
218220 </ div >
219221 < div class ="modal-body ">
220222 < input
@@ -242,15 +244,15 @@ <h2 id="spoolman-modal-title">Select Spool</h2>
242244 < div class ="modal-content small ">
243245 < div class ="modal-header ">
244246 < h2 id ="temp-dialog-title "> Set Temperature</ h2 >
245- < button id ="close-temp-dialog " class ="close-btn "> ×</ button >
247+ < button id ="close-temp-dialog " class ="close-btn " type =" button " > ×</ button >
246248 </ div >
247249 < div class ="modal-body ">
248250 < p id ="temp-dialog-message "> Enter temperature (°C):</ p >
249251 < input type ="number " id ="temp-input " min ="0 " max ="300 " step ="5 " value ="0 ">
250252 </ div >
251253 < div class ="modal-footer ">
252- < button id ="temp-cancel " class ="secondary-btn "> Cancel</ button >
253- < button id ="temp-confirm " class ="primary-btn "> Set</ button >
254+ < button id ="temp-cancel " class ="secondary-btn " type =" button " > Cancel</ button >
255+ < button id ="temp-confirm " class ="primary-btn " type =" button " > Set</ button >
254256 </ div >
255257 </ div >
256258 </ div >
@@ -260,17 +262,17 @@ <h2 id="temp-dialog-title">Set Temperature</h2>
260262 < div class ="modal-content large ">
261263 < div class ="modal-header ">
262264 < h2 id ="discovery-modal-title "> Add Printer</ h2 >
263- < button id ="close-discovery " class ="close-btn " aria-label ="Close discovery "> ×</ button >
265+ < button id ="close-discovery " class ="close-btn " aria-label ="Close discovery " type =" button " > ×</ button >
264266 </ div >
265267 < div class ="modal-body ">
266268 < div class ="discovery-tabs ">
267- < button class ="discovery-tab-btn active " data-tab ="scan ">
269+ < button class ="discovery-tab-btn active " data-tab ="scan " type =" button " >
268270 < i data-lucide ="wifi " aria-hidden ="true "> </ i > Network Scan
269271 </ button >
270- < button class ="discovery-tab-btn " data-tab ="manual ">
272+ < button class ="discovery-tab-btn " data-tab ="manual " type =" button " >
271273 < i data-lucide ="keyboard " aria-hidden ="true "> </ i > Manual Entry
272274 </ button >
273- < button class ="discovery-tab-btn " data-tab ="saved ">
275+ < button class ="discovery-tab-btn " data-tab ="saved " type =" button " >
274276 < i data-lucide ="archive " aria-hidden ="true "> </ i > Saved Printers
275277 </ button >
276278 </ div >
@@ -282,7 +284,7 @@ <h2 id="discovery-modal-title">Add Printer</h2>
282284 Scan your local network to automatically discover FlashForge printers.
283285 </ p >
284286
285- < button class ="btn btn-primary btn-block " id ="discovery-scan-btn ">
287+ < button class ="btn btn-primary btn-block " id ="discovery-scan-btn " type =" button " >
286288 < i data-lucide ="search " aria-hidden ="true "> </ i > Start Network Scan
287289 </ button >
288290
@@ -322,7 +324,7 @@ <h3>Discovered Printers</h3>
322324 < small class ="form-text "> Required for 5M/Pro printers. Found in printer settings.</ small >
323325 </ div >
324326
325- < button class ="btn btn-primary btn-block " id ="discovery-manual-connect ">
327+ < button class ="btn btn-primary btn-block " id ="discovery-manual-connect " type =" button " >
326328 < i data-lucide ="link " aria-hidden ="true "> </ i > Connect to Printer
327329 </ button >
328330 </ div >
0 commit comments