diff --git a/app/src/molecules/ModuleInfo/ModuleInfo.tsx b/app/src/molecules/ModuleInfo/ModuleInfo.tsx index 3e68079bd5f..cbde3fad02c 100644 --- a/app/src/molecules/ModuleInfo/ModuleInfo.tsx +++ b/app/src/molecules/ModuleInfo/ModuleInfo.tsx @@ -48,7 +48,11 @@ export const ModuleInfo = (props: ModuleInfoProps): JSX.Element => { if (physicalPort === null && isAttached) { connectionStatus = t('usb_connected_no_port_info') } else if (physicalPort != null && isAttached) { - connectionStatus = t('usb_port_connected', { port: physicalPort.port }) + const portDisplay = + physicalPort?.hubPort != null + ? `${physicalPort.port}.${physicalPort.hubPort}` + : physicalPort?.port + connectionStatus = t('usb_port_connected', { port: portDisplay }) } return ( diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupModuleAndDeck/SetupModulesList.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupModuleAndDeck/SetupModulesList.tsx index e172b6ffb11..81299ca291b 100644 --- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupModuleAndDeck/SetupModulesList.tsx +++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupModuleAndDeck/SetupModulesList.tsx @@ -298,6 +298,11 @@ export function ModulesListItem({ // convert slot name to cutout id const cutoutIdForSlotName = getCutoutIdForSlotName(slotName, deckDef) + const portDisplay = + attachedModuleMatch?.usbPort?.hubPort != null + ? `${attachedModuleMatch.usbPort.port}.${attachedModuleMatch.usbPort.hubPort}` + : attachedModuleMatch?.usbPort?.port + return ( <> {showLocationConflictModal && cutoutIdForSlotName != null ? ( @@ -369,10 +374,10 @@ export function ModulesListItem({ : TC_MODULE_LOCATION_OT2 : slotName} - {attachedModuleMatch?.usbPort.port != null ? ( + {portDisplay != null ? ( {t('usb_port_number', { - port: attachedModuleMatch.usbPort.port, + port: portDisplay, })} ) : null}