From de35f543ac73bdbd52dd95ce665c885f95387b06 Mon Sep 17 00:00:00 2001 From: ncdiehl11 Date: Mon, 12 Aug 2024 14:08:22 -0400 Subject: [PATCH 1/4] fix(app, components): update style of LabwareStackModal Updates style of `LabwareStackModal` component according to design changes --- .../modules/heaterShakerModuleV1@3x.png | Bin 8225 -> 18492 bytes .../SetupLabware/LabwareStackModal.tsx | 98 ++++++++++-------- .../Labware/LabwareStackRender.tsx | 2 +- 3 files changed, 58 insertions(+), 42 deletions(-) diff --git a/app/src/assets/images/modules/heaterShakerModuleV1@3x.png b/app/src/assets/images/modules/heaterShakerModuleV1@3x.png index b3904f52eb8fefd9d53171c506b8e4cb7629182a..475da933864c90620598f8b0094d490525634537 100644 GIT binary patch literal 18492 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 TkQ0mP00000NkvXXu0mjf-{>IJ diff --git a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx index 962f5c579c2..b9459d6ffbb 100644 --- a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx +++ b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx @@ -41,6 +41,17 @@ const HIDE_SCROLLBAR = css` } ` +const IMAGE_STYLE = css` + max-width: 11.5rem; + max-height: 6.875rem; +` + +const IMAGE_CONTAINER_STYLE = css` + width: 11.5rem; + height: 100%; + justify-content: ${JUSTIFY_CENTER}; +` + interface LabwareStackModalProps { labwareIdTop: string runId: string @@ -69,7 +80,10 @@ export const LabwareStackModal = ( } = getLocationInfoNames(labwareIdTop, commands) const topDefinition = getSlotLabwareDefinition(labwareIdTop, commands) - const adapterDef = getSlotLabwareDefinition(adapterId ?? '', commands) + const adapterDef = + adapterId != null + ? getSlotLabwareDefinition(adapterId ?? '', commands) + : null const isModuleThermocycler = moduleModel == null ? false @@ -80,16 +94,12 @@ export const LabwareStackModal = ( : TC_MODULE_LOCATION_OT2 const moduleDisplayName = moduleModel != null ? getModuleDisplayName(moduleModel) : null ?? '' - const tiprackAdapterImg = ( - - ) + const isAdapterForTiprack = + adapterDef?.parameters.loadName === 'opentrons_flex_96_tiprack_adapter' + const tiprackAdapterImg = const moduleImg = moduleModel != null ? ( - + ) : null return isOnDevice ? ( @@ -125,12 +135,14 @@ export const LabwareStackModal = ( text={labwareName} subText={labwareNickname} /> - + + + @@ -142,16 +154,17 @@ export const LabwareStackModal = ( gridGap={SPACING.spacing32} > - {adapterDef.parameters.loadName === - 'opentrons_flex_96_tiprack_adapter' ? ( - tiprackAdapterImg + {isAdapterForTiprack ? ( + {tiprackAdapterImg} ) : ( - + + + )} {moduleModel != null ? ( @@ -166,7 +179,7 @@ export const LabwareStackModal = ( gridGap={SPACING.spacing32} > - {moduleImg} + {moduleImg} ) : null} @@ -194,12 +207,14 @@ export const LabwareStackModal = ( justifyContent={JUSTIFY_SPACE_BETWEEN} > - + + + @@ -211,16 +226,17 @@ export const LabwareStackModal = ( justifyContent={JUSTIFY_SPACE_BETWEEN} > - {adapterDef.parameters.loadName === - 'opentrons_flex_96_tiprack_adapter' ? ( - tiprackAdapterImg + {isAdapterForTiprack ? ( + {tiprackAdapterImg} ) : ( - + + + )} {moduleModel != null ? ( @@ -235,7 +251,7 @@ export const LabwareStackModal = ( height="6.875rem" > - {moduleImg} + {moduleImg} ) : null} diff --git a/components/src/hardware-sim/Labware/LabwareStackRender.tsx b/components/src/hardware-sim/Labware/LabwareStackRender.tsx index 6b1b9aec35d..bbd017cd868 100644 --- a/components/src/hardware-sim/Labware/LabwareStackRender.tsx +++ b/components/src/hardware-sim/Labware/LabwareStackRender.tsx @@ -27,7 +27,7 @@ export interface LabwareStackRenderProps { /** highlight bottom labware if it exists */ highlightBottom: boolean gRef?: React.RefObject - definitionBottom?: LabwareDefinition2 + definitionBottom?: LabwareDefinition2 | null shouldRotateAdapterOrientation?: boolean /** option to show well labels inside or outside of labware outline */ wellLabelOption?: WellLabelOption From 1a098c50dd73f598ec5032186871e07c15652faf Mon Sep 17 00:00:00 2001 From: ncdiehl11 Date: Mon, 12 Aug 2024 14:27:50 -0400 Subject: [PATCH 2/4] refactor container style --- .../SetupLabware/LabwareStackModal.tsx | 42 ++++++------------- 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx index b9459d6ffbb..e3952fb9275 100644 --- a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx +++ b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx @@ -52,6 +52,12 @@ const IMAGE_CONTAINER_STYLE = css` justify-content: ${JUSTIFY_CENTER}; ` +const LIST_ITEM_STYLE = css` + align-items: ${ALIGN_CENTER}; + height: 6.875rem; + justify-content: ${JUSTIFY_SPACE_BETWEEN}; +` + interface LabwareStackModalProps { labwareIdTop: string runId: string @@ -125,11 +131,7 @@ export const LabwareStackModal = ( width="41.675rem" > <> - + {adapterDef != null ? ( <> - + {isAdapterForTiprack ? ( {tiprackAdapterImg} @@ -173,11 +171,7 @@ export const LabwareStackModal = ( ) : null} {moduleModel != null ? ( - + {moduleImg} @@ -201,11 +195,7 @@ export const LabwareStackModal = ( <> - + {adapterDef != null ? ( <> - + {isAdapterForTiprack ? ( {tiprackAdapterImg} @@ -245,11 +231,7 @@ export const LabwareStackModal = ( ) : null} {moduleModel != null ? ( - + {moduleImg} From 293b0f3a927e070d668a074bf30f0cf092080a87 Mon Sep 17 00:00:00 2001 From: ncdiehl11 Date: Mon, 12 Aug 2024 14:29:28 -0400 Subject: [PATCH 3/4] fix highlighting for single entities on ODD --- .../Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx index e3952fb9275..bf2c6e39f49 100644 --- a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx +++ b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx @@ -142,7 +142,7 @@ export const LabwareStackModal = ( definitionTop={topDefinition} definitionBottom={adapterDef} highlightBottom={false} - highlightTop={true} + highlightTop={adapterDef != null && !isAdapterForTiprack} /> From e04210828d695fbe223d406117a979c0d002e867 Mon Sep 17 00:00:00 2001 From: ncdiehl11 Date: Tue, 13 Aug 2024 10:47:09 -0400 Subject: [PATCH 4/4] fix scroll issue on ODD --- .../Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx index bf2c6e39f49..9a72944a95d 100644 --- a/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx +++ b/app/src/organisms/Devices/ProtocolRun/SetupLabware/LabwareStackModal.tsx @@ -121,13 +121,13 @@ export const LabwareStackModal = ( ), onClick: closeModal, + padding: `${SPACING.spacing32} ${SPACING.spacing32} ${SPACING.spacing12}`, }} > <>