@burdenoff/microfe-movethewheels 2026.920.3 → 2026.923.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 (79) hide show
  1. package/dist/components/CarbonFootprintPanel.js +1 -1
  2. package/dist/components/CustomerPicker.js +76 -65
  3. package/dist/components/DataTable.js +140 -139
  4. package/dist/components/DocumentsCard.js +14 -8
  5. package/dist/generated/wspace-types.d.ts +2719 -8
  6. package/dist/hooks/index.js +1 -1
  7. package/dist/hooks/useAnalytics.js +21 -1
  8. package/dist/hooks/useCustomers.js +94 -78
  9. package/dist/hooks/useDebouncedValue.js +11 -0
  10. package/dist/hooks/useEntityDocuments.js +28 -18
  11. package/dist/hooks/useEpod.js +24 -17
  12. package/dist/hooks/useFleet.js +148 -125
  13. package/dist/hooks/useInventory.js +255 -186
  14. package/dist/hooks/useMultiModalShipments.js +35 -27
  15. package/dist/hooks/useOrders.js +139 -134
  16. package/dist/hooks/useRoutes.js +97 -75
  17. package/dist/hooks/useTracking.js +100 -88
  18. package/dist/index.js +6 -6
  19. package/dist/movethewheels/components/CustomerPicker.d.ts +3 -1
  20. package/dist/movethewheels/components/DataTable.d.ts +5 -1
  21. package/dist/movethewheels/hooks/useCustomers.d.ts +0 -1
  22. package/dist/movethewheels/hooks/useDebouncedValue.d.ts +1 -0
  23. package/dist/movethewheels/hooks/useEntityDocuments.d.ts +2 -0
  24. package/dist/movethewheels/hooks/useEpod.d.ts +6 -1
  25. package/dist/movethewheels/hooks/useFleet.d.ts +49 -5
  26. package/dist/movethewheels/hooks/useInventory.d.ts +24 -17
  27. package/dist/movethewheels/hooks/useMultiModalShipments.d.ts +6 -1
  28. package/dist/movethewheels/hooks/useOrders.d.ts +48 -5
  29. package/dist/movethewheels/hooks/useRoutes.d.ts +18 -1
  30. package/dist/movethewheels/hooks/useTracking.d.ts +12 -11
  31. package/dist/movethewheels/types/index.d.ts +12 -5
  32. package/dist/pages/CreateOrderPage.js +191 -129
  33. package/dist/pages/CustomersPage.js +61 -54
  34. package/dist/pages/DeliveryCapturePage.js +131 -109
  35. package/dist/pages/DriversPage.js +100 -92
  36. package/dist/pages/InventoryPage.js +239 -236
  37. package/dist/pages/MultiModalShipmentPage.js +163 -130
  38. package/dist/pages/OrderDetailsPage.js +190 -106
  39. package/dist/pages/OrdersListPage.js +66 -60
  40. package/dist/pages/ProductDetailsPage.js +241 -200
  41. package/dist/pages/ProductsPage.js +59 -52
  42. package/dist/pages/RouteDetailsPage.js +324 -293
  43. package/dist/pages/RoutesPage.js +55 -48
  44. package/dist/pages/VehiclesPage.js +63 -56
  45. package/dist/pages/WarehousesPage.js +60 -53
  46. package/package.json +1 -1
  47. package/src/generated/wspace-types.ts +3136 -8
  48. package/src/movethewheels/components/CarbonFootprintPanel.tsx +0 -1
  49. package/src/movethewheels/components/CustomerPicker.tsx +14 -0
  50. package/src/movethewheels/components/DataTable.tsx +34 -18
  51. package/src/movethewheels/components/DocumentsCard.tsx +6 -1
  52. package/src/movethewheels/components/maps/leaflet-setup.ts +1 -8
  53. package/src/movethewheels/hooks/useAnalytics.ts +27 -0
  54. package/src/movethewheels/hooks/useCustomers.ts +64 -24
  55. package/src/movethewheels/hooks/useDebouncedValue.ts +12 -0
  56. package/src/movethewheels/hooks/useEntityDocuments.ts +43 -25
  57. package/src/movethewheels/hooks/useEpod.ts +14 -7
  58. package/src/movethewheels/hooks/useFleet.ts +66 -38
  59. package/src/movethewheels/hooks/useFleetIntelligence.ts +1 -4
  60. package/src/movethewheels/hooks/useInventory.ts +211 -90
  61. package/src/movethewheels/hooks/useMultiModalShipments.ts +15 -11
  62. package/src/movethewheels/hooks/useOrders.ts +48 -14
  63. package/src/movethewheels/hooks/useRoutes.ts +81 -24
  64. package/src/movethewheels/hooks/useTracking.ts +130 -98
  65. package/src/movethewheels/pages/CreateOrderPage.tsx +93 -2
  66. package/src/movethewheels/pages/CustomersPage.tsx +11 -1
  67. package/src/movethewheels/pages/DeliveryCapturePage.tsx +31 -1
  68. package/src/movethewheels/pages/DriversPage.tsx +24 -12
  69. package/src/movethewheels/pages/InventoryPage.tsx +57 -32
  70. package/src/movethewheels/pages/MultiModalShipmentPage.tsx +52 -3
  71. package/src/movethewheels/pages/OrderDetailsPage.tsx +91 -6
  72. package/src/movethewheels/pages/OrdersListPage.tsx +20 -3
  73. package/src/movethewheels/pages/ProductDetailsPage.tsx +52 -3
  74. package/src/movethewheels/pages/ProductsPage.tsx +11 -1
  75. package/src/movethewheels/pages/RouteDetailsPage.tsx +45 -5
  76. package/src/movethewheels/pages/RoutesPage.tsx +11 -1
  77. package/src/movethewheels/pages/VehiclesPage.tsx +19 -2
  78. package/src/movethewheels/pages/WarehousesPage.tsx +11 -1
  79. package/src/movethewheels/types/index.ts +12 -5
