feat(app): Refactor labware details into labware & liquid details, accomodate stacking#17896
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## chore_release-8.4.0 #17896 +/- ##
=======================================================
- Coverage 24.59% 23.00% -1.59%
=======================================================
Files 2935 2945 +10
Lines 225055 226728 +1673
Branches 18918 18860 -58
=======================================================
- Hits 55344 52164 -3180
- Misses 169699 174553 +4854
+ Partials 12 11 -1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
sfoster1
left a comment
There was a problem hiding this comment.
Looking good overall but I think it has a problematic reverse() in there.
Is there any chance that some of these kind of gross size constants can be less gross, or more constant?
| liquidsByIdForLabware: LabwareByLiquidId | ||
| } | ||
|
|
||
| const HIDE_SCROLLBAR = css` |
There was a problem hiding this comment.
this is in here a couple times - can we put this in components somewhere?
| return ( | ||
| <Flex | ||
| flexDirection={DIRECTION_COLUMN} | ||
| height={isOnDevice ? '23.70375rem' : '26rem'} |
There was a problem hiding this comment.
That is a weird number... can it be a nicer rem fraction? can it be a constant?
There was a problem hiding this comment.
yeah, I think the number is nicer in PX but I'll see what I can do. A lot of these constants are for fixed height modals that design has introduced like "350px" which doesn't translate nicely
|
Oh also maybe better as future work but do you think we could give |
| height={isOnDevice ? '23.70375rem' : '26rem'} | ||
| overflowY="auto" | ||
| css={HIDE_SCROLLBAR} | ||
| minWidth="10.313rem" |
There was a problem hiding this comment.
this one probably too
| ) | ||
| return labwareOnAdapter != null ? null : ( | ||
| <StyledText | ||
| width="6.25rem" |
There was a problem hiding this comment.
is there a constant for this?
… button, fix thermocycler location on OT2
TamarZanzouri
left a comment
There was a problem hiding this comment.
gave some feedback! over all looks good!
sfoster1
left a comment
There was a problem hiding this comment.
Thanks for fixing that stuff! Looks good to me!
TamarZanzouri
left a comment
There was a problem hiding this comment.
Exciting! Nice job!
Fix EXEC-1220, EXEC-1223, EXEC-1303, EXEC-1304, EXEC-1305, EXEC-1092
Overview
This is a monster of a PR - sorry for the extensive changes but it's hard to break this up! At a high level, this PR does the following main things:
getStackedItemsOnStartingDeckthat utilizes the newlabwareSequencefield on command results to construct a starting deck state, with shape [slotName: string]: StackItem[] where StackItems are either modules or labware.Test Plan and Hands on Testing
I've tested this with a variety of protocols with the following:
I still need to test:
Videos of changes are here:
https://github.com/user-attachments/assets/9439eee0-eab4-4265-bf4d-64ba1bee2e11
https://github.com/user-attachments/assets/98f9bd0e-64f4-4763-b16a-197fade78094
https://github.com/user-attachments/assets/e7378773-da95-4de1-9e7c-1b6bdcd22501
https://github.com/user-attachments/assets/47ec4a6b-9f55-4ae5-b596-584461292420
Screenshots for OT-2 and Offdeck:


Changelog
getStackedItemsOnStartingDeckthat utilizes the newlabwareSequencefield on command results to construct a starting deck state, with shape [slotName: string]: StackItem[] where StackItems are either modules or labware.SetupLabwareStackViewwhich shows labware render and stacked items per slot. Open this view whenever a labware or labware line item is pressed. MoveLabwareLiquidDetailModalinto this folder and launch from this new viewSlotDetailModalwhich includes both labware stack and liquid details for the given slotReview requests
Take a look at the new utility and how the screens are now organized. This was my first pass on these changes, I'm going to be cleaning things up further and consolidating views where possible as I adapt this further to accommodate stacker commands and designs
Risk assessment
Medium - changes the source of truth for starting deck state for protocol setup
NOTE: Still working on test and story updates, but this is ready for a first look if you have time!