@burdenoff/microfe-movethewheels 2026.726.1 → 2026.728.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/MoveTheWheelsRoutes.js +7 -3
  2. package/dist/components/ProofOfDeliveryCard.js +155 -0
  3. package/dist/components/SignaturePad.js +82 -0
  4. package/dist/hooks/index.js +1 -0
  5. package/dist/hooks/useEpod.js +208 -0
  6. package/dist/index.js +22 -21
  7. package/dist/movethewheels/components/ProofOfDeliveryCard.d.ts +5 -0
  8. package/dist/movethewheels/components/SignaturePad.d.ts +11 -0
  9. package/dist/movethewheels/hooks/index.d.ts +1 -0
  10. package/dist/movethewheels/hooks/useEpod.d.ts +59 -0
  11. package/dist/movethewheels/pages/DeliveryCapturePage.d.ts +1 -0
  12. package/dist/movethewheels/types/index.d.ts +18 -0
  13. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js +8 -0
  14. package/dist/node_modules/lucide-react/dist/esm/icons/pen-line.js +11 -0
  15. package/dist/node_modules/lucide-react/dist/esm/icons/type.js +24 -0
  16. package/dist/pages/DeliveryCapturePage.js +245 -0
  17. package/dist/pages/OrderDetailsPage.js +14 -12
  18. package/dist/pages/TrackingPage.js +156 -154
  19. package/dist/utils/formatters.js +13 -2
  20. package/package.json +1 -1
  21. package/src/movethewheels/MoveTheWheelsRoutes.tsx +4 -0
  22. package/src/movethewheels/components/ProofOfDeliveryCard.tsx +149 -0
  23. package/src/movethewheels/components/SignaturePad.tsx +157 -0
  24. package/src/movethewheels/hooks/index.ts +12 -0
  25. package/src/movethewheels/hooks/useEpod.ts +410 -0
  26. package/src/movethewheels/pages/DeliveryCapturePage.tsx +297 -0
  27. package/src/movethewheels/pages/OrderDetailsPage.tsx +4 -0
  28. package/src/movethewheels/pages/TrackingPage.tsx +4 -0
  29. package/src/movethewheels/types/index.ts +21 -0
@@ -53,6 +53,7 @@ import { useFleet } from '../hooks/useFleet';
53
53
  import { FormError } from '../components/FormError';
54
54
  import { Notice, useNotice } from '../components/Notice';
55
55
  import { DocumentsCard } from '../components/DocumentsCard';
56
+ import { ProofOfDeliveryCard } from '../components/ProofOfDeliveryCard';
56
57
  import { useMoveTheWheels } from '../providers/MoveTheWheelsProvider';
57
58
  import { formatCurrency, formatDate, formatAddress } from '../utils/formatters';
58
59
  import { joinPath } from '../utils/navigation';
@@ -593,6 +594,9 @@ export default function OrderDetailsPage() {
593
594
  {/* Documents — real files via wspace-files-svc */}
594
595
  <DocumentsCard entityType="order" entityId={order.id} />
595
596
 
597
+ {/* Proof of delivery — captured by the driver on completion (BOFF-4399) */}
598
+ <ProofOfDeliveryCard deliveryJobId={order.id} />
599
+
596
600
  {/* Special Instructions */}
597
601
  {order.specialInstructions && (
598
602
  <Card>
@@ -12,6 +12,7 @@ import { StatusBadge } from '../components/StatusBadge';
12
12
  import { Card, CardContent, CardHeader, CardTitle, Button, Input } from '../components/ui';
13
13
  import { EmphasisPanel, PagePurpose } from '@burdenoff/fe-libs/ui';
14
14
  import { TrackingMap, type TrackEndpoint, type TrackPoint } from '../components/maps';
15
+ import { ProofOfDeliveryCard } from '../components/ProofOfDeliveryCard';
15
16
  import { firstRealLatLng } from '../utils/mapMarkers';
16
17
  import { useOrderTracking } from '../hooks/useTracking';
17
18
  import { formatDate, formatAddress } from '../utils/formatters';
@@ -455,6 +456,9 @@ export default function TrackingPage() {
455
456
  </CardContent>
456
457
  </Card>
457
458
 
459
+ {/* Proof of delivery — captured by the driver on completion (BOFF-4399) */}
460
+ <ProofOfDeliveryCard deliveryJobId={order.id} />
461
+
458
462
  {/* Actions */}
459
463
  <Card>
460
464
  <CardContent className="p-4 space-y-2">
@@ -288,6 +288,27 @@ export interface Order {
288
288
  updatedAt: Date;
289
289
  }
290
290
 
291
+ // Electronic proof of delivery (ePOD) — BOFF-4399
292
+ export type SignatureType = 'drawn' | 'typed';
293
+
294
+ export interface ProofOfDelivery {
295
+ id: string;
296
+ deliveryJobId: string;
297
+ shipmentId?: string;
298
+ recipientName: string;
299
+ signatureType: SignatureType;
300
+ /** Drawn: a `data:image/png;base64,...` capture. Typed: the typed full name. */
301
+ signatureData: string;
302
+ /** wspace-files-svc File ids for any attached delivery photos. */
303
+ photoFileIds: string[];
304
+ latitude?: number;
305
+ longitude?: number;
306
+ locationAccuracy?: number;
307
+ deliveredAt: Date;
308
+ capturedByDriverId: string;
309
+ notes?: string;
310
+ }
311
+
291
312
  // Vehicle type
292
313
  export type VehicleType = 'van' | 'truck' | 'motorcycle' | 'bicycle' | 'car';
293
314
  export type VehicleStatus = 'available' | 'assigned' | 'maintenance' | 'out_of_service';