Skip to content

Commit 0dc9054

Browse files
committed
fix(webui): add a packaged favicon
1 parent 4749ea4 commit 0dc9054

3 files changed

Lines changed: 24 additions & 22 deletions

File tree

scripts/copy-webui-assets.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const path = require('path');
1313
// Configuration
1414
const srcDir = 'src/webui/static';
1515
const destDir = 'dist/webui/static';
16-
const filesToCopy = ['index.html', 'webui.css', 'gridstack-extra.min.css'];
16+
const filesToCopy = ['index.html', 'webui.css', 'gridstack-extra.min.css', 'favicon.png'];
1717

1818
// Vendor library to copy from node_modules
1919
const vendorLibraries = [

src/webui/static/favicon.png

337 KB
Loading

src/webui/static/index.html

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
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">&times;</button>
91+
<button id="close-settings" class="close-btn" aria-label="Close settings" type="button">&times;</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">&times;</button>
160+
<button id="close-modal" class="close-btn" type="button">&times;</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">&times;</button>
184+
<button id="material-matching-close" class="close-btn" aria-label="Close material matching" type="button">&times;</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">&times;</button>
219+
<button id="spoolman-modal-close" class="close-btn" aria-label="Close spool selection" type="button">&times;</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">&times;</button>
247+
<button id="close-temp-dialog" class="close-btn" type="button">&times;</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">&times;</button>
265+
<button id="close-discovery" class="close-btn" aria-label="Close discovery" type="button">&times;</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

Comments
 (0)