# Delivery UI Checklist Per-screen requirements for Torbat Driver frontend. ## Global (every screen) - [x] Loading state (`loading.tsx` + in-page loader) - [x] Error state (`error.tsx` + `DeliveryPageError`) - [x] Empty state (`DeliveryEmptyState` / DS `EmptyState`) - [x] Permission state (`PermissionDeniedState`) - [x] Responsive layout (mobile drawer + desktop sidebar) - [x] Breadcrumb (where applicable) - [x] RTL layout - [x] Dark mode tokens ## Live CRUD screens ### Organizations `/delivery/organizations` - [x] List, create, edit, delete - [x] Search, pagination, CSV export - [x] Status badges - [x] Permission check ### Branches `/delivery/branches` - [x] Organization selector on create - [x] Full CRUD - [x] API: hubs ### Drivers `/delivery/drivers` - [x] Paginated list - [x] Link to detail - [x] Create with org/hub - [x] Edit, delete ### Driver detail `/delivery/drivers/[id]` - [x] Profile tab - [x] Lifecycle tab + actions (activate, suspend, …) - [x] Credentials tab (read) - [x] Documents tab (read) - [x] Timeline from lifecycle API ### Integrations - [x] External providers CRUD - [x] Routing engines CRUD ### Admin - [x] Settings upsert - [x] Audit search - [x] Permissions catalog - [x] Health status - [x] Capabilities grid ## Phase-gated screens (checklist when backend enables) When `features.` becomes `true` in `/capabilities`: - [ ] Replace phase gate with real implementation - [ ] Connect WebSocket for tracking/dispatch - [ ] Integrate shared map component - [ ] Add realtime polling fallback ## Dashboard checklist - [x] Executive: real org/hub/driver counts - [ ] Dispatcher: dispatch queue metrics (10.5) - [ ] Live ops: tracking sessions (10.7) - [ ] Fleet: vehicle counts (10.2) ## Validation loop ```bash npm run validate:delivery npm run build ``` Review [delivery-validation-report.md](./delivery-validation-report.md) after each backend phase upgrade.