import { useMemo } from 'react' import { cableTypesForConnection, getPortType } from '../../domain/project' import { useCatalogStore } from '../../state/catalogStore' import { useProjectStore } from '../../state/projectStore' export default function ConnectionInspector({ connectionId }: { connectionId: string }) { const project = useProjectStore((s) => s.project) const catalog = useCatalogStore((s) => s.catalog) const updateConnection = useProjectStore((s) => s.updateConnection) const removeConnection = useProjectStore((s) => s.removeConnection) const connection = project.connections.find((c) => c.id === connectionId) const sourceDevice = project.devices.find((d) => d.id === connection?.sourceDeviceId) const targetDevice = project.devices.find((d) => d.id === connection?.targetDeviceId) const sourcePort = sourceDevice?.ports.find((p) => p.id === connection?.sourcePortId) const targetPort = targetDevice?.ports.find((p) => p.id === connection?.targetPortId) const availableCableTypes = useMemo(() => { if (!sourcePort || !targetPort) return [] const sourcePortType = getPortType(catalog, sourcePort.portTypeId) const targetPortType = getPortType(catalog, targetPort.portTypeId) return sourcePortType && targetPortType ? cableTypesForConnection(catalog, sourcePortType, targetPortType) : [] }, [catalog, sourcePort, targetPort]) const cableCostPerUnit = availableCableTypes.find((ct) => ct.id === connection?.cableTypeId)?.costPerUnit if (!connection || !sourceDevice || !targetDevice || !sourcePort || !targetPort) return null return (