@burdenoff/microfe-movethewheels 2026.921.1 → 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.
- package/dist/generated/wspace-types.d.ts +1676 -3
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useFleet.js +4 -2
- package/dist/hooks/useOrders.js +89 -84
- package/dist/hooks/useRoutes.js +1 -1
- package/dist/index.js +6 -6
- package/dist/movethewheels/hooks/useOrders.d.ts +15 -0
- package/dist/movethewheels/hooks/useRoutes.d.ts +16 -0
- package/dist/movethewheels/types/index.d.ts +5 -0
- package/dist/pages/CreateOrderPage.js +266 -210
- package/dist/pages/OrderDetailsPage.js +305 -237
- package/dist/pages/RouteDetailsPage.js +247 -238
- package/package.json +1 -1
- package/src/generated/wspace-types.ts +1948 -3
- package/src/movethewheels/hooks/useFleet.ts +9 -2
- package/src/movethewheels/hooks/useOrders.ts +35 -0
- package/src/movethewheels/hooks/useRoutes.ts +1 -1
- package/src/movethewheels/pages/CreateOrderPage.tsx +84 -1
- package/src/movethewheels/pages/OrderDetailsPage.tsx +79 -10
- package/src/movethewheels/pages/RouteDetailsPage.tsx +14 -4
- package/src/movethewheels/types/index.ts +5 -0
package/dist/hooks/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../shared/hooks/useTr.js";
|
|
2
|
+
import "./useRoutes.js";
|
|
2
3
|
import "./useOrders.js";
|
|
3
4
|
import "./useFleet.js";
|
|
4
5
|
import "./useInventory.js";
|
|
5
6
|
import "./useCustomers.js";
|
|
6
|
-
import "./useRoutes.js";
|
|
7
7
|
import "./useAnalytics.js";
|
|
8
8
|
import "./useTracking.js";
|
|
9
9
|
import "./useReports.js";
|
package/dist/hooks/useFleet.js
CHANGED
|
@@ -157,6 +157,7 @@ function E(e = {}) {
|
|
|
157
157
|
c?.driverId,
|
|
158
158
|
c?.search,
|
|
159
159
|
c?.status,
|
|
160
|
+
c?.vehicleId,
|
|
160
161
|
c?.vehicleType
|
|
161
162
|
]), d = T(), [f, _] = a([]), [v, y] = a([]), [x, S] = a(!1), [E, D] = a(null), O = n(async () => {
|
|
162
163
|
S(!0), D(null);
|
|
@@ -165,7 +166,8 @@ function E(e = {}) {
|
|
|
165
166
|
filter: {
|
|
166
167
|
search: u?.search,
|
|
167
168
|
type: u?.vehicleType?.toUpperCase(),
|
|
168
|
-
status: u?.status ? b(u.status) : void 0
|
|
169
|
+
status: u?.status ? b(u.status) : void 0,
|
|
170
|
+
driverId: u?.driverId
|
|
169
171
|
},
|
|
170
172
|
pagination: {
|
|
171
173
|
limit: l,
|
|
@@ -174,7 +176,7 @@ function E(e = {}) {
|
|
|
174
176
|
}), t(d, s, {
|
|
175
177
|
filter: {
|
|
176
178
|
search: u?.search,
|
|
177
|
-
vehicleId: u?.
|
|
179
|
+
vehicleId: u?.vehicleId
|
|
178
180
|
},
|
|
179
181
|
pagination: {
|
|
180
182
|
limit: l,
|
package/dist/hooks/useOrders.js
CHANGED
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import { useMoveTheWheels as e } from "../providers/MoveTheWheelsProvider.js";
|
|
2
2
|
import { executeGraphQL as t } from "../utils/graphqlClient.js";
|
|
3
|
-
import {
|
|
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
|
|
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
|
-
${
|
|
9
|
+
${s}
|
|
9
10
|
}
|
|
10
11
|
deliveryJobsCount(filter: $filter)
|
|
11
12
|
}
|
|
12
|
-
`,
|
|
13
|
+
`, l = `
|
|
13
14
|
query GetDeliveryJob($id: ID!) {
|
|
14
15
|
deliveryJob(id: $id) {
|
|
15
|
-
${
|
|
16
|
+
${s}
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
`,
|
|
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 = `
|
|
19
20
|
mutation CreateDeliveryJob($input: CreateDeliveryJobInput!) {
|
|
20
21
|
createDeliveryJob(input: $input) {
|
|
21
|
-
${
|
|
22
|
+
${s}
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
|
-
`,
|
|
25
|
+
`, f = `
|
|
25
26
|
mutation UpdateDeliveryJob($id: ID!, $input: UpdateDeliveryJobInput!) {
|
|
26
27
|
updateDeliveryJob(id: $id, input: $input) {
|
|
27
|
-
${
|
|
28
|
+
${s}
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
|
-
`,
|
|
31
|
+
`, p = `
|
|
31
32
|
mutation UpdateDeliveryJobStatus($id: ID!, $input: UpdateDeliveryJobStatusInput!) {
|
|
32
33
|
updateDeliveryJobStatus(id: $id, input: $input) {
|
|
33
|
-
${
|
|
34
|
+
${s}
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
|
-
`,
|
|
37
|
-
function
|
|
37
|
+
`, m = "\n mutation DeleteDeliveryJob($id: ID!) {\n deleteDeliveryJob(id: $id)\n }\n";
|
|
38
|
+
function h(e) {
|
|
38
39
|
switch (e) {
|
|
39
40
|
case "PENDING": return "pending";
|
|
40
41
|
case "CONFIRMED": return "confirmed";
|
|
@@ -47,7 +48,7 @@ function m(e) {
|
|
|
47
48
|
default: return "failed";
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
function
|
|
51
|
+
function g(e) {
|
|
51
52
|
switch (e) {
|
|
52
53
|
case "LOW": return "low";
|
|
53
54
|
case "HIGH": return "high";
|
|
@@ -56,7 +57,7 @@ function h(e) {
|
|
|
56
57
|
default: return "normal";
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
|
-
function
|
|
60
|
+
function _(e) {
|
|
60
61
|
switch (e) {
|
|
61
62
|
case "pending": return "PENDING";
|
|
62
63
|
case "confirmed": return "CONFIRMED";
|
|
@@ -69,7 +70,7 @@ function g(e) {
|
|
|
69
70
|
default: return "FAILED";
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
function
|
|
73
|
+
function v(e) {
|
|
73
74
|
switch (e) {
|
|
74
75
|
case "low": return "LOW";
|
|
75
76
|
case "high": return "HIGH";
|
|
@@ -77,7 +78,7 @@ function _(e) {
|
|
|
77
78
|
default: return "MEDIUM";
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
|
-
function
|
|
81
|
+
function y(e) {
|
|
81
82
|
return {
|
|
82
83
|
street: "",
|
|
83
84
|
city: "",
|
|
@@ -87,7 +88,7 @@ function v(e) {
|
|
|
87
88
|
...e ?? {}
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
|
-
function
|
|
91
|
+
function b(e) {
|
|
91
92
|
return {
|
|
92
93
|
id: e.id,
|
|
93
94
|
orderNumber: e.deliveryJobNumber,
|
|
@@ -99,10 +100,10 @@ function y(e) {
|
|
|
99
100
|
company: e.customer?.company ?? void 0
|
|
100
101
|
},
|
|
101
102
|
items: Array.isArray(e.cargoItems) ? e.cargoItems : [],
|
|
102
|
-
status:
|
|
103
|
-
priority:
|
|
104
|
-
pickupAddress:
|
|
105
|
-
deliveryAddress:
|
|
103
|
+
status: h(e.status),
|
|
104
|
+
priority: g(e.priority),
|
|
105
|
+
pickupAddress: y(e.pickupAddress),
|
|
106
|
+
deliveryAddress: y(e.deliveryAddress),
|
|
106
107
|
trackingNumber: e.trackingNumber ?? "",
|
|
107
108
|
specialInstructions: e.specialInstructions ?? void 0,
|
|
108
109
|
pricing: {
|
|
@@ -120,7 +121,7 @@ function y(e) {
|
|
|
120
121
|
},
|
|
121
122
|
timeline: e.statusHistory?.map((e) => ({
|
|
122
123
|
timestamp: new Date(e.createdAt),
|
|
123
|
-
status:
|
|
124
|
+
status: h(e.status),
|
|
124
125
|
location: e.location,
|
|
125
126
|
notes: e.notes ?? void 0,
|
|
126
127
|
performedBy: e.createdBy ?? "system"
|
|
@@ -128,39 +129,41 @@ function y(e) {
|
|
|
128
129
|
scheduledDelivery: e.scheduledDelivery ? new Date(e.scheduledDelivery) : void 0,
|
|
129
130
|
vehicleId: e.vehicleId ?? void 0,
|
|
130
131
|
driverId: e.driverId ?? void 0,
|
|
132
|
+
routeId: e.routeId ?? void 0,
|
|
133
|
+
route: e.route ? n(e.route) : void 0,
|
|
131
134
|
createdAt: new Date(e.createdAt),
|
|
132
135
|
updatedAt: new Date(e.updatedAt)
|
|
133
136
|
};
|
|
134
137
|
}
|
|
135
|
-
function
|
|
136
|
-
let { filters:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
]), { apiGatewayUrl:
|
|
144
|
-
apiGatewayUrl:
|
|
145
|
-
authToken:
|
|
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,
|
|
146
149
|
workspaceToken: x,
|
|
147
150
|
workspaceId: S,
|
|
148
151
|
tenantId: C,
|
|
149
152
|
actorId: w?.id
|
|
150
153
|
}), [
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
g,
|
|
155
|
+
y,
|
|
153
156
|
x,
|
|
154
157
|
S,
|
|
155
158
|
C,
|
|
156
159
|
w?.id
|
|
157
|
-
]), I =
|
|
160
|
+
]), I = r(async () => {
|
|
158
161
|
M(!0), P(null);
|
|
159
162
|
try {
|
|
160
|
-
let e = await t(F,
|
|
163
|
+
let e = await t(F, c, {
|
|
161
164
|
filter: {
|
|
162
|
-
status: h?.status ?
|
|
163
|
-
priority: h?.priority ?
|
|
165
|
+
status: h?.status ? _(h.status) : void 0,
|
|
166
|
+
priority: h?.priority ? v(h.priority) : void 0,
|
|
164
167
|
customerId: h?.customerId,
|
|
165
168
|
driverId: h?.driverId,
|
|
166
169
|
unassigned: h?.unassigned,
|
|
@@ -168,10 +171,10 @@ function b(o = {}) {
|
|
|
168
171
|
},
|
|
169
172
|
pagination: {
|
|
170
173
|
limit: l,
|
|
171
|
-
offset:
|
|
174
|
+
offset: u
|
|
172
175
|
}
|
|
173
176
|
}), n = e.deliveryJobs;
|
|
174
|
-
O(e.deliveryJobsCount), A(
|
|
177
|
+
O(e.deliveryJobsCount), A(u + n.length < e.deliveryJobsCount), E(n.map(b));
|
|
175
178
|
} catch (e) {
|
|
176
179
|
P(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load orders"));
|
|
177
180
|
} finally {
|
|
@@ -181,9 +184,9 @@ function b(o = {}) {
|
|
|
181
184
|
h,
|
|
182
185
|
F,
|
|
183
186
|
l,
|
|
184
|
-
|
|
187
|
+
u
|
|
185
188
|
]);
|
|
186
|
-
return
|
|
189
|
+
return i(() => {
|
|
187
190
|
I();
|
|
188
191
|
}, [I]), {
|
|
189
192
|
orders: T,
|
|
@@ -191,14 +194,14 @@ function b(o = {}) {
|
|
|
191
194
|
hasMore: k,
|
|
192
195
|
isLoading: j,
|
|
193
196
|
error: N,
|
|
194
|
-
refetch:
|
|
197
|
+
refetch: r(() => {
|
|
195
198
|
I();
|
|
196
199
|
}, [I]),
|
|
197
|
-
createOrder:
|
|
198
|
-
let n =
|
|
200
|
+
createOrder: r(async (e) => {
|
|
201
|
+
let n = b((await t(F, d, { input: {
|
|
199
202
|
deliveryJobNumber: e.orderNumber ?? `ORD-${(/* @__PURE__ */ new Date()).getFullYear()}-${Date.now().toString().slice(-6)}`,
|
|
200
|
-
status:
|
|
201
|
-
priority:
|
|
203
|
+
status: _(e.status ?? "pending"),
|
|
204
|
+
priority: v(e.priority),
|
|
202
205
|
customerId: e.customerId,
|
|
203
206
|
pickupAddress: e.pickupAddress ?? {},
|
|
204
207
|
deliveryAddress: e.deliveryAddress ?? {},
|
|
@@ -208,16 +211,17 @@ function b(o = {}) {
|
|
|
208
211
|
trackingNumber: e.trackingNumber,
|
|
209
212
|
scheduledDelivery: e.scheduledDelivery?.toISOString(),
|
|
210
213
|
vehicleId: e.vehicleId,
|
|
211
|
-
driverId: e.driverId
|
|
214
|
+
driverId: e.driverId,
|
|
215
|
+
routeId: e.routeId
|
|
212
216
|
} })).createDeliveryJob);
|
|
213
217
|
return E((e) => [n, ...e]), n;
|
|
214
218
|
}, [F]),
|
|
215
|
-
updateOrder:
|
|
216
|
-
let r =
|
|
219
|
+
updateOrder: r(async (e, n) => {
|
|
220
|
+
let r = b((await t(F, f, {
|
|
217
221
|
id: e,
|
|
218
222
|
input: {
|
|
219
|
-
status: n.status ?
|
|
220
|
-
priority: n.priority ?
|
|
223
|
+
status: n.status ? _(n.status) : void 0,
|
|
224
|
+
priority: n.priority ? v(n.priority) : void 0,
|
|
221
225
|
customerId: n.customerId,
|
|
222
226
|
pickupAddress: n.pickupAddress,
|
|
223
227
|
deliveryAddress: n.deliveryAddress,
|
|
@@ -227,66 +231,67 @@ function b(o = {}) {
|
|
|
227
231
|
trackingNumber: n.trackingNumber,
|
|
228
232
|
scheduledDelivery: n.scheduledDelivery === null ? null : n.scheduledDelivery?.toISOString(),
|
|
229
233
|
vehicleId: n.vehicleId,
|
|
230
|
-
driverId: n.driverId
|
|
234
|
+
driverId: n.driverId,
|
|
235
|
+
routeId: n.routeId
|
|
231
236
|
}
|
|
232
237
|
})).updateDeliveryJob);
|
|
233
238
|
return E((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
234
239
|
}, [F]),
|
|
235
|
-
deleteOrder:
|
|
236
|
-
await t(F,
|
|
240
|
+
deleteOrder: r(async (e) => {
|
|
241
|
+
await t(F, m, { id: e }), E((t) => t.filter((t) => t.id !== e));
|
|
237
242
|
}, [F]),
|
|
238
|
-
updateOrderStatus:
|
|
239
|
-
let r =
|
|
243
|
+
updateOrderStatus: r(async (e, n) => {
|
|
244
|
+
let r = b((await t(F, p, {
|
|
240
245
|
id: e,
|
|
241
|
-
input: { status:
|
|
246
|
+
input: { status: _(n) }
|
|
242
247
|
})).updateDeliveryJobStatus);
|
|
243
248
|
return E((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
244
249
|
}, [F])
|
|
245
250
|
};
|
|
246
251
|
}
|
|
247
|
-
function
|
|
248
|
-
let { apiGatewayUrl: s, authToken:
|
|
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:
|
|
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
|
-
|
|
262
|
+
c,
|
|
258
263
|
u,
|
|
259
264
|
d,
|
|
260
265
|
f,
|
|
261
266
|
p?.id
|
|
262
|
-
]), S =
|
|
263
|
-
if (!
|
|
267
|
+
]), S = r(async () => {
|
|
268
|
+
if (!n) {
|
|
264
269
|
h(null);
|
|
265
270
|
return;
|
|
266
271
|
}
|
|
267
|
-
_(!0),
|
|
272
|
+
_(!0), y(null);
|
|
268
273
|
try {
|
|
269
|
-
let e = await t(x,
|
|
270
|
-
h(e.deliveryJob ?
|
|
274
|
+
let e = await t(x, l, { id: n });
|
|
275
|
+
h(e.deliveryJob ? b(e.deliveryJob) : null);
|
|
271
276
|
} catch (e) {
|
|
272
|
-
|
|
277
|
+
y(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load order"));
|
|
273
278
|
} finally {
|
|
274
279
|
_(!1);
|
|
275
280
|
}
|
|
276
|
-
}, [x,
|
|
277
|
-
return
|
|
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:
|
|
288
|
+
refetch: r(() => {
|
|
284
289
|
S();
|
|
285
290
|
}, [S])
|
|
286
291
|
};
|
|
287
292
|
}
|
|
288
|
-
function
|
|
289
|
-
let { apiGatewayUrl:
|
|
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 =
|
|
306
|
-
apiGatewayUrl:
|
|
310
|
+
}), y = a(() => ({
|
|
311
|
+
apiGatewayUrl: n,
|
|
307
312
|
authToken: s,
|
|
308
313
|
workspaceToken: c,
|
|
309
|
-
workspaceId:
|
|
314
|
+
workspaceId: l,
|
|
310
315
|
tenantId: d,
|
|
311
316
|
actorId: f?.id
|
|
312
317
|
}), [
|
|
313
|
-
|
|
318
|
+
n,
|
|
314
319
|
s,
|
|
315
320
|
c,
|
|
316
|
-
|
|
321
|
+
l,
|
|
317
322
|
d,
|
|
318
323
|
f?.id
|
|
319
|
-
]), b =
|
|
324
|
+
]), b = r(async () => {
|
|
320
325
|
m(!0), g(null);
|
|
321
326
|
try {
|
|
322
|
-
let e = await t(y,
|
|
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
|
|
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 {
|
|
360
|
+
export { b as mapOrder, g as mapOrderPriority, h as mapOrderStatus, S as useOrder, C as useOrderStats, x as useOrders };
|
package/dist/hooks/useRoutes.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useMoveTheWheels as e, useMoveTheWheelsNavigate as t } from "./providers/MoveTheWheelsProvider.js";
|
|
2
2
|
import { useTr as n } from "./shared/hooks/useTr.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { useRoute as r, useRouteStats as i, useRoutes as a } from "./hooks/useRoutes.js";
|
|
4
|
+
import { useOrder as o, useOrderStats as s, useOrders as c } from "./hooks/useOrders.js";
|
|
5
|
+
import { useDriver as l, useDriverStatusCounts as u, useDrivers as d, useFleet as f, useFleetStats as p, useVehicle as m, useVehicleDrivers as h, useVehicles as g } from "./hooks/useFleet.js";
|
|
6
|
+
import { useInventory as _, useInventoryStats as v, useInventoryTransactions as y, useProduct as b, useProductStockLevels as x, useProducts as S, useWarehouse as C, useWarehouses as w } from "./hooks/useInventory.js";
|
|
7
|
+
import { useCustomer as T, useCustomerStats as E, useCustomers as D } from "./hooks/useCustomers.js";
|
|
8
8
|
import { useAnalytics as O, useDashboardMetrics as k, useEmissionsSummary as A, useFinanceMetrics as j, useFleetAnalytics as M, useOrderAnalytics as N, usePerformanceAnalytics as P, useRevenueAnalytics as F } from "./hooks/useAnalytics.js";
|
|
9
9
|
import { useDriverTracking as I, useGeofence as L, useLiveTracking as R, useOrderTracking as z, useTracking as B, useTrackingAlerts as V, useVehicleTracking as H } from "./hooks/useTracking.js";
|
|
10
10
|
import { useReports as U } from "./hooks/useReports.js";
|
|
@@ -38,4 +38,4 @@ import { Notice as At, useNotice as jt } from "./components/Notice.js";
|
|
|
38
38
|
import { DocumentsCard as Mt } from "./components/DocumentsCard.js";
|
|
39
39
|
import { CarbonFootprintPanel as Nt } from "./components/CarbonFootprintPanel.js";
|
|
40
40
|
import "./components/index.js";
|
|
41
|
-
export { te as Avatar, ne as AvatarFallback, re as AvatarImage, ie as Badge, ae as Button, Nt as CarbonFootprintPanel, oe as Card, se as CardContent, ce as CardDescription, le as CardFooter, ue as CardHeader, de as CardTitle, ut as ChartEmpty, dt as ChartTooltip, fe as Checkbox, Ot as DataTable, pe as Dialog, me as DialogContent, he as DialogDescription, ge as DialogFooter, _e as DialogHeader, ve as DialogTitle, ye as DialogTrigger, Mt as DocumentsCard, be as DropdownMenu, xe as DropdownMenuContent, Se as DropdownMenuItem, Ce as DropdownMenuSeparator, we as DropdownMenuTrigger, Qe as EmptyState, $e as ErrorState, kt as FormError, lt as GlassPanel, Te as Input, Ee as Label, et as LoadingState, bt as LogisticsMap, yt as MapCanvas, ot as MetricCard, st as MetricCardSkeleton, ct as MetricGrid, Q as MoveTheWheelsRoot, At as Notice, tt as PageLayout, nt as PageSection, Ct as PaymentStatusBadge, wt as PriorityBadge, De as Progress, xt as RouteMap, Oe as ScrollArea, ke as Select, Ae as SelectContent, je as SelectItem, Me as SelectTrigger, Ne as SelectValue, Pe as Separator, Fe as Skeleton, at as Sparkline, Tt as StatusBadge, mt as StatusDonut, Ie as Switch, Le as Table, Re as TableBody, ze as TableCell, Be as TableHead, Ve as TableHeader, He as TableRow, Ue as Tabs, We as TabsContent, Ge as TabsList, Ke as TabsTrigger, qe as Textarea, Je as Tooltip, Ye as TooltipContent, Xe as TooltipProvider, Ze as TooltipTrigger, St as TrackingMap, ft as TrendChart, Et as TypeBadge, Dt as VehicleTypeBadge, pt as VolumeBar, rt as chartTokens, ht as createCurrentIcon, gt as createPinIcon, _t as createStopIcon, vt as isRealCoord, it as seriesColor, O as useAnalytics, q as useCaptureEpod,
|
|
41
|
+
export { te as Avatar, ne as AvatarFallback, re as AvatarImage, ie as Badge, ae as Button, Nt as CarbonFootprintPanel, oe as Card, se as CardContent, ce as CardDescription, le as CardFooter, ue as CardHeader, de as CardTitle, ut as ChartEmpty, dt as ChartTooltip, fe as Checkbox, Ot as DataTable, pe as Dialog, me as DialogContent, he as DialogDescription, ge as DialogFooter, _e as DialogHeader, ve as DialogTitle, ye as DialogTrigger, Mt as DocumentsCard, be as DropdownMenu, xe as DropdownMenuContent, Se as DropdownMenuItem, Ce as DropdownMenuSeparator, we as DropdownMenuTrigger, Qe as EmptyState, $e as ErrorState, kt as FormError, lt as GlassPanel, Te as Input, Ee as Label, et as LoadingState, bt as LogisticsMap, yt as MapCanvas, ot as MetricCard, st as MetricCardSkeleton, ct as MetricGrid, Q as MoveTheWheelsRoot, At as Notice, tt as PageLayout, nt as PageSection, Ct as PaymentStatusBadge, wt as PriorityBadge, De as Progress, xt as RouteMap, Oe as ScrollArea, ke as Select, Ae as SelectContent, je as SelectItem, Me as SelectTrigger, Ne as SelectValue, Pe as Separator, Fe as Skeleton, at as Sparkline, Tt as StatusBadge, mt as StatusDonut, Ie as Switch, Le as Table, Re as TableBody, ze as TableCell, Be as TableHead, Ve as TableHeader, He as TableRow, Ue as Tabs, We as TabsContent, Ge as TabsList, Ke as TabsTrigger, qe as Textarea, Je as Tooltip, Ye as TooltipContent, Xe as TooltipProvider, Ze as TooltipTrigger, St as TrackingMap, ft as TrendChart, Et as TypeBadge, Dt as VehicleTypeBadge, pt as VolumeBar, rt as chartTokens, ht as createCurrentIcon, gt as createPinIcon, _t as createStopIcon, vt as isRealCoord, it as seriesColor, O as useAnalytics, q as useCaptureEpod, T as useCustomer, E as useCustomerStats, D as useCustomers, k as useDashboardMetrics, l as useDriver, u as useDriverStatusCounts, I as useDriverTracking, d as useDrivers, A as useEmissionsSummary, K as useEntityDocuments, J as useEpod, Y as useEpodPhotoUpload, X as useEpodPhotoUrl, j as useFinanceMetrics, f as useFleet, M as useFleetAnalytics, p as useFleetStats, L as useGeofence, W as useImportExport, _ as useInventory, v as useInventoryStats, y as useInventoryTransactions, R as useLiveTracking, G as useModuleSettings, e as useMoveTheWheels, t as useMoveTheWheelsNavigate, $ as useMoveTheWheelsStore, Z as useMyPendingEpodDeliveryJobs, jt as useNotice, o as useOrder, N as useOrderAnalytics, s as useOrderStats, z as useOrderTracking, c as useOrders, P as usePerformanceAnalytics, b as useProduct, x as useProductStockLevels, S as useProducts, U as useReports, F as useRevenueAnalytics, r as useRoute, i as useRouteStats, a as useRoutes, ee as useSandboxAssistantTransport, n as useTr, B as useTracking, V as useTrackingAlerts, m as useVehicle, h as useVehicleDrivers, H as useVehicleTracking, g as useVehicles, C as useWarehouse, w as useWarehouses };
|
|
@@ -43,6 +43,21 @@ export interface ApiOrder {
|
|
|
43
43
|
scheduledDelivery?: string | null;
|
|
44
44
|
vehicleId?: string | null;
|
|
45
45
|
driverId?: string | null;
|
|
46
|
+
routeId?: string | null;
|
|
47
|
+
route?: {
|
|
48
|
+
id: string;
|
|
49
|
+
name: string;
|
|
50
|
+
status: string;
|
|
51
|
+
vehicleId?: string | null;
|
|
52
|
+
driverId?: string | null;
|
|
53
|
+
waypoints?: unknown;
|
|
54
|
+
estimatedDistance?: number | null;
|
|
55
|
+
estimatedDuration?: number | null;
|
|
56
|
+
fuelCost?: number | null;
|
|
57
|
+
actualDistance?: number | null;
|
|
58
|
+
actualDuration?: number | null;
|
|
59
|
+
createdAt: string;
|
|
60
|
+
} | null;
|
|
46
61
|
createdAt: string;
|
|
47
62
|
updatedAt: string;
|
|
48
63
|
customer?: {
|
|
@@ -22,6 +22,22 @@ interface UseRoutesResult {
|
|
|
22
22
|
optimizeRoute: (routeId: string) => Promise<Route>;
|
|
23
23
|
updateStopStatus: (routeId: string, stopId: string, status: RouteStop['status']) => Promise<Route>;
|
|
24
24
|
}
|
|
25
|
+
interface ApiRoute {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
status: string;
|
|
29
|
+
shipmentId?: string | null;
|
|
30
|
+
vehicleId?: string | null;
|
|
31
|
+
driverId?: string | null;
|
|
32
|
+
waypoints?: unknown;
|
|
33
|
+
estimatedDistance?: number | null;
|
|
34
|
+
estimatedDuration?: number | null;
|
|
35
|
+
fuelCost?: number | null;
|
|
36
|
+
actualDistance?: number | null;
|
|
37
|
+
actualDuration?: number | null;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function mapRoute(route: ApiRoute): Route;
|
|
25
41
|
export declare function useRoutes(options?: UseRoutesOptions): UseRoutesResult;
|
|
26
42
|
export declare function useRoute(routeId: string | undefined): {
|
|
27
43
|
route: Route | null;
|
|
@@ -223,6 +223,8 @@ export interface Order {
|
|
|
223
223
|
actualDelivery?: Date;
|
|
224
224
|
driverId?: string;
|
|
225
225
|
vehicleId?: string;
|
|
226
|
+
routeId?: string;
|
|
227
|
+
route?: Route;
|
|
226
228
|
trackingNumber: string;
|
|
227
229
|
specialInstructions?: string;
|
|
228
230
|
pricing: OrderPricing;
|
|
@@ -671,7 +673,10 @@ export interface OrderFilter {
|
|
|
671
673
|
export interface FleetFilter {
|
|
672
674
|
vehicleType?: VehicleType;
|
|
673
675
|
status?: VehicleStatus;
|
|
676
|
+
/** Filter vehicles to those linked to this driver. */
|
|
674
677
|
driverId?: string;
|
|
678
|
+
/** Filter drivers to those linked to this vehicle. */
|
|
679
|
+
vehicleId?: string;
|
|
675
680
|
search?: string;
|
|
676
681
|
}
|
|
677
682
|
export interface InventoryFilter {
|