()
| 20941 | interfaces.forEach(iface => { |
| 20942 | const statusColor = iface.is_up ? 'text-green-400' : 'text-red-400'; |
| 20943 | const statusText = iface.is_up ? 'UP' : 'DOWN'; |
| 20944 | |
| 20945 | html += ` |
| 20946 | <div class="border border-gray-700 rounded p-3"> |
| 20947 | <div class="flex items-center justify-between mb-2"> |
| 20948 | <span class="font-medium">${iface.name}</span> |
| 20949 | <span class="${statusColor} text-xs">${statusText}</span> |
| 20950 | </div> |
| 20951 | <div class="text-xs text-gray-400 space-y-1"> |
| 20952 | ${iface.speed > 0 ? `<div>Speed: ${iface.speed} Mbps</div>` : ''} |
| 20953 | ${iface.addresses.map(addr => |
| 20954 | `<div>${addr.address} (${addr.family})</div>` |
| 20955 | ).join('')} |
| 20956 | </div> |
| 20957 | </div> |
| 20958 | `; |
| 20959 | }); |
| 20960 | |
| 20961 | networkInterfaces.innerHTML = html; |
| 20962 | } |
| 20963 | |
| 20964 | function updateNetworkStats(data) { |
| 20965 | const networkStats = document.getElementById('network-stats'); |
| 20966 | if (!networkStats) return; |
| 20967 | |
| 20968 | let html = ''; |
| 20969 |
no test coverage detected