@@ -2,11 +2,12 @@ import { useMoveTheWheels as e } from "../providers/MoveTheWheelsProvider.js";
2
2
  import { executeGraphQL as t } from "../utils/graphqlClient.js";
3
3
  import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
4
4
  //#region src/movethewheels/hooks/useMultiModalShipments.ts
5
- var o = "\n id\n shipmentNumber\n status\n primaryMode\n isMultiModal\n totalFreightCost\n freightCurrency\n origin\n destination\n createdAt\n legs {\n \n id\n legNumber\n mode\n status\n origin\n destination\n distanceKm\n weightKg\n lengthCm\n widthCm\n heightCm\n volumeCbm\n containerType\n containerCount\n carrierName\n chargeableWeightKg\n calculatedCost\n currency\n\n }\n", s = `
5
+ var o = "\n id\n shipmentNumber\n status\n primaryMode\n isMultiModal\n totalFreightCost\n freightCurrency\n origin\n destination\n createdAt\n legs(pagination: { limit: 20, offset: 0 }) {\n \n id\n legNumber\n mode\n status\n origin\n destination\n distanceKm\n weightKg\n lengthCm\n widthCm\n heightCm\n volumeCbm\n containerType\n containerCount\n carrierName\n chargeableWeightKg\n calculatedCost\n currency\n\n }\n", s = `
6
6
  query ListMultiModalShipments($pagination: PaginationInput) {
7
7
  shipments(filter: { isMultiModal: true }, pagination: $pagination) {
8
8
  ${o}
9
9
  }
10
+ shipmentsCount(filter: { isMultiModal: true })
10
11
  }
11
12
  `, c = "\n query CalculateFreightRate($input: FreightRateInput!) {\n calculateFreightRate(input: $input) {\n mode\n chargeableWeightKg\n ratePerUnit\n calculatedCost\n currency\n breakdown {\n label\n amount\n }\n }\n }\n", l = `
12
13
  mutation PlanMultiModalShipment($input: PlanMultiModalShipmentInput!) {
@@ -99,38 +100,45 @@ function m() {
99
100
  s?.id
100
101
  ]);
101
102
  }
102
- function h() {
103
- let e = m(), [i, o] = a([]), [f, h] = a(!1), [g, _] = a(null), v = n(async () => {
104
- h(!0), _(null);
103
+ function h(e = {}) {
104
+ let { limit: i = 10, offset: o = 0 } = e, f = m(), [h, g] = a([]), [_, v] = a(0), [y, b] = a(!1), [x, S] = a(!1), [C, w] = a(null), T = n(async () => {
105
+ S(!0), w(null);
105
106
  try {
106
- o((await t(e, s, { pagination: {
107
- limit: 100,
108
- offset: 0
109
- } })).shipments.map(p));
107
+ let e = await t(f, s, { pagination: {
108
+ limit: i,
109
+ offset: o
110
+ } });
111
+ g(e.shipments.map(p)), v(e.shipmentsCount), b(o + e.shipments.length < e.shipmentsCount);
110
112
  } catch (e) {
111
- _(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load multi-modal shipments"));
113
+ w(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load multi-modal shipments"));
112
114
  } finally {
113
- h(!1);
115
+ S(!1);
114
116
  }
115
- }, [e]);
117
+ }, [
118
+ f,
119
+ i,
120
+ o
121
+ ]);
116
122
  return r(() => {
117
- v();
118
- }, [v]), {
119
- shipments: i,
120
- isLoading: f,
121
- error: g,
122
- refetch: () => void v(),
123
- calculateFreightRate: n(async (n) => (await t(e, c, { input: d(n) })).calculateFreightRate, [e]),
124
- planMultiModalShipment: n(async (n) => {
125
- let r = p((await t(e, l, { input: {
126
- shipmentNumber: n.shipmentNumber,
127
- customerId: n.customerId,
128
- origin: n.origin,
129
- destination: n.destination,
130
- legs: n.legs.map(u)
123
+ T();
124
+ }, [T]), {
125
+ shipments: h,
126
+ totalShipments: _,
127
+ hasMore: y,
128
+ isLoading: x,
129
+ error: C,
130
+ refetch: () => void T(),
131
+ calculateFreightRate: n(async (e) => (await t(f, c, { input: d(e) })).calculateFreightRate, [f]),
132
+ planMultiModalShipment: n(async (e) => {
133
+ let n = p((await t(f, l, { input: {
134
+ shipmentNumber: e.shipmentNumber,
135
+ customerId: e.customerId,
136
+ origin: e.origin,
137
+ destination: e.destination,
138
+ legs: e.legs.map(u)
131
139
  } })).planMultiModalShipment);
132
- return o((e) => [r, ...e]), r;
133
- }, [e])
140
+ return g((e) => [n, ...e]), v((e) => e + 1), n;
141
+ }, [f])
134
142
  };
135
143
  }
136
144
  //#endregion
@@ -1,39 +1,41 @@
1
1
  import { useMoveTheWheels as e } from "../providers/MoveTheWheelsProvider.js";
2
2
  import { executeGraphQL as t } from "../utils/graphqlClient.js";
3
- import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
+ import { mapRoute as n } from "./useRoutes.js";
4
+ import { useCallback as r, useEffect as i, useMemo as a, useState as o } from "react";
4
5
  //#region src/movethewheels/hooks/useOrders.ts
5
- var o = "\n id\n deliveryJobNumber\n customerId\n status\n priority\n pickupAddress\n deliveryAddress\n cargoItems\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n", s = `
6
+ var s = "\n id\n deliveryJobNumber\n customerId\n status\n priority\n pickupAddress\n deliveryAddress\n cargoItems\n pricing\n trackingNumber\n specialInstructions\n scheduledDelivery\n vehicleId\n driverId\n routeId\n route {\n id\n name\n status\n vehicleId\n driverId\n waypoints\n estimatedDistance\n estimatedDuration\n fuelCost\n actualDistance\n actualDuration\n createdAt\n }\n createdAt\n updatedAt\n customer {\n name\n email\n phone\n company\n }\n statusHistory {\n status\n notes\n location\n createdAt\n createdBy\n }\n", c = `
6
7
  query ListDeliveryJobs($filter: DeliveryJobFilterInput, $pagination: PaginationInput) {
7
8
  deliveryJobs(filter: $filter, pagination: $pagination) {
8
- ${o}
9
+ ${s}
9
10
  }
11
+ deliveryJobsCount(filter: $filter)
10
12
  }
11
- `, c = `
13
+ `, l = `
12
14
  query GetDeliveryJob($id: ID!) {
13
15
  deliveryJob(id: $id) {
14
- ${o}
16
+ ${s}
15
17
  }
16
18
  }
17
- `, l = "\n query GetDeliveryJobStatsBundle {\n deliveryJobStats {\n total\n pending\n inTransit\n delivered\n cancelled\n failed\n }\n financeMetrics {\n revenue {\n totalRevenue\n averageOrderValue\n }\n }\n }\n", u = `
19
+ `, u = "\n query GetDeliveryJobStatsBundle {\n deliveryJobStats {\n total\n pending\n inTransit\n delivered\n cancelled\n failed\n }\n financeMetrics {\n revenue {\n totalRevenue\n averageOrderValue\n }\n }\n }\n", d = `
18
20
  mutation CreateDeliveryJob($input: CreateDeliveryJobInput!) {
19
21
  createDeliveryJob(input: $input) {
20
- ${o}
22
+ ${s}
21
23
  }
22
24
  }
23
- `, d = `
25
+ `, f = `
24
26
  mutation UpdateDeliveryJob($id: ID!, $input: UpdateDeliveryJobInput!) {
25
27
  updateDeliveryJob(id: $id, input: $input) {
26
- ${o}
28
+ ${s}
27
29
  }
28
30
  }
29
- `, f = `
31
+ `, p = `
30
32
  mutation UpdateDeliveryJobStatus($id: ID!, $input: UpdateDeliveryJobStatusInput!) {
31
33
  updateDeliveryJobStatus(id: $id, input: $input) {
32
- ${o}
34
+ ${s}
33
35
  }
34
36
  }
35
- `, p = "\n mutation DeleteDeliveryJob($id: ID!) {\n deleteDeliveryJob(id: $id)\n }\n";
36
- function m(e) {
37
+ `, m = "\n mutation DeleteDeliveryJob($id: ID!) {\n deleteDeliveryJob(id: $id)\n }\n";
38
+ function h(e) {
37
39
  switch (e) {
38
40
  case "PENDING": return "pending";
39
41
  case "CONFIRMED": return "confirmed";
@@ -46,7 +48,7 @@ function m(e) {
46
48
  default: return "failed";
47
49
  }
48
50
  }
49
- function h(e) {
51
+ function g(e) {
50
52
  switch (e) {
51
53
  case "LOW": return "low";
52
54
  case "HIGH": return "high";
@@ -55,7 +57,7 @@ function h(e) {
55
57
  default: return "normal";
56
58
  }
57
59
  }
58
- function g(e) {
60
+ function _(e) {
59
61
  switch (e) {
60
62
  case "pending": return "PENDING";
61
63
  case "confirmed": return "CONFIRMED";
@@ -68,7 +70,7 @@ function g(e) {
68
70
  default: return "FAILED";
69
71
  }
70
72
  }
71
- function _(e) {
73
+ function v(e) {
72
74
  switch (e) {
73
75
  case "low": return "LOW";
74
76
  case "high": return "HIGH";
@@ -76,7 +78,7 @@ function _(e) {
76
78
  default: return "MEDIUM";
77
79
  }
78
80
  }
79
- function v(e) {
81
+ function y(e) {
80
82
  return {
81
83
  street: "",
82
84
  city: "",
@@ -86,7 +88,7 @@ function v(e) {
86
88
  ...e ?? {}
87
89
  };
88
90
  }
89
- function y(e) {
91
+ function b(e) {
90
92
  return {
91
93
  id: e.id,
92
94
  orderNumber: e.deliveryJobNumber,
@@ -98,10 +100,10 @@ function y(e) {
98
100
  company: e.customer?.company ?? void 0
99
101
  },
100
102
  items: Array.isArray(e.cargoItems) ? e.cargoItems : [],
101
- status: m(e.status),
102
- priority: h(e.priority),
103
- pickupAddress: v(e.pickupAddress),
104
- deliveryAddress: v(e.deliveryAddress),
103
+ status: h(e.status),
104
+ priority: g(e.priority),
105
+ pickupAddress: y(e.pickupAddress),
106
+ deliveryAddress: y(e.deliveryAddress),
105
107
  trackingNumber: e.trackingNumber ?? "",
106
108
  specialInstructions: e.specialInstructions ?? void 0,
107
109
  pricing: {
@@ -119,7 +121,7 @@ function y(e) {
119
121
  },
120
122
  timeline: e.statusHistory?.map((e) => ({
121
123
  timestamp: new Date(e.createdAt),
122
- status: m(e.status),
124
+ status: h(e.status),
123
125
  location: e.location,
124
126
  notes: e.notes ?? void 0,
125
127
  performedBy: e.createdBy ?? "system"
@@ -127,166 +129,169 @@ function y(e) {
127
129
  scheduledDelivery: e.scheduledDelivery ? new Date(e.scheduledDelivery) : void 0,
128
130
  vehicleId: e.vehicleId ?? void 0,
129
131
  driverId: e.driverId ?? void 0,
132
+ routeId: e.routeId ?? void 0,
133
+ route: e.route ? n(e.route) : void 0,
130
134
  createdAt: new Date(e.createdAt),
131
135
  updatedAt: new Date(e.updatedAt)
132
136
  };
133
137
  }
134
- function b(o = {}) {
135
- let { filters: c, limit: l = 20, offset: m = 0 } = o, h = i(() => c, [
136
- c?.status,
137
- c?.priority,
138
- c?.customerId,
139
- c?.driverId,
140
- c?.unassigned
141
- ]), { apiGatewayUrl: v, authToken: b, workspaceToken: x, workspaceId: S, tenantId: C, currentUser: w } = e(), [T, E] = a([]), [D, O] = a(!1), [k, A] = a(!1), [j, M] = a(null), N = i(() => ({
142
- apiGatewayUrl: v,
143
- authToken: b,
138
+ function x(n = {}) {
139
+ let { filters: s, limit: l = 20, offset: u = 0 } = n, h = a(() => s, [
140
+ s?.status,
141
+ s?.priority,
142
+ s?.customerId,
143
+ s?.driverId,
144
+ s?.search,
145
+ s?.unassigned
146
+ ]), { apiGatewayUrl: g, authToken: y, workspaceToken: x, workspaceId: S, tenantId: C, currentUser: w } = e(), [T, E] = o([]), [D, O] = o(0), [k, A] = o(!1), [j, M] = o(!1), [N, P] = o(null), F = a(() => ({
147
+ apiGatewayUrl: g,
148
+ authToken: y,
144
149
  workspaceToken: x,
145
150
  workspaceId: S,
146
151
  tenantId: C,
147
152
  actorId: w?.id
148
153
  }), [
149
- v,
150
- b,
154
+ g,
155
+ y,
151
156
  x,
152
157
  S,
153
158
  C,
154
159
  w?.id
155
- ]), P = n(async () => {
156
- A(!0), M(null);
160
+ ]), I = r(async () => {
161
+ M(!0), P(null);
157
162
  try {
158
- let e = (await t(N, s, {
163
+ let e = await t(F, c, {
159
164
  filter: {
160
- status: h?.status ? g(h.status) : void 0,
161
- priority: h?.priority ? _(h.priority) : void 0,
165
+ status: h?.status ? _(h.status) : void 0,
166
+ priority: h?.priority ? v(h.priority) : void 0,
162
167
  customerId: h?.customerId,
163
- driverId: h?.driverId
168
+ driverId: h?.driverId,
169
+ unassigned: h?.unassigned,
170
+ search: h?.search
164
171
  },
165
172
  pagination: {
166
173
  limit: l,
167
- offset: m
174
+ offset: u
168
175
  }
169
- })).deliveryJobs;
170
- O(e.length === l);
171
- let n = e.map(y);
172
- h?.unassigned && (n = n.filter((e) => !e.driverId)), E(n);
176
+ }), n = e.deliveryJobs;
177
+ O(e.deliveryJobsCount), A(u + n.length < e.deliveryJobsCount), E(n.map(b));
173
178
  } catch (e) {
174
- M(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load orders"));
179
+ P(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load orders"));
175
180
  } finally {
176
- A(!1);
181
+ M(!1);
177
182
  }
178
183
  }, [
179
184
  h,
180
- N,
185
+ F,
181
186
  l,
182
- m
187
+ u
183
188
  ]);
184
- r(() => {
185
- P();
186
- }, [P]);
187
- let F = n(() => {
188
- P();
189
- }, [P]), I = n(async (e) => {
190
- let n = y((await t(N, u, { input: {
191
- deliveryJobNumber: e.orderNumber ?? `ORD-${(/* @__PURE__ */ new Date()).getFullYear()}-${Date.now().toString().slice(-6)}`,
192
- status: g(e.status ?? "pending"),
193
- priority: _(e.priority),
194
- customerId: e.customerId,
195
- pickupAddress: e.pickupAddress ?? {},
196
- deliveryAddress: e.deliveryAddress ?? {},
197
- cargoItems: e.items ?? [],
198
- pricing: e.pricing ?? null,
199
- specialInstructions: e.specialInstructions,
200
- trackingNumber: e.trackingNumber,
201
- scheduledDelivery: e.scheduledDelivery?.toISOString(),
202
- vehicleId: e.vehicleId,
203
- driverId: e.driverId
204
- } })).createDeliveryJob);
205
- return E((e) => [n, ...e]), n;
206
- }, [N]), L = n(async (e, n) => {
207
- let r = y((await t(N, d, {
208
- id: e,
209
- input: {
210
- status: n.status ? g(n.status) : void 0,
211
- priority: n.priority ? _(n.priority) : void 0,
212
- customerId: n.customerId,
213
- pickupAddress: n.pickupAddress,
214
- deliveryAddress: n.deliveryAddress,
215
- cargoItems: n.items,
216
- pricing: n.pricing,
217
- specialInstructions: n.specialInstructions,
218
- trackingNumber: n.trackingNumber,
219
- scheduledDelivery: n.scheduledDelivery === null ? null : n.scheduledDelivery?.toISOString(),
220
- vehicleId: n.vehicleId,
221
- driverId: n.driverId
222
- }
223
- })).updateDeliveryJob);
224
- return E((t) => t.map((t) => t.id === e ? r : t)), r;
225
- }, [N]), R = n(async (e) => {
226
- await t(N, p, { id: e }), E((t) => t.filter((t) => t.id !== e));
227
- }, [N]), z = n(async (e, n) => {
228
- let r = y((await t(N, f, {
229
- id: e,
230
- input: { status: g(n) }
231
- })).updateDeliveryJobStatus);
232
- return E((t) => t.map((t) => t.id === e ? r : t)), r;
233
- }, [N]);
234
- return {
189
+ return i(() => {
190
+ I();
191
+ }, [I]), {
235
192
  orders: T,
236
- totalOrders: T.length,
237
- hasMore: D,
238
- isLoading: k,
239
- error: j,
240
- refetch: F,
241
- createOrder: I,
242
- updateOrder: L,
243
- deleteOrder: R,
244
- updateOrderStatus: z
193
+ totalOrders: D,
194
+ hasMore: k,
195
+ isLoading: j,
196
+ error: N,
197
+ refetch: r(() => {
198
+ I();
199
+ }, [I]),
200
+ createOrder: r(async (e) => {
201
+ let n = b((await t(F, d, { input: {
202
+ deliveryJobNumber: e.orderNumber ?? `ORD-${(/* @__PURE__ */ new Date()).getFullYear()}-${Date.now().toString().slice(-6)}`,
203
+ status: _(e.status ?? "pending"),
204
+ priority: v(e.priority),
205
+ customerId: e.customerId,
206
+ pickupAddress: e.pickupAddress ?? {},
207
+ deliveryAddress: e.deliveryAddress ?? {},
208
+ cargoItems: e.items ?? [],
209
+ pricing: e.pricing ?? null,
210
+ specialInstructions: e.specialInstructions,
211
+ trackingNumber: e.trackingNumber,
212
+ scheduledDelivery: e.scheduledDelivery?.toISOString(),
213
+ vehicleId: e.vehicleId,
214
+ driverId: e.driverId,
215
+ routeId: e.routeId
216
+ } })).createDeliveryJob);
217
+ return E((e) => [n, ...e]), n;
218
+ }, [F]),
219
+ updateOrder: r(async (e, n) => {
220
+ let r = b((await t(F, f, {
221
+ id: e,
222
+ input: {
223
+ status: n.status ? _(n.status) : void 0,
224
+ priority: n.priority ? v(n.priority) : void 0,
225
+ customerId: n.customerId,
226
+ pickupAddress: n.pickupAddress,
227
+ deliveryAddress: n.deliveryAddress,
228
+ cargoItems: n.items,
229
+ pricing: n.pricing,
230
+ specialInstructions: n.specialInstructions,
231
+ trackingNumber: n.trackingNumber,
232
+ scheduledDelivery: n.scheduledDelivery === null ? null : n.scheduledDelivery?.toISOString(),
233
+ vehicleId: n.vehicleId,
234
+ driverId: n.driverId,
235
+ routeId: n.routeId
236
+ }
237
+ })).updateDeliveryJob);
238
+ return E((t) => t.map((t) => t.id === e ? r : t)), r;
239
+ }, [F]),
240
+ deleteOrder: r(async (e) => {
241
+ await t(F, m, { id: e }), E((t) => t.filter((t) => t.id !== e));
242
+ }, [F]),
243
+ updateOrderStatus: r(async (e, n) => {
244
+ let r = b((await t(F, p, {
245
+ id: e,
246
+ input: { status: _(n) }
247
+ })).updateDeliveryJobStatus);
248
+ return E((t) => t.map((t) => t.id === e ? r : t)), r;
249
+ }, [F])
245
250
  };
246
251
  }
247
- function x(o) {
248
- let { apiGatewayUrl: s, authToken: l, workspaceToken: u, workspaceId: d, tenantId: f, currentUser: p } = e(), [m, h] = a(null), [g, _] = a(!1), [v, b] = a(null), x = i(() => ({
252
+ function S(n) {
253
+ let { apiGatewayUrl: s, authToken: c, workspaceToken: u, workspaceId: d, tenantId: f, currentUser: p } = e(), [m, h] = o(null), [g, _] = o(!1), [v, y] = o(null), x = a(() => ({
249
254
  apiGatewayUrl: s,
250
- authToken: l,
255
+ authToken: c,
251
256
  workspaceToken: u,
252
257
  workspaceId: d,
253
258
  tenantId: f,
254
259
  actorId: p?.id
255
260
  }), [
256
261
  s,
257
- l,
262
+ c,
258
263
  u,
259
264
  d,
260
265
  f,
261
266
  p?.id
262
- ]), S = n(async () => {
263
- if (!o) {
267
+ ]), S = r(async () => {
268
+ if (!n) {
264
269
  h(null);
265
270
  return;
266
271
  }
267
- _(!0), b(null);
272
+ _(!0), y(null);
268
273
  try {
269
- let e = await t(x, c, { id: o });
270
- h(e.deliveryJob ? y(e.deliveryJob) : null);
274
+ let e = await t(x, l, { id: n });
275
+ h(e.deliveryJob ? b(e.deliveryJob) : null);
271
276
  } catch (e) {
272
- b(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load order"));
277
+ y(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load order"));
273
278
  } finally {
274
279
  _(!1);
275
280
  }
276
- }, [x, o]);
277
- return r(() => {
281
+ }, [x, n]);
282
+ return i(() => {
278
283
  S();
279
284
  }, [S]), {
280
285
  order: m,
281
286
  isLoading: g,
282
287
  error: v,
283
- refetch: n(() => {
288
+ refetch: r(() => {
284
289
  S();
285
290
  }, [S])
286
291
  };
287
292
  }
288
- function S() {
289
- let { apiGatewayUrl: o, authToken: s, workspaceToken: c, workspaceId: u, tenantId: d, currentUser: f } = e(), [p, m] = a(!1), [h, g] = a(null), [_, v] = a({
293
+ function C() {
294
+ let { apiGatewayUrl: n, authToken: s, workspaceToken: c, workspaceId: l, tenantId: d, currentUser: f } = e(), [p, m] = o(!1), [h, g] = o(null), [_, v] = o({
290
295
  total: 0,
291
296
  byStatus: {
292
297
  pending: 0,
@@ -302,24 +307,24 @@ function S() {
302
307
  totalRevenue: 0,
303
308
  todayOrders: 0,
304
309
  avgOrderValue: 0
305
- }), y = i(() => ({
306
- apiGatewayUrl: o,
310
+ }), y = a(() => ({
311
+ apiGatewayUrl: n,
307
312
  authToken: s,
308
313
  workspaceToken: c,
309
- workspaceId: u,
314
+ workspaceId: l,
310
315
  tenantId: d,
311
316
  actorId: f?.id
312
317
  }), [
313
- o,
318
+ n,
314
319
  s,
315
320
  c,
316
- u,
321
+ l,
317
322
  d,
318
323
  f?.id
319
- ]), b = n(async () => {
324
+ ]), b = r(async () => {
320
325
  m(!0), g(null);
321
326
  try {
322
- let e = await t(y, l);
327
+ let e = await t(y, u);
323
328
  v({
324
329
  total: e.deliveryJobStats.total,
325
330
  byStatus: {
@@ -343,7 +348,7 @@ function S() {
343
348
  m(!1);
344
349
  }
345
350
  }, [y]);
346
- return r(() => {
351
+ return i(() => {
347
352
  b();
348
353
  }, [b]), {
349
354
  stats: _,
@@ -352,4 +357,4 @@ function S() {
352
357
  };
353
358
  }
354
359
  //#endregion
355
- export { h as mapOrderPriority, m as mapOrderStatus, x as useOrder, S as useOrderStats, b as useOrders };
360
+ export { b as mapOrder, g as mapOrderPriority, h as mapOrderStatus, S as useOrder, C as useOrderStats, x as useOrders };