Mobile Screens
This file documents the current Flutter POC screen behavior in reference/mobile_app_demo/lib/screens/.
Primary Flows
| Flow | Screens | Writes events |
|---|---|---|
| Known GRN receiving | GrnReviewScreen -> TagAssetsScreen -> ReviewAssetsScreen -> OrderSummaryScreen -> UploadGanScreen -> OrderReviewScreen -> SuccessScreen | yes |
| Partial delivery | PartialDeliveryScreen before tagging | yes |
| Ad-hoc GRN | CreateGrnScreen -> expected items or single asset path | yes |
| Import batch | ExpectedItemsScreen -> tagging/review | yes |
| Corrections | OnboardedAssetsScreen | yes |
| Tag replacement | TagReplacementScreen | yes |
| Event review | EventLogScreen | no |
| Open items | OpenItemsScreen | no, derived view |
| Tag printing | TagPrintingScreen | no |
Commit Rule
No asset event is written until the user reaches an explicit confirm step.
flowchart LR
A["Draft wizard state"] --> B["Review"]
B --> C{"Confirm?"}
C -- No --> A
C -- Yes --> D["Create events"]
D --> E["Queue locally"]
Shared Components
| Component | Purpose |
|---|---|
ScanScreen | Generic scanner entry |
ScannerOverlay | Camera overlay |
DocumentOcrBanner | OCR verification status |
showAssetInfoFormSheet | Asset detail entry |
OCR Rule
OCR may prefill fields, but it must never block progress. Empty or failed OCR should route the worker back to manual entry.