fix: firmware page styling

This commit is contained in:
2025-08-29 16:08:54 +02:00
parent 63fa57e666
commit d7c70cf636
5 changed files with 470 additions and 56 deletions

View File

@@ -21,7 +21,8 @@ document.addEventListener('DOMContentLoaded', function() {
// Extract node information for firmware view
const nodes = members.map(member => ({
ip: member.ip,
hostname: member.hostname || member.ip
hostname: member.hostname || member.ip,
labels: member.labels || {}
}));
firmwareViewModel.updateAvailableNodes(nodes);
console.log('App: Updated firmware view model with nodes:', nodes);
@@ -67,6 +68,33 @@ document.addEventListener('DOMContentLoaded', function() {
console.log('=== SPORE UI Application initialization completed ===');
});
// Burger menu toggle for mobile
(function setupBurgerMenu(){
document.addEventListener('DOMContentLoaded', function(){
const nav = document.querySelector('.main-navigation');
const burger = document.getElementById('burger-btn');
const navLeft = nav ? nav.querySelector('.nav-left') : null;
if (!nav || !burger || !navLeft) return;
burger.addEventListener('click', function(e){
e.preventDefault();
nav.classList.toggle('mobile-open');
});
// Close menu when a nav tab is clicked
navLeft.addEventListener('click', function(e){
const btn = e.target.closest('.nav-tab');
if (btn && nav.classList.contains('mobile-open')) {
nav.classList.remove('mobile-open');
}
});
// Close menu on outside click
document.addEventListener('click', function(e){
if (!nav.contains(e.target) && nav.classList.contains('mobile-open')) {
nav.classList.remove('mobile-open');
}
});
});
})();
// Set up periodic updates with state preservation
function setupPeriodicUpdates() {
// Auto-refresh cluster members every 30 seconds using smart update