Ship the delivery platform UI under modules/delivery with thin app routes, BFF proxy, CRUD for phase 10.0-10.1 APIs, and capability-gated future screens. Co-authored-by: Cursor <cursoragent@cursor.com>
62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# Delivery Component Map
|
|
|
|
## Shared (reused, not duplicated)
|
|
|
|
| Component | Source | Usage in Delivery |
|
|
|-----------|--------|-------------------|
|
|
| Button, Input, Dialog, Drawer | `@/components/ds` | All forms and actions |
|
|
| PageHeader, StatCard, DataTable | `@/components/ds` | List pages, dashboards |
|
|
| LoadingState, ErrorState, EmptyState | `@/components/ds` | All page states |
|
|
| PermissionDeniedState | `@/src/shared/ui` | 403 / missing permission |
|
|
| AuthGuard | `@/components/AuthGuard` | Portal gate |
|
|
| Tabs, Pagination, Breadcrumbs | `@/components/ds` | Tables, driver detail |
|
|
|
|
## Delivery module components
|
|
|
|
| Component | Path | Purpose |
|
|
|-----------|------|---------|
|
|
| DeliveryPortalShell | `components/DeliveryPortalShell.tsx` | Sidebar nav, mobile drawer, dark mode |
|
|
| createPortalLayout | `components/createPortalLayout.tsx` | Auth + tenant gate |
|
|
| DeliveryListCrudPage | `components/DeliveryListCrudPage.tsx` | CRUD factory for foundation entities |
|
|
| DeliveryPhaseGate | `components/DeliveryPhaseGate.tsx` | Capability-gated future screens |
|
|
| DeliveryMapPlaceholder | `components/DeliveryMapPlaceholder.tsx` | Map-first skeleton when routing enabled |
|
|
| DeliveryBreadcrumbs | `components/DeliveryBreadcrumbs.tsx` | RTL breadcrumbs |
|
|
|
|
## Design system
|
|
|
|
| Component | Path |
|
|
|-----------|------|
|
|
| deliveryTokens | `design-system/tokens.ts` |
|
|
| DeliveryStatusChip | `design-system/DeliveryStatusChip.tsx` |
|
|
| DeliveryTablePage | `design-system/DeliveryTablePage.tsx` |
|
|
| DeliveryStatGrid | `design-system/DeliveryStatGrid.tsx` |
|
|
|
|
## Feature pages (by domain)
|
|
|
|
| Domain | Feature files |
|
|
|--------|---------------|
|
|
| Dashboards | `dashboard.tsx`, `dispatcher.tsx`, `operations.tsx`, `fleetDashboard.tsx` |
|
|
| Drivers | `drivers.tsx`, `driverDetail.tsx`, `driverAvailability.tsx`, `driverPerformance.tsx` |
|
|
| Foundation | `organizations.tsx`, `branches.tsx`, `configurations.tsx`, `settings.tsx` |
|
|
| Integrations | `externalProviders.tsx`, `routingEngines.tsx` |
|
|
| Maps | `mapView.tsx`, `routePlanner.tsx`, `routeOptimization.tsx`, `geofence.tsx`, `deliveryZones.tsx` |
|
|
| Operations (phase) | `orders.tsx`, `dispatchQueue.tsx`, `assignment.tsx`, `pickups.tsx`, … |
|
|
| Finance (phase) | `cod.tsx`, `settlements.tsx`, `payments.tsx`, `wallet.tsx`, `commissions.tsx` |
|
|
| Admin | `permissions.tsx`, `audit.tsx`, `health.tsx`, `capabilities.tsx` |
|
|
|
|
## Hooks
|
|
|
|
| Hook | File |
|
|
|------|------|
|
|
| useDeliveryCapabilities | `hooks/useDeliveryCapabilities.ts` |
|
|
| useDeliveryPermissions | `hooks/useDeliveryPermissions.ts` |
|
|
| useDeliveryLookups | `hooks/useDeliveryCapabilities.ts` (organizations + hubs) |
|
|
| useDeliveryMetrics | `hooks/useDeliveryCapabilities.ts` |
|
|
|
|
## API
|
|
|
|
| Client | Path |
|
|
|--------|------|
|
|
| deliveryApi | `services/delivery-api.ts` |
|
|
| BFF proxy | `app/api/delivery/[...path]/route.ts` |
|