fix(rack-planner): ensure SFP/WAN ports render even when ethernet port count is zero

This commit is contained in:
2026-03-22 15:19:54 -05:00
parent 1f360cdb2a
commit f6b6f49379

View File

@@ -49,15 +49,20 @@ export function ModuleBlock({ module }: ModuleBlockProps) {
// Split Main ports into rows
const portRows: (typeof module.ports)[] = [];
if (mainPorts.length > 0) {
for (let i = 0; i < mainPorts.length; i += PORTS_PER_ROW) {
portRows.push(mainPorts.slice(i, i + PORTS_PER_ROW));
}
} else if (sidePorts.length > 0) {
// If only special ports exist, create an empty first row to hold them
portRows.push([]);
}
// Calculate vertical space
const availableForPorts = height - 16;
const maxRows = Math.max(1, Math.floor(availableForPorts / 14));
const visibleRows = portRows.slice(0, maxRows);
const hiddenPortCount = mainPorts.length - visibleRows.flat().length;
const visibleRows = portRows.length > 0 ? portRows.slice(0, maxRows) : [];
const hiddenPortCount = mainPorts.length - (visibleRows.length > 0 ? visibleRows.flat().length : 0);
// SFP/WAN ports often sit on the far right of the module
// We'll show them on the first row if possible