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:
19
html/assets/js/topbar-logo.js
Normal file
19
html/assets/js/topbar-logo.js
Normal 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 });
|
||||
})();
|
||||
Reference in New Issue
Block a user