11# Warehouse Operator Terminal
22
33The ** Operator terminal** front end — a React Native (Expo) app for floor staff on a
4- rugged handheld: * one hand, gloves, cold room, glare * . Scanner-first, huge tap targets
4+ rugged handheld: _ one hand, gloves, cold room, glare _ . Scanner-first, huge tap targets
55(≥48 px), one task at a time, zero prose.
66
77It implements the terminal screens from the design pass
@@ -46,22 +46,22 @@ data getter) + `index.ts` (public API). Cross-feature imports go through the fea
4646
4747### A note on ` app/ ` vs ` navigation/ `
4848
49- expo-router is file-based: the tree under ` src/app/ ` * is * the router. So the route files
49+ expo-router is file-based: the tree under ` src/app/ ` _ is _ the router. So the route files
5050stay thin (a one-line re-export) and ` navigation/routes.ts ` holds the typed path map
5151(` ROUTES.pack ` ) so features navigate by name instead of bare string literals.
5252
5353## Screens & navigation
5454
55- | Route | Feature screen | Use case | Prototype |
56- | ---| ---| ---| ---|
57- | ` / ` | ` Tasks/TaskHubScreen ` | landing | ` terminal-1-hub ` |
58- | ` /receive ` | ` Receiving/ReceiveScreen ` | UC-02 | ` terminal-2-receive ` |
59- | ` /putaway ` | ` PutAway/PutAwayScreen ` | UC-04 | ` terminal-3-putaway ` |
60- | ` /pick ` | ` Picking/PickingScreen ` | UC-10 | ` terminal-4-pick ` |
61- | ` /move ` | ` Movement/MovementScreen ` | UC-06 | ` terminal-5-move ` |
62- | ` /pack ` | ` Packing/PackingScreen ` | UC-11 | ` terminal-6-pack ` |
63- | ` /scan ` | ` Scan/ScanScreen ` | — | Scan tab |
64- | ` /lookup ` | ` Lookup/LookupScreen ` | — | Look up tab |
55+ | Route | Feature screen | Use case | Prototype |
56+ | ---------- | ------------------------- | -------- | -------------------- |
57+ | ` / ` | ` Tasks/TaskHubScreen ` | landing | ` terminal-1-hub ` |
58+ | ` /receive ` | ` Receiving/ReceiveScreen ` | UC-02 | ` terminal-2-receive ` |
59+ | ` /putaway ` | ` PutAway/PutAwayScreen ` | UC-04 | ` terminal-3-putaway ` |
60+ | ` /pick ` | ` Picking/PickingScreen ` | UC-10 | ` terminal-4-pick ` |
61+ | ` /move ` | ` Movement/MovementScreen ` | UC-06 | ` terminal-5-move ` |
62+ | ` /pack ` | ` Packing/PackingScreen ` | UC-11 | ` terminal-6-pack ` |
63+ | ` /scan ` | ` Scan/ScanScreen ` | — | Scan tab |
64+ | ` /lookup ` | ` Lookup/LookupScreen ` | — | Look up tab |
6565
6666Navigation mirrors the operator clickpath: the hub launches each task, and tasks loop
6767back to the hub when done (` /pick ` flows on to ` /pack ` ).
@@ -72,10 +72,10 @@ The bottom nav switches between three top-level roots; `router.navigate` gives t
7272behaviour (returning to a root already in history rather than stacking duplicates):
7373
7474- ** Tasks** — the hub: today's task piles.
75- - ** Scan** — * “I have a physical thing, what do I do with it?”* A context-free scanner
75+ - ** Scan** — _ “I have a physical thing, what do I do with it?”_ A context-free scanner
7676 that resolves any code (ASN / order / EAN / LPN / location) and dispatches to the
7777 matching task.
78- - ** Look up** — * “I want to know something.”* Read-only, keyboard-driven search over
78+ - ** Look up** — _ “I want to know something.”_ Read-only, keyboard-driven search over
7979 products (stock + ATP), locations (capacity, room type) and batches (status, BBE/FEFO).
8080- ** More** — no screen yet, so it stays dimmed and inert.
8181
@@ -91,8 +91,8 @@ that encode domain stock status** (never decoration). The shared primitives in
9191- ` BigActionButton ` — confirm / exception / alternative; 56 px tap floor.
9292- ` Stepper ` , ` Chip ` , ` CheckRow ` , ` Card ` , ` TopBar ` , ` BottomNav ` , ` ScreenScaffold ` .
9393
94- The two ** green check rows** on put-away / move make the * environment -compatibility
95- invariant * visible; FEFO shows as a batch/BBE badge on picking.
94+ The two ** green check rows** on put-away / move make the _ environment -compatibility
95+ invariant _ visible; FEFO shows as a batch/BBE badge on picking.
9696
9797## Running
9898
0 commit comments