v1.8.3: Affichage version firmware dans la sidebar

Ajoute la version firmware sous le nom du capteur dans la sidebar, visible
sur toutes les pages. Permet d'identifier d'un coup d'oeil le chemin de
mise a jour disponible (online git pull vs offline ZIP upload >= v1.4.0).

- launcher.php: get_config_sqlite injecte firmware_version (lu depuis VERSION)
- sidebar.html: ajout d'un <small> sous sideBar_sensorName (statique)
- topbar-logo.js: peuple .sideBar_firmwareVersion via le fetch existant +
  MutationObserver (aucun nouveau fetch -> respecte la limite 6 connexions)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-05-13 12:39:40 +02:00
parent 54283b8e3a
commit c593b152e8
5 changed files with 41 additions and 3 deletions

View File

@@ -37,7 +37,18 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
// 2. Sidebar Screen Tab Logic - Use class since ID might be duplicated (desktop/mobile)
// 2. Sidebar firmware version display
const versionElements = document.querySelectorAll('.sideBar_firmwareVersion');
if (versionElements.length > 0 && config.firmware_version) {
const versionText = 'v' + config.firmware_version;
versionElements.forEach(el => {
if (el.textContent !== versionText) {
el.textContent = versionText;
}
});
}
// 3. Sidebar Screen Tab Logic - Use class since ID might be duplicated (desktop/mobile)
const navScreenElements = document.querySelectorAll('.nav-screen-item');
if (navScreenElements.length > 0) {
navScreenElements.forEach(navScreen => {

View File

@@ -65,7 +65,15 @@ if ($type == "get_config_sqlite") {
$result[$key] = $parsed_value;
}
// Inject firmware version (read from VERSION file, not from DB)
// Piggybacks on this existing fetch so the sidebar can show it without
// a separate AJAX call (avoids hitting the 6-connection browser limit).
$versionFile = '/var/www/nebuleair_pro_4g/VERSION';
$result['firmware_version'] = file_exists($versionFile)
? trim(file_get_contents($versionFile))
: 'unknown';
// Return JSON response
header('Content-Type: application/json');
echo json_encode($result, JSON_PRETTY_PRINT);

View File

@@ -93,6 +93,7 @@
<div class="sidebar-footer text-center text-white">
<hr>
<span class="sideBar_sensorName">NebuleAir</span>
<small class="sideBar_firmwareVersion d-block" style="font-size: 0.7rem; opacity: 0.65;"></small>
<div class="sidebar-hotspot-badge mt-2" style="display:none;">
<a href="wifi.html" class="text-decoration-none">
<span class="badge text-bg-warning w-100 py-2" style="font-size: 0.75rem;">