feat(rack-planner): implement port-to-port connections (patch cables) with dynamic SVG visualization layer

This commit is contained in:
2026-03-22 14:55:33 -05:00
parent 444d694a06
commit becb55d57c
13 changed files with 449 additions and 28 deletions
+3 -1
View File
@@ -16,6 +16,7 @@ import { apiClient } from '../../api/client';
import { RackToolbar } from './RackToolbar';
import { RackColumn } from './RackColumn';
import { DevicePalette } from './DevicePalette';
import { ConnectionLayer } from './ConnectionLayer';
import { AddModuleModal } from '../modals/AddModuleModal';
import { RackSkeleton } from '../ui/Skeleton';
import type { ModuleType } from '../../types';
@@ -237,7 +238,7 @@ export function RackPlanner() {
<div className="flex flex-1 overflow-hidden">
<DevicePalette />
<div className="flex-1 overflow-auto">
<div className="flex-1 overflow-auto relative rack-planner-canvas">
{loading ? (
<RackSkeleton />
) : racks.length === 0 ? (
@@ -270,6 +271,7 @@ export function RackPlanner() {
hoverSlot={hoverSlot}
/>
))}
<ConnectionLayer />
</div>
</SortableContext>
)}