fix(ui): logo dynamique ne s'affichait pas (innerHTML n'exécute pas les scripts)

Le script dans topbar.html ne s'exécutait pas car innerHTML ignore les
balises <script>. Déplacé la logique dans un fichier JS séparé
(topbar-logo.js) avec MutationObserver pour détecter l'insertion du topbar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-02-17 10:43:38 +01:00
parent f8f5300b9b
commit ea2642685c
11 changed files with 28 additions and 10 deletions

View File

@@ -0,0 +1,19 @@
// Switch topbar logo based on device_type config
// Uses MutationObserver to detect when topbar is dynamically loaded
(function() {
var observer = new MutationObserver(function() {
var logo = document.getElementById('topbar-logo');
if (logo) {
observer.disconnect();
fetch('launcher.php?type=get_config_sqlite')
.then(function(r) { return r.json(); })
.then(function(config) {
if (config.device_type === 'moduleair_pro') {
logo.src = 'assets/img/logoModuleAir.png';
}
})
.catch(function() {});
}
});
observer.observe(document.body || document.documentElement, { childList: true, subtree: true });
})();