feat(canvas): raise switch port cap to 64, add port numbers and fibre edge type

Issue #20: bump MAX_BOTTOM_HANDLES 48 -> 64 (covers 48+4 SFP switches) and add
a per-node "Show Port Numbers" toggle that labels each bottom connection point.

Issue #21: add `fibre` as a first-class edge/connection type (bright cyan with a
subtle glow) alongside ethernet/wifi/iot/vlan/virtual/cluster - selectable in the
edge modal, themeable, registered in the React Flow edgeTypes registry, and
round-tripped through YAML import/export.

Backport of homelable-hacs PR #23.

ha-relevant: yes
This commit is contained in:
Pouzor
2026-05-29 17:56:51 +02:00
parent b5628e18fa
commit 1431f5b19e
20 changed files with 161 additions and 17 deletions
+6
View File
@@ -86,6 +86,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#00d4ff',
virtual: '#8b949e',
cluster: '#ff6e00',
fibre: '#22d3ee',
},
edgeSelectedColor: '#00d4ff',
edgeLabelBackground:'#161b22',
@@ -149,6 +150,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#22d3ee',
virtual: '#6b7280',
cluster: '#fb923c',
fibre: '#06b6d4',
},
edgeSelectedColor: '#22d3ee',
edgeLabelBackground:'#111111',
@@ -212,6 +214,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#0284c7',
virtual: '#9ca3af',
cluster: '#ea580c',
fibre: '#0891b2',
},
edgeSelectedColor: '#0284c7',
edgeLabelBackground:'#ffffff',
@@ -275,6 +278,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#00ffff',
virtual: '#8888cc',
cluster: '#ff8800',
fibre: '#00e5ff',
},
edgeSelectedColor: '#00ffff',
edgeLabelBackground:'#0a0a1a',
@@ -338,6 +342,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#00cc33',
virtual: '#004400',
cluster: '#33ff66',
fibre: '#00ffcc',
},
edgeSelectedColor: '#00ff41',
edgeLabelBackground:'#001100',
@@ -401,6 +406,7 @@ export const THEMES: Record<ThemeId, ThemePreset> = {
vlan: '#00d4ff',
virtual: '#8b949e',
cluster: '#ff6e00',
fibre: '#22d3ee',
},
edgeSelectedColor: '#00d4ff',
edgeLabelBackground:'#161b22',