Update all icons to use local Heroicons - fix fan icons

This commit is contained in:
devmatrix 2026-02-20 19:40:35 +00:00
parent 85e4c9155f
commit 49b5878940
6 changed files with 21 additions and 12 deletions

1
data/users.json Normal file
View File

@ -0,0 +1 @@
{"users": {"admin": "ecd71870d1963316a97e3ac3408c9835ad8cf0f3c1bc703527c30265534f75ae"}}

View File

@ -1,8 +1,7 @@
INFO: Started server process [61446]
INFO: Started server process [64283]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 192.168.5.30:53794 - "GET /api/status HTTP/1.1" 401 Unauthorized
INFO: 192.168.5.30:53794 - "GET /login HTTP/1.1" 200 OK
INFO: 127.0.0.1:42864 - "GET /icons/fire.svg HTTP/1.1" 200 OK
INFO: 192.168.5.30:53794 - "GET /icons/fire.svg HTTP/1.1" 200 OK
INFO: 127.0.0.1:39150 - "GET /icons/wifi.svg HTTP/1.1" 200 OK
INFO: 127.0.0.1:39164 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:41300 - "GET / HTTP/1.1" 200 OK

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75"/>
</svg>

After

Width:  |  Height:  |  Size: 429 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
<path stroke-linecap="round" stroke-linejoin="round" d="M7.5 3.75H6A2.25 2.25 0 0 0 3.75 6v1.5M16.5 3.75H18A2.25 2.25 0 0 1 20.25 6v1.5m0 9V18A2.25 2.25 0 0 1 18 20.25h-1.5m-9 0H6A2.25 2.25 0 0 1 3.75 18v-1.5M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 406 B

3
static/icons/wifi.svg Normal file
View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
<path stroke-linecap="round" stroke-linejoin="round" d="M8.288 15.038a5.25 5.25 0 0 1 7.424 0M5.106 11.856c3.807-3.808 9.98-3.808 13.788 0M1.924 8.674c5.565-5.565 14.587-5.565 20.152 0M12.53 18.22l-.53.53-.53-.53a.75.75 0 0 1 1.06 0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 396 B

View File

@ -501,7 +501,7 @@ def get_html(theme="dark"):
<div class="value" id="val-temp">-</div>
</div>
<div class="status-item" id="status-fans">
<div class="icon"><img src="/icons/sparkles.svg" alt=""></div>
<div class="icon"><img src="/icons/wifi.svg" alt=""></div>
<div class="label">Fan Speed</div>
<div class="value" id="val-fans">-</div>
</div>
@ -515,7 +515,7 @@ def get_html(theme="dark"):
<!-- Quick Controls -->
<div class="card">
<h2><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="6" cy="12" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="18" cy="18" r="3"/><path d="M9 12h3m3-6h-3m3 12h-3" stroke-linecap="round"/></svg></span>Quick Controls</h2>
<h2><img src="/icons/adjustments-horizontal.svg" class="icon-svg" alt=""> Quick Controls</h2>
<div style="display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px;">
<button class="success" onclick="setAuto(true)">Start Auto</button>
<button class="danger" onclick="setAuto(false)">Stop Auto</button>
@ -533,7 +533,7 @@ def get_html(theme="dark"):
<!-- Temperatures -->
<div class="card">
<h2><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"/><circle cx="11.5" cy="18.5" r="2" fill="currentColor"/></svg></span>Temperatures</h2>
<h2><img src="/icons/fire.svg" class="icon-svg" alt=""> Temperatures</h2>
<div class="temp-grid" id="temp-grid">
<div class="temp-item"><span>Loading...</span></div>
</div>
@ -541,7 +541,7 @@ def get_html(theme="dark"):
<!-- Fans -->
<div class="card">
<h2><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="3"/><path d="M12 12c0-3 2-5 5-5s5 2 5 5-2 5-5 5" stroke-linecap="round"/><path d="M12 12c0 3-2 5-5 5s-5-2-5-5 2-5 5-5" stroke-linecap="round"/><path d="M12 12c3 0 5-2 5-5s-2-5-5-5-5 2-5 5" stroke-linecap="round"/><path d="M12 12c-3 0-5 2-5 5s2 5 5 5 5-2 5-5" stroke-linecap="round"/></svg></span>Fans</h2>
<h2><img src="/icons/viewfinder-circle.svg" class="icon-svg" alt=""> Fans</h2>
<div class="fan-grid" id="fan-grid">
<div class="fan-card">Loading...</div>
</div>
@ -553,9 +553,9 @@ def get_html(theme="dark"):
<button class="tab active" onclick="showTab('ipmi')"><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="3" width="20" height="6" rx="2"/><rect x="2" y="11" width="20" height="6" rx="2"/><rect x="2" y="19" width="20" height="3" rx="1.5"/></svg></span>IPMI</button>
<button class="tab" onclick="showTab('http')"><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="10"/><path d="M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></span>HTTP</button>
<button class="tab" onclick="showTab('control')"><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg></span>Control</button>
<button class="tab" onclick="showTab('fans')"><span class="icon-svg"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48 2.83-2.83" stroke-linecap="round"/></svg></span>Fans</button>
<button class="tab" onclick="showTab('curves')"><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 3v18h18"/><path d="M19 9l-5 5-4-4-3 3" stroke-linecap="round" stroke-linejoin="round"/></svg></span>Curves</button>
<button class="tab" onclick="showTab('logs')"><span class="icon-svg"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg></span>Logs</button>
<button class="tab" onclick="showTab('fans')"><img src="/icons/viewfinder-circle.svg" class="icon-svg" alt=""> Fans</button>
<button class="tab" onclick="showTab('curves')"><img src="/icons/chart-bar.svg" class="icon-svg" alt=""> Curves</button>
<button class="tab" onclick="showTab('logs')"><img src="/icons/document-text.svg" class="icon-svg" alt=""> Logs</button>
</div>
<div id="tab-ipmi" class="tab-content active">