Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(app): add labware selection and volume entry screens #15074

Merged
merged 10 commits into from
May 3, 2024

Conversation

smb2268
Copy link
Contributor

@smb2268 smb2268 commented May 2, 2024

fix PLAT-176, PLAT-177, PLAT-237

Overview

This PR adds all functionality necessary for the Source Labware Selection, Destination Labware Selection, and Volume screens of the quick transfer flow

Test Plan

With FF turned on, navigate to the protocols tab and launch the quick transfer flow. All steps of the initial wizard now exist, so you can navigate through the whole flow. After volume entry, since summary screen is not yet implemented the flow will close and final state of information gathered from the flow will be printed in the console.
Video not uploading but I posted it here: https://opentrons.slack.com/archives/C06LPQN1YHM/p1714685498743729

Changelog

  1. Add and implement SelectSourceLabware, SelectDestLabware, VolumeEntry components as well as shells with TODO for SelectSourceWells and SelectDestWells
  2. Add util for calculating the acceptable volume range for the final screen based on all previous selections
  3. Add util for determining what labware to display for each pipette, including a util thats output is now stored in the constants.ts file for this repo so that we don't have to do the well geometry comparison at run time
  4. Add exit prevention screen
  5. Add test coverage for all of these new additions

Review requests

Look through the logic of the utils - I tried to explain functionality in comments in the test cases but let me know if you have questions or if anything doesn't look right!

Risk assessment

Low, behind FF

@smb2268 smb2268 self-assigned this May 2, 2024
@@ -10,6 +10,7 @@
.simple-keyboard.oddTheme1.hg-theme-default {
width: 100%;
height: 100%;
border-radius: 0;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Designs for this component show no rounded edges, the default for the keyboard component we use is border-radius 5

@@ -8,7 +8,7 @@ export interface QuickTransferSetupState {
tipRack?: LabwareDefinition2
source?: LabwareDefinition2
sourceWells?: string[]
destination?: LabwareDefinition2
destination?: LabwareDefinition2 | 'source'
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We allow users to select either a new labware or use the same labware as they selected for the source

@smb2268 smb2268 marked this pull request as ready for review May 2, 2024 21:35
@smb2268 smb2268 requested a review from a team as a code owner May 2, 2024 21:35
@smb2268 smb2268 requested review from ncdiehl11, mjhuff, a team and jerader and removed request for a team and ncdiehl11 May 2, 2024 21:35
Copy link
Contributor

@b-cooper b-cooper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks great! I like the constant generation util solution too. Super clear naming and comments ☄️

@smb2268 smb2268 merged commit 72f3200 into edge May 3, 2024
20 checks passed
@smb2268 smb2268 deleted the app_qt-source-labware branch May 3, 2024 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants