Skip to content

Commit 0e9b20d

Browse files
authored
feat(app, step-generation): protocol viz prototype (#18804)
This is a prototype to be used for protocol visualization user testing. For all new components, I used CSS modules.
1 parent be9988b commit 0e9b20d

File tree

58 files changed

+3353
-568
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+3353
-568
lines changed

app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"@thi.ng/paths": "1.6.5",
3232
"@types/uuid": "^3.4.7",
3333
"classnames": "2.2.5",
34+
"clsx": "^2.1.1",
3435
"connected-react-router": "6.9.3",
3536
"core-js": "3.2.1",
3637
"date-fns": "2.25.0",

app/src/App/DesktopApp.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { ProtocolRunDetails } from '/app/pages/Desktop/Devices/ProtocolRunDetail
2929
import { RobotSettings } from '/app/pages/Desktop/Devices/RobotSettings'
3030
import { Labware } from '/app/pages/Desktop/Labware'
3131
import { ProtocolDetails } from '/app/pages/Desktop/Protocols/ProtocolDetails'
32-
import { ProtocolTimeline } from '/app/pages/Desktop/Protocols/ProtocolDetails/ProtocolTimeline'
32+
import { ProtocolPreview } from '/app/pages/Desktop/Protocols/ProtocolPreview'
3333
import { ProtocolsLanding } from '/app/pages/Desktop/Protocols/ProtocolsLanding'
3434
import { useIsFlex, useRobot } from '/app/redux-resources/robots'
3535
import { OPENTRONS_USB } from '/app/redux/discovery'
@@ -80,9 +80,9 @@ export const DesktopApp = (): JSX.Element => {
8080
path: '/protocols/:protocolKey',
8181
},
8282
{
83-
Component: ProtocolTimeline,
84-
name: 'Protocol Timeline',
85-
path: '/protocols/:protocolKey/timeline',
83+
Component: ProtocolPreview,
84+
name: 'Preview',
85+
path: '/protocols/:protocolKey/preview',
8686
},
8787
{
8888
Component: Labware,

app/src/App/__tests__/DesktopApp.test.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { ProtocolsLanding } from '/app/pages/Desktop/Protocols/ProtocolsLanding'
2020
// prettier-ignore
2121
import { AlertsModal } from '/app/organisms/Desktop/Alerts/AlertsModal';
2222

23-
import { ProtocolTimeline } from '/app/pages/Desktop/Protocols/ProtocolDetails/ProtocolTimeline'
23+
import { ProtocolPreview } from '/app/pages/Desktop/Protocols/ProtocolPreview'
2424
import { useIsFlex } from '/app/redux-resources/robots'
2525
import { useFeatureFlag } from '/app/redux/config'
2626

@@ -44,6 +44,7 @@ vi.mock('/app/pages/Desktop/Protocols/ProtocolDetails/ProtocolTimeline')
4444
vi.mock('/app/redux/config')
4545
vi.mock('/app/redux-resources/robots')
4646
vi.mock('../hooks')
47+
vi.mock('/app/pages/Desktop/Protocols/ProtocolPreview')
4748

4849
const render = (path = '/') => {
4950
return renderWithProviders(
@@ -70,9 +71,7 @@ describe('DesktopApp', () => {
7071
vi.mocked(ProtocolRunDetails).mockReturnValue(
7172
<div>Mock ProtocolRunDetails</div>
7273
)
73-
vi.mocked(ProtocolTimeline).mockReturnValue(
74-
<div>Mock ProtocolTimeline</div>
75-
)
74+
vi.mocked(ProtocolPreview).mockReturnValue(<div>Mock Preview</div>)
7675
vi.mocked(RobotSettings).mockReturnValue(<div>Mock RobotSettings</div>)
7776
vi.mocked(GeneralSettings).mockReturnValue(<div>Mock AppSettings</div>)
7877
vi.mocked(Breadcrumbs).mockReturnValue(<div>Mock Breadcrumbs</div>)
@@ -131,9 +130,9 @@ describe('DesktopApp', () => {
131130
screen.getByText('Mock ProtocolsLanding')
132131
})
133132

134-
it('renders a ProtocolsTimeline component from /protocolTimeline', () => {
135-
render(`/protocols/95e67900-bc9f-4fbf-92c6-cc4d7226a51b/timeline`)
136-
screen.getByText('Mock ProtocolTimeline')
133+
it('renders a ProtocolsTimeline component from /preview', () => {
134+
render(`/protocols/95e67900-bc9f-4fbf-92c6-cc4d7226a51b/preview`)
135+
screen.getByText('Mock Preview')
137136
})
138137

139138
it('renders a ProtocolRunDetails component from /devices/:robotName/protocol-runs/:runId/:protocolRunDetailsTab', () => {

app/src/assets/localization/en/top_navigation.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@
99
"instruments": "Instruments",
1010
"labware": "Labware",
1111
"modules": "modules",
12-
"pipettes": "pipettes",
1312
"pipettes_not_calibrated": "Please calibrate all pipettes specified in loaded protocol to proceed",
13+
"pipettes": "pipettes",
1414
"please_connect_to_a_robot": "Please connect to a robot to proceed",
1515
"please_load_a_protocol": "Please load a protocol to proceed",
16+
"preview": "Preview",
1617
"protocol_details": "Protocol Details",
1718
"protocol_runs": "Protocol Runs",
1819
"protocol_timeline": "Protocol Timeline",
1920
"protocols": "Protocols",
2021
"quick_transfer": "Quick Transfer",
2122
"robot_settings": "Robot Settings",
22-
"run": "run",
2323
"run_details": "Run Details",
24+
"run": "run",
2425
"settings": "Settings"
2526
}

app/src/organisms/Desktop/Breadcrumbs/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ function BreadcrumbsComponent(): JSX.Element | null {
9494

9595
'/protocols': t('protocols'),
9696
[`/protocols/${protocolKey}`]: protocolDisplayName,
97+
[`/protocols/${protocolKey}/preview`]: t('preview'),
9798
}
9899

99100
// create an array of crumbs based on the pathname and defined names by path

app/src/organisms/Desktop/ProtocolDetails/AnnotatedSteps.tsx

Lines changed: 0 additions & 283 deletions
This file was deleted.

0 commit comments

Comments
 (0)