@burdenoff/microfe-movethewheels 2026.929.3 → 2026.930.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.
- package/dist/components/CustomerPicker.js +52 -48
- package/dist/components/EntityCombobox.js +25 -23
- package/dist/components/OrderItemRow.js +123 -78
- package/dist/generated/wspace-types.d.ts +1547 -64
- package/dist/hooks/useCustomers.js +55 -26
- package/dist/hooks/useFleet.js +236 -157
- package/dist/hooks/useInventory.js +214 -153
- package/dist/hooks/useMultiModalShipments.js +30 -26
- package/dist/hooks/useRoutes.js +64 -24
- package/dist/hooks/useTracking.js +14 -16
- package/dist/movethewheels/components/CustomerPicker.d.ts +5 -1
- package/dist/movethewheels/components/EntityCombobox.d.ts +6 -3
- package/dist/movethewheels/components/OrderItemRow.d.ts +7 -1
- package/dist/movethewheels/hooks/useCustomers.d.ts +3 -0
- package/dist/movethewheels/hooks/useFleet.d.ts +15 -2
- package/dist/movethewheels/hooks/useInventory.d.ts +15 -12
- package/dist/movethewheels/hooks/useMultiModalShipments.d.ts +1 -0
- package/dist/movethewheels/hooks/useRoutes.d.ts +7 -1
- package/dist/movethewheels/types/index.d.ts +33 -23
- package/dist/movethewheels/utils/formatters.d.ts +1 -1
- package/dist/movethewheels/utils/orderValidation.d.ts +11 -0
- package/dist/pages/CreateOrderPage.js +349 -297
- package/dist/pages/CustomerDetailsPage.js +6 -6
- package/dist/pages/CustomersPage.js +2 -2
- package/dist/pages/DashboardPage.js +1 -1
- package/dist/pages/DriverDetailsPage.js +340 -332
- package/dist/pages/DriversPage.js +7 -5
- package/dist/pages/FleetPage.js +1 -1
- package/dist/pages/InventoryPage.js +11 -12
- package/dist/pages/LiveTrackingPage.js +4 -4
- package/dist/pages/MultiModalShipmentPage.js +139 -125
- package/dist/pages/OrderDetailsPage.js +132 -140
- package/dist/pages/ProductDetailsPage.js +408 -249
- package/dist/pages/ProductsPage.js +5 -5
- package/dist/pages/RouteDetailsPage.js +208 -210
- package/dist/pages/RoutesPage.js +2 -2
- package/dist/pages/TrackingPage.js +16 -9
- package/dist/pages/WarehouseDetailsPage.js +166 -163
- package/dist/pages/WarehousesPage.js +29 -21
- package/dist/utils/orderValidation.js +18 -0
- package/package.json +1 -1
- package/src/generated/wspace-types.ts +1762 -64
- package/src/movethewheels/components/CustomerPicker.tsx +12 -0
- package/src/movethewheels/components/EntityCombobox.tsx +30 -11
- package/src/movethewheels/components/OrderItemRow.tsx +44 -0
- package/src/movethewheels/hooks/useCustomers.ts +45 -9
- package/src/movethewheels/hooks/useFleet.ts +214 -36
- package/src/movethewheels/hooks/useInventory.ts +185 -49
- package/src/movethewheels/hooks/useMultiModalShipments.ts +9 -7
- package/src/movethewheels/hooks/useRoutes.ts +87 -16
- package/src/movethewheels/hooks/useTracking.ts +23 -15
- package/src/movethewheels/pages/CreateOrderPage.tsx +66 -2
- package/src/movethewheels/pages/CustomerDetailsPage.tsx +14 -8
- package/src/movethewheels/pages/CustomersPage.tsx +5 -2
- package/src/movethewheels/pages/DashboardPage.tsx +3 -1
- package/src/movethewheels/pages/DriverDetailsPage.tsx +25 -4
- package/src/movethewheels/pages/DriversPage.tsx +8 -2
- package/src/movethewheels/pages/FleetPage.tsx +1 -1
- package/src/movethewheels/pages/InventoryPage.tsx +20 -16
- package/src/movethewheels/pages/LiveTrackingPage.tsx +6 -4
- package/src/movethewheels/pages/MultiModalShipmentPage.tsx +15 -1
- package/src/movethewheels/pages/OrderDetailsPage.tsx +25 -25
- package/src/movethewheels/pages/ProductDetailsPage.tsx +228 -49
- package/src/movethewheels/pages/ProductsPage.tsx +13 -5
- package/src/movethewheels/pages/RouteDetailsPage.tsx +24 -12
- package/src/movethewheels/pages/RoutesPage.tsx +4 -2
- package/src/movethewheels/pages/TrackingPage.tsx +32 -12
- package/src/movethewheels/pages/WarehouseDetailsPage.tsx +42 -29
- package/src/movethewheels/pages/WarehousesPage.tsx +23 -15
- package/src/movethewheels/types/index.ts +36 -24
- package/src/movethewheels/utils/formatters.ts +1 -1
- package/src/movethewheels/utils/orderValidation.ts +53 -0
|
@@ -76,6 +76,12 @@ export interface Dimensions {
|
|
|
76
76
|
height: number;
|
|
77
77
|
unit: 'cm' | 'in' | 'm';
|
|
78
78
|
}
|
|
79
|
+
export interface ProductDimensions {
|
|
80
|
+
length?: number;
|
|
81
|
+
width?: number;
|
|
82
|
+
height?: number;
|
|
83
|
+
unit?: 'cm' | 'in' | 'm' | string;
|
|
84
|
+
}
|
|
79
85
|
export interface Company {
|
|
80
86
|
id: string;
|
|
81
87
|
name: string;
|
|
@@ -132,10 +138,10 @@ export interface Customer {
|
|
|
132
138
|
phone: string;
|
|
133
139
|
type: 'b2b' | 'b2c';
|
|
134
140
|
company?: string;
|
|
135
|
-
address: Address
|
|
141
|
+
address: Partial<Address>;
|
|
136
142
|
businessLicense?: string;
|
|
137
143
|
taxId?: string;
|
|
138
|
-
rating
|
|
144
|
+
rating?: number;
|
|
139
145
|
createdAt: Date;
|
|
140
146
|
updatedAt: Date;
|
|
141
147
|
}
|
|
@@ -143,12 +149,12 @@ export interface Product {
|
|
|
143
149
|
id: string;
|
|
144
150
|
sku: string;
|
|
145
151
|
name: string;
|
|
146
|
-
description
|
|
147
|
-
category
|
|
152
|
+
description?: string;
|
|
153
|
+
category?: string;
|
|
148
154
|
brand?: string;
|
|
149
|
-
dimensions
|
|
150
|
-
weight
|
|
151
|
-
value
|
|
155
|
+
dimensions?: ProductDimensions;
|
|
156
|
+
weight?: number;
|
|
157
|
+
value?: number;
|
|
152
158
|
barcode?: string;
|
|
153
159
|
images: string[];
|
|
154
160
|
attributes: Array<{
|
|
@@ -271,7 +277,9 @@ export interface Vehicle {
|
|
|
271
277
|
pallets?: number;
|
|
272
278
|
};
|
|
273
279
|
status: VehicleStatus;
|
|
280
|
+
/** Deprecated single-driver convenience value; use driverIds for all links. */
|
|
274
281
|
driverId?: string;
|
|
282
|
+
driverIds: string[];
|
|
275
283
|
currentLocation?: Location;
|
|
276
284
|
lastMaintenance?: Date;
|
|
277
285
|
nextMaintenance?: Date;
|
|
@@ -304,11 +312,12 @@ export interface Driver {
|
|
|
304
312
|
licenseType: string;
|
|
305
313
|
licenseExpiry?: Date;
|
|
306
314
|
vehicleIds: string[];
|
|
315
|
+
/** Deprecated single-vehicle convenience value; use vehicleIds for all links. */
|
|
307
316
|
assignedVehicle?: string;
|
|
308
317
|
status: DriverStatus;
|
|
309
318
|
currentLocation?: Location;
|
|
310
319
|
/** MtwDriver.rating — a single overall rating; the backend does not track per-category breakdowns. */
|
|
311
|
-
rating
|
|
320
|
+
rating?: number;
|
|
312
321
|
/** Free-text HR/performance notes. */
|
|
313
322
|
notes?: string;
|
|
314
323
|
hireDate?: Date;
|
|
@@ -326,13 +335,13 @@ export interface Warehouse {
|
|
|
326
335
|
id: string;
|
|
327
336
|
name: string;
|
|
328
337
|
code: string;
|
|
329
|
-
address: Address
|
|
338
|
+
address: Partial<Address>;
|
|
330
339
|
type: 'distribution' | 'fulfillment' | 'cold_storage' | 'cross_dock' | 'retail';
|
|
331
|
-
/** Raw backend value (free-text, e.g. "ACTIVE"/"INACTIVE"
|
|
332
|
-
status
|
|
340
|
+
/** Raw backend value (free-text, e.g. "ACTIVE"/"INACTIVE"). */
|
|
341
|
+
status?: string;
|
|
333
342
|
capacity: {
|
|
334
|
-
totalSpace
|
|
335
|
-
usedSpace
|
|
343
|
+
totalSpace?: number;
|
|
344
|
+
usedSpace?: number;
|
|
336
345
|
};
|
|
337
346
|
operatingHours: Record<string, {
|
|
338
347
|
open: string;
|
|
@@ -342,8 +351,8 @@ export interface Warehouse {
|
|
|
342
351
|
email?: string;
|
|
343
352
|
phone?: string;
|
|
344
353
|
};
|
|
345
|
-
/** Real computed value: usedSpace / totalSpace
|
|
346
|
-
utilization
|
|
354
|
+
/** Real computed value: usedSpace / totalSpace, when both values are available. */
|
|
355
|
+
utilization?: number;
|
|
347
356
|
createdAt: Date;
|
|
348
357
|
}
|
|
349
358
|
export interface InventoryMovement {
|
|
@@ -379,9 +388,9 @@ export interface RouteStop {
|
|
|
379
388
|
sequence: number;
|
|
380
389
|
address: Address;
|
|
381
390
|
type: 'pickup' | 'delivery';
|
|
382
|
-
scheduledTime
|
|
391
|
+
scheduledTime?: Date;
|
|
383
392
|
actualTime?: Date;
|
|
384
|
-
duration
|
|
393
|
+
duration?: number;
|
|
385
394
|
status: 'pending' | 'completed' | 'skipped' | 'failed';
|
|
386
395
|
notes?: string;
|
|
387
396
|
}
|
|
@@ -394,8 +403,8 @@ export interface TrafficCondition {
|
|
|
394
403
|
export interface Route {
|
|
395
404
|
id: string;
|
|
396
405
|
name: string;
|
|
397
|
-
driverId
|
|
398
|
-
vehicleId
|
|
406
|
+
driverId?: string;
|
|
407
|
+
vehicleId?: string;
|
|
399
408
|
status: 'planned' | 'in_progress' | 'completed' | 'cancelled';
|
|
400
409
|
stops: RouteStop[];
|
|
401
410
|
distance: number;
|
|
@@ -403,7 +412,8 @@ export interface Route {
|
|
|
403
412
|
/** Estimated fuel cost for the route (svc MtwRoute.fuelCost). */
|
|
404
413
|
fuelCost?: number;
|
|
405
414
|
actualDuration?: number;
|
|
406
|
-
|
|
415
|
+
/** Backend currently does not expose whether optimization has run. */
|
|
416
|
+
optimized?: boolean;
|
|
407
417
|
createdAt: Date;
|
|
408
418
|
}
|
|
409
419
|
export interface TrackingAlert {
|
|
@@ -411,7 +421,7 @@ export interface TrackingAlert {
|
|
|
411
421
|
type: 'delay' | 'deviation' | 'temperature' | 'damage' | 'security';
|
|
412
422
|
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
413
423
|
message: string;
|
|
414
|
-
timestamp
|
|
424
|
+
timestamp?: Date;
|
|
415
425
|
acknowledged: boolean;
|
|
416
426
|
resolvedAt?: Date;
|
|
417
427
|
}
|
|
@@ -419,13 +429,13 @@ export interface Tracking {
|
|
|
419
429
|
id: string;
|
|
420
430
|
entityId: string;
|
|
421
431
|
entityType: 'order' | 'vehicle' | 'driver';
|
|
422
|
-
currentLocation
|
|
432
|
+
currentLocation?: Location;
|
|
423
433
|
locationHistory: Location[];
|
|
424
434
|
status: string;
|
|
425
435
|
estimatedArrival?: Date;
|
|
426
436
|
nextCheckpoint?: string;
|
|
427
437
|
alerts: TrackingAlert[];
|
|
428
|
-
lastUpdated
|
|
438
|
+
lastUpdated?: Date;
|
|
429
439
|
}
|
|
430
440
|
export interface Notification {
|
|
431
441
|
id: string;
|
|
@@ -3,7 +3,7 @@ import { Address } from '../types';
|
|
|
3
3
|
/**
|
|
4
4
|
* Format an address object into a readable string.
|
|
5
5
|
*/
|
|
6
|
-
export declare function formatAddress(address: Address): string;
|
|
6
|
+
export declare function formatAddress(address: Partial<Address>): string;
|
|
7
7
|
/**
|
|
8
8
|
* Format a number as currency.
|
|
9
9
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OrderItem } from '../types';
|
|
2
|
+
|
|
3
|
+
export type OrderItemField = 'name' | 'sku' | 'quantity' | 'weight' | 'value' | 'length' | 'width' | 'height';
|
|
4
|
+
export type OrderItemFieldErrors = Partial<Record<OrderItemField, string>>;
|
|
5
|
+
/**
|
|
6
|
+
* Validates one delivery-job cargo line without imposing pricing or order
|
|
7
|
+
* semantics that belong to the service. A catalog product may supply the name;
|
|
8
|
+
* every line still carries its SKU because cargo-item records require one.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateOrderItem(item: OrderItem): OrderItemFieldErrors;
|
|
11
|
+
export declare function validateOrderItems(items: OrderItem[]): Record<string, OrderItemFieldErrors>;
|