feat: add fw tab

This commit is contained in:
2025-08-25 10:00:49 +02:00
parent 9514bf7ac5
commit 381dde1b97
3 changed files with 578 additions and 11 deletions

View File

@@ -13,17 +13,86 @@
<div class="status">🚀 Cluster Online</div>
</div>
<div class="cluster-section">
<div class="cluster-header">
<div class="cluster-title">🌐 Cluster Members</div>
<button class="refresh-btn" onclick="refreshClusterMembers()">
🔄 Refresh
</button>
<div class="main-navigation">
<button class="nav-tab active" data-view="cluster">🌐 Cluster Members</button>
<button class="nav-tab" data-view="firmware">📦 Firmware Management</button>
</div>
<div id="cluster-view" class="view-content active">
<div class="cluster-section">
<div class="cluster-header">
<div class="cluster-title">🌐 Cluster Members</div>
<button class="refresh-btn" onclick="refreshClusterMembers()">
🔄 Refresh
</button>
</div>
<div id="cluster-members-container">
<div class="loading">
<div>Loading cluster members...</div>
</div>
</div>
</div>
<div id="cluster-members-container">
<div class="loading">
<div>Loading cluster members...</div>
</div>
<div id="firmware-view" class="view-content">
<div class="firmware-section">
<div class="firmware-header">
<div class="firmware-title">📦 Firmware Management</div>
<button class="refresh-btn" onclick="refreshFirmwareView()">
🔄 Refresh
</button>
</div>
<div id="firmware-container">
<div class="firmware-overview">
<div class="firmware-stats">
<div class="stat-card">
<div class="stat-title">Total Nodes</div>
<div class="stat-value" id="total-nodes">-</div>
</div>
<div class="stat-card">
<div class="stat-title">Available Updates</div>
<div class="stat-value" id="available-updates">-</div>
</div>
<div class="stat-card">
<div class="stat-title">Last Update</div>
<div class="stat-value" id="last-update">-</div>
</div>
</div>
<div class="firmware-actions">
<div class="action-group">
<h3>📁 Upload New Firmware</h3>
<div class="upload-area-large">
<input type="file" id="global-firmware-file" accept=".bin,.hex" style="display: none;">
<button class="upload-btn-large" onclick="document.getElementById('global-firmware-file').click()">
📁 Choose Firmware File
</button>
<div class="upload-info-large">Select a .bin or .hex file to upload to all nodes</div>
</div>
</div>
<div class="action-group">
<h3>🎯 Target Selection</h3>
<div class="target-selection">
<label>
<input type="radio" name="target-type" value="all" checked> All Nodes
</label>
<label>
<input type="radio" name="target-type" value="specific"> Specific Node
</label>
<select id="specific-node-select" style="display: none;">
<option value="">Select a node...</option>
</select>
</div>
</div>
</div>
</div>
<div class="firmware-nodes-list" id="firmware-nodes-list">
<!-- Nodes will be populated here -->
</div>
</div>
</div>
</div>