@burdenoff/microfe-movethewheels 2026.920.2 → 2026.921.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/CarbonFootprintPanel.js +1 -1
- package/dist/components/CustomerPicker.js +271 -0
- package/dist/components/DataTable.js +140 -139
- package/dist/components/DocumentsCard.js +14 -8
- package/dist/generated/wspace-types.d.ts +1043 -5
- package/dist/hooks/useAnalytics.js +21 -1
- package/dist/hooks/useCustomers.js +94 -78
- package/dist/hooks/useDebouncedValue.js +11 -0
- package/dist/hooks/useEntityDocuments.js +28 -18
- package/dist/hooks/useEpod.js +24 -17
- package/dist/hooks/useFleet.js +146 -125
- package/dist/hooks/useInventory.js +255 -186
- package/dist/hooks/useMultiModalShipments.js +35 -27
- package/dist/hooks/useOrders.js +73 -73
- package/dist/hooks/useRoutes.js +97 -75
- package/dist/hooks/useTracking.js +100 -88
- package/dist/movethewheels/components/CustomerPicker.d.ts +19 -0
- package/dist/movethewheels/components/DataTable.d.ts +5 -1
- package/dist/movethewheels/hooks/useCustomers.d.ts +0 -1
- package/dist/movethewheels/hooks/useDebouncedValue.d.ts +1 -0
- package/dist/movethewheels/hooks/useEntityDocuments.d.ts +2 -0
- package/dist/movethewheels/hooks/useEpod.d.ts +6 -1
- package/dist/movethewheels/hooks/useFleet.d.ts +49 -5
- package/dist/movethewheels/hooks/useInventory.d.ts +24 -17
- package/dist/movethewheels/hooks/useMultiModalShipments.d.ts +6 -1
- package/dist/movethewheels/hooks/useOrders.d.ts +33 -5
- package/dist/movethewheels/hooks/useRoutes.d.ts +2 -1
- package/dist/movethewheels/hooks/useTracking.d.ts +12 -11
- package/dist/movethewheels/types/index.d.ts +7 -5
- package/dist/movethewheels/utils/navigation.d.ts +14 -0
- package/dist/pages/CreateOrderPage.js +228 -217
- package/dist/pages/CustomerDetailsPage.js +220 -220
- package/dist/pages/CustomersPage.js +61 -54
- package/dist/pages/DeliveryCapturePage.js +131 -109
- package/dist/pages/DriversPage.js +100 -92
- package/dist/pages/InventoryPage.js +239 -236
- package/dist/pages/MultiModalShipmentPage.js +163 -130
- package/dist/pages/OrderDetailsPage.js +224 -208
- package/dist/pages/OrdersListPage.js +66 -60
- package/dist/pages/ProductDetailsPage.js +241 -200
- package/dist/pages/ProductsPage.js +59 -52
- package/dist/pages/RouteDetailsPage.js +343 -321
- package/dist/pages/RoutesPage.js +55 -48
- package/dist/pages/VehiclesPage.js +63 -56
- package/dist/pages/WarehousesPage.js +60 -53
- package/dist/utils/navigation.js +22 -1
- package/package.json +1 -1
- package/src/generated/wspace-types.ts +1188 -5
- package/src/movethewheels/components/CarbonFootprintPanel.tsx +0 -1
- package/src/movethewheels/components/CustomerPicker.tsx +321 -0
- package/src/movethewheels/components/DataTable.tsx +34 -18
- package/src/movethewheels/components/DocumentsCard.tsx +6 -1
- package/src/movethewheels/components/maps/leaflet-setup.ts +1 -8
- package/src/movethewheels/hooks/useAnalytics.ts +27 -0
- package/src/movethewheels/hooks/useCustomers.ts +64 -24
- package/src/movethewheels/hooks/useDebouncedValue.ts +12 -0
- package/src/movethewheels/hooks/useEntityDocuments.ts +43 -25
- package/src/movethewheels/hooks/useEpod.ts +14 -7
- package/src/movethewheels/hooks/useFleet.ts +58 -37
- package/src/movethewheels/hooks/useFleetIntelligence.ts +1 -4
- package/src/movethewheels/hooks/useInventory.ts +211 -90
- package/src/movethewheels/hooks/useMultiModalShipments.ts +15 -11
- package/src/movethewheels/hooks/useOrders.ts +13 -14
- package/src/movethewheels/hooks/useRoutes.ts +80 -23
- package/src/movethewheels/hooks/useTracking.ts +130 -98
- package/src/movethewheels/pages/CreateOrderPage.tsx +92 -31
- package/src/movethewheels/pages/CustomerDetailsPage.tsx +15 -6
- package/src/movethewheels/pages/CustomersPage.tsx +11 -1
- package/src/movethewheels/pages/DeliveryCapturePage.tsx +31 -1
- package/src/movethewheels/pages/DriversPage.tsx +24 -12
- package/src/movethewheels/pages/InventoryPage.tsx +57 -32
- package/src/movethewheels/pages/MultiModalShipmentPage.tsx +52 -3
- package/src/movethewheels/pages/OrderDetailsPage.tsx +17 -1
- package/src/movethewheels/pages/OrdersListPage.tsx +20 -3
- package/src/movethewheels/pages/ProductDetailsPage.tsx +52 -3
- package/src/movethewheels/pages/ProductsPage.tsx +11 -1
- package/src/movethewheels/pages/RouteDetailsPage.tsx +35 -5
- package/src/movethewheels/pages/RoutesPage.tsx +11 -1
- package/src/movethewheels/pages/VehiclesPage.tsx +19 -2
- package/src/movethewheels/pages/WarehousesPage.tsx +11 -1
- package/src/movethewheels/types/index.ts +7 -5
- package/src/movethewheels/utils/navigation.ts +32 -0
package/dist/hooks/useFleet.js
CHANGED
|
@@ -2,7 +2,7 @@ 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/useFleet.ts
|
|
5
|
-
var o = "\n query ListVehicles($filter: VehicleFilterInput, $pagination: PaginationInput) {\n vehicles(filter: $filter, pagination: $pagination) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n lastServiceDate\n nextServiceDueDate\n nextServiceDueMileage\n createdAt\n updatedAt\n }\n }\n", s = "\n query ListDrivers($filter: DriverFilterInput, $pagination: PaginationInput) {\n drivers(filter: $filter, pagination: $pagination) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", c = "\n query GetVehicle($id: ID!) {\n vehicle(id: $id) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n lastServiceDate\n nextServiceDueDate\n nextServiceDueMileage\n createdAt\n updatedAt\n }\n }\n", l = "\n query GetDriver($id: ID!) {\n driver(id: $id) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", u = "\n mutation UpdateVehicleStatus($id: ID!, $status: VehicleStatus!) {\n updateVehicleStatus(id: $id, status: $status) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", d = "\n mutation AssignDriverVehicle($id: ID!, $vehicleId: ID) {\n assignDriverVehicle(id: $id, vehicleId: $vehicleId) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", f = "\n mutation UpdateDriverStatus($id: ID!, $status: DriverStatus!) {\n updateDriverStatus(id: $id, status: $status) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", p = "\n mutation CreateVehicle($input: CreateVehicleInput!) {\n createVehicle(input: $input) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", m = "\n mutation CreateDriver($input: CreateDriverInput!) {\n createDriver(input: $input) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", h = "\n mutation UpdateVehicle($id: ID!, $input: UpdateVehicleInput!) {\n updateVehicle(id: $id, input: $input) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", g = "\n mutation UpdateDriver($id: ID!, $input: UpdateDriverInput!) {\n updateDriver(id: $id, input: $input) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", _ = "\n query GetDriverStatusCounts {\n onBreak: driversCount(filter: { status: ON_BREAK })\n offDuty: driversCount(filter: { status: OFF_DUTY })\n inactive: driversCount(filter: { status: INACTIVE })\n }\n", v = "\n query GetFleetStats {\n fleetStats {\n totalVehicles\n activeVehicles\n inTransitVehicles\n maintenanceVehicles\n totalDrivers\n availableDrivers\n onDeliveryDrivers\n avgDriverRating\n }\n }\n";
|
|
5
|
+
var o = "\n query ListVehicles($filter: VehicleFilterInput, $pagination: PaginationInput) {\n vehicles(filter: $filter, pagination: $pagination) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n lastServiceDate\n nextServiceDueDate\n nextServiceDueMileage\n createdAt\n updatedAt\n }\n vehiclesCount(filter: $filter)\n }\n", s = "\n query ListDrivers($filter: DriverFilterInput, $pagination: PaginationInput) {\n drivers(filter: $filter, pagination: $pagination) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n driversCount(filter: $filter)\n }\n", c = "\n query GetVehicle($id: ID!) {\n vehicle(id: $id) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n lastServiceDate\n nextServiceDueDate\n nextServiceDueMileage\n createdAt\n updatedAt\n }\n }\n", l = "\n query GetDriver($id: ID!) {\n driver(id: $id) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", u = "\n mutation UpdateVehicleStatus($id: ID!, $status: VehicleStatus!) {\n updateVehicleStatus(id: $id, status: $status) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", d = "\n mutation AssignDriverVehicle($id: ID!, $vehicleId: ID) {\n assignDriverVehicle(id: $id, vehicleId: $vehicleId) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", f = "\n mutation UpdateDriverStatus($id: ID!, $status: DriverStatus!) {\n updateDriverStatus(id: $id, status: $status) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", p = "\n mutation CreateVehicle($input: CreateVehicleInput!) {\n createVehicle(input: $input) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", m = "\n mutation CreateDriver($input: CreateDriverInput!) {\n createDriver(input: $input) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", h = "\n mutation UpdateVehicle($id: ID!, $input: UpdateVehicleInput!) {\n updateVehicle(id: $id, input: $input) {\n id\n vehicleNumber\n type\n make\n model\n licensePlate\n ownershipType\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", g = "\n mutation UpdateDriver($id: ID!, $input: UpdateDriverInput!) {\n updateDriver(id: $id, input: $input) {\n id\n userId\n firstName\n lastName\n email\n phone\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", _ = "\n query GetDriverStatusCounts {\n onBreak: driversCount(filter: { status: ON_BREAK })\n offDuty: driversCount(filter: { status: OFF_DUTY })\n inactive: driversCount(filter: { status: INACTIVE })\n }\n", v = "\n query GetFleetStats {\n fleetStats {\n totalVehicles\n activeVehicles\n inTransitVehicles\n maintenanceVehicles\n totalDrivers\n availableDrivers\n onDeliveryDrivers\n avgDriverRating\n }\n }\n";
|
|
6
6
|
function y(e) {
|
|
7
7
|
switch (e) {
|
|
8
8
|
case "ACTIVE": return "available";
|
|
@@ -153,52 +153,61 @@ function T() {
|
|
|
153
153
|
]);
|
|
154
154
|
}
|
|
155
155
|
function E(e = {}) {
|
|
156
|
-
let { filters: c } = e,
|
|
156
|
+
let { filters: c, limit: l = 20 } = e, u = i(() => c, [
|
|
157
157
|
c?.driverId,
|
|
158
|
+
c?.search,
|
|
158
159
|
c?.status,
|
|
159
160
|
c?.vehicleType
|
|
160
|
-
]),
|
|
161
|
-
|
|
161
|
+
]), d = T(), [f, _] = a([]), [v, y] = a([]), [x, S] = a(!1), [E, D] = a(null), O = n(async () => {
|
|
162
|
+
S(!0), D(null);
|
|
162
163
|
try {
|
|
163
|
-
let [e, n] = await Promise.all([t(
|
|
164
|
+
let [e, n] = await Promise.all([t(d, o, {
|
|
164
165
|
filter: {
|
|
165
|
-
|
|
166
|
-
|
|
166
|
+
search: u?.search,
|
|
167
|
+
type: u?.vehicleType?.toUpperCase(),
|
|
168
|
+
status: u?.status ? b(u.status) : void 0
|
|
167
169
|
},
|
|
168
170
|
pagination: {
|
|
169
|
-
limit:
|
|
171
|
+
limit: l,
|
|
170
172
|
offset: 0
|
|
171
173
|
}
|
|
172
|
-
}), t(
|
|
173
|
-
filter: {
|
|
174
|
+
}), t(d, s, {
|
|
175
|
+
filter: {
|
|
176
|
+
search: u?.search,
|
|
177
|
+
vehicleId: u?.driverId
|
|
178
|
+
},
|
|
174
179
|
pagination: {
|
|
175
|
-
limit:
|
|
180
|
+
limit: l,
|
|
176
181
|
offset: 0
|
|
177
182
|
}
|
|
178
183
|
})]);
|
|
179
|
-
|
|
184
|
+
_(e.vehicles.map(C)), y(n.drivers.map(w));
|
|
180
185
|
} catch (e) {
|
|
181
|
-
|
|
186
|
+
D(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load fleet data"));
|
|
182
187
|
} finally {
|
|
183
|
-
|
|
188
|
+
S(!1);
|
|
184
189
|
}
|
|
185
|
-
}, [
|
|
190
|
+
}, [
|
|
191
|
+
u,
|
|
192
|
+
d,
|
|
193
|
+
l
|
|
194
|
+
]);
|
|
186
195
|
r(() => {
|
|
187
|
-
|
|
188
|
-
}, [
|
|
189
|
-
let
|
|
190
|
-
|
|
191
|
-
}, [
|
|
192
|
-
let n = C((await t(
|
|
196
|
+
O();
|
|
197
|
+
}, [O]);
|
|
198
|
+
let k = n(() => {
|
|
199
|
+
O();
|
|
200
|
+
}, [O]), A = n(async (e) => {
|
|
201
|
+
let n = C((await t(d, p, { input: {
|
|
193
202
|
vehicleNumber: e.vehicleNumber,
|
|
194
203
|
type: e.type,
|
|
195
204
|
make: e.make,
|
|
196
205
|
model: e.model,
|
|
197
206
|
licensePlate: e.licensePlate
|
|
198
207
|
} })).createVehicle);
|
|
199
|
-
return
|
|
200
|
-
}, [
|
|
201
|
-
let n = w((await t(
|
|
208
|
+
return _((e) => [n, ...e]), n;
|
|
209
|
+
}, [d]), j = n(async (e) => {
|
|
210
|
+
let n = w((await t(d, m, { input: {
|
|
202
211
|
employeeId: e.employeeId,
|
|
203
212
|
firstName: e.firstName,
|
|
204
213
|
lastName: e.lastName,
|
|
@@ -206,9 +215,9 @@ function E(e = {}) {
|
|
|
206
215
|
phone: e.phone,
|
|
207
216
|
licenseNumber: e.licenseNumber
|
|
208
217
|
} })).createDriver);
|
|
209
|
-
return
|
|
210
|
-
}, [
|
|
211
|
-
let r = C((await t(
|
|
218
|
+
return y((e) => [n, ...e]), n;
|
|
219
|
+
}, [d]), M = n(async (e, n) => {
|
|
220
|
+
let r = C((await t(d, h, {
|
|
212
221
|
id: e,
|
|
213
222
|
input: {
|
|
214
223
|
vehicleNumber: n.vehicleNumber,
|
|
@@ -218,9 +227,9 @@ function E(e = {}) {
|
|
|
218
227
|
licensePlate: n.licensePlate
|
|
219
228
|
}
|
|
220
229
|
})).updateVehicle);
|
|
221
|
-
return
|
|
222
|
-
}, [
|
|
223
|
-
let r = w((await t(
|
|
230
|
+
return _((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
231
|
+
}, [d]), N = n(async (e, n) => {
|
|
232
|
+
let r = w((await t(d, g, {
|
|
224
233
|
id: e,
|
|
225
234
|
input: {
|
|
226
235
|
firstName: n.firstName,
|
|
@@ -230,75 +239,83 @@ function E(e = {}) {
|
|
|
230
239
|
licenseNumber: n.licenseNumber
|
|
231
240
|
}
|
|
232
241
|
})).updateDriver);
|
|
233
|
-
return
|
|
234
|
-
}, [
|
|
242
|
+
return y((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
243
|
+
}, [d]);
|
|
235
244
|
return {
|
|
236
|
-
vehicles:
|
|
237
|
-
drivers:
|
|
238
|
-
totalVehicles:
|
|
239
|
-
totalDrivers:
|
|
240
|
-
isLoading:
|
|
241
|
-
error:
|
|
242
|
-
refetch:
|
|
243
|
-
createVehicle:
|
|
244
|
-
createDriver:
|
|
245
|
-
updateVehicle:
|
|
246
|
-
updateDriver:
|
|
245
|
+
vehicles: f,
|
|
246
|
+
drivers: v,
|
|
247
|
+
totalVehicles: f.length,
|
|
248
|
+
totalDrivers: v.length,
|
|
249
|
+
isLoading: x,
|
|
250
|
+
error: E,
|
|
251
|
+
refetch: k,
|
|
252
|
+
createVehicle: A,
|
|
253
|
+
createDriver: j,
|
|
254
|
+
updateVehicle: M,
|
|
255
|
+
updateDriver: N
|
|
247
256
|
};
|
|
248
257
|
}
|
|
249
258
|
function D(e = {}) {
|
|
250
|
-
let { limit: i =
|
|
251
|
-
|
|
259
|
+
let { limit: i = 20, offset: s = 0, search: c, status: l, vehicleType: f } = e, p = T(), [m, h] = a([]), [g, _] = a(0), [v, y] = a(!1), [x, S] = a(!1), [w, E] = a(null), D = n(async () => {
|
|
260
|
+
S(!0), E(null);
|
|
252
261
|
try {
|
|
253
|
-
let e = await t(
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
262
|
+
let e = await t(p, o, {
|
|
263
|
+
filter: {
|
|
264
|
+
search: c || void 0,
|
|
265
|
+
status: l ? b(l) : void 0,
|
|
266
|
+
type: f?.toUpperCase()
|
|
267
|
+
},
|
|
268
|
+
pagination: {
|
|
269
|
+
limit: i,
|
|
270
|
+
offset: s
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
y(s + e.vehicles.length < e.vehiclesCount), _(e.vehiclesCount), h(e.vehicles.map(C));
|
|
258
274
|
} catch (e) {
|
|
259
|
-
|
|
275
|
+
E(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load vehicles"));
|
|
260
276
|
} finally {
|
|
261
|
-
|
|
277
|
+
S(!1);
|
|
262
278
|
}
|
|
263
279
|
}, [
|
|
264
|
-
|
|
280
|
+
p,
|
|
265
281
|
i,
|
|
266
|
-
s
|
|
282
|
+
s,
|
|
283
|
+
c,
|
|
284
|
+
l,
|
|
285
|
+
f
|
|
267
286
|
]);
|
|
268
|
-
r(() => {
|
|
269
|
-
|
|
270
|
-
}, [
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
updateVehicleStatus: S,
|
|
301
|
-
assignDriver: w
|
|
287
|
+
return r(() => {
|
|
288
|
+
D();
|
|
289
|
+
}, [D]), {
|
|
290
|
+
vehicles: m,
|
|
291
|
+
totalVehicles: g,
|
|
292
|
+
hasMore: v,
|
|
293
|
+
isLoading: x,
|
|
294
|
+
error: w,
|
|
295
|
+
refetch: n(() => {
|
|
296
|
+
D();
|
|
297
|
+
}, [D]),
|
|
298
|
+
updateVehicleStatus: n(async (e, n) => {
|
|
299
|
+
let r = C((await t(p, u, {
|
|
300
|
+
id: e,
|
|
301
|
+
status: b(n)
|
|
302
|
+
})).updateVehicleStatus);
|
|
303
|
+
return h((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
304
|
+
}, [p]),
|
|
305
|
+
assignDriver: n(async (e, n) => {
|
|
306
|
+
await t(p, d, {
|
|
307
|
+
id: n,
|
|
308
|
+
vehicleId: e
|
|
309
|
+
});
|
|
310
|
+
let r = m.find((t) => t.id === e);
|
|
311
|
+
if (!r) throw Error("Vehicle not found");
|
|
312
|
+
let i = {
|
|
313
|
+
...r,
|
|
314
|
+
driverId: n,
|
|
315
|
+
status: "assigned"
|
|
316
|
+
};
|
|
317
|
+
return h((t) => t.map((t) => t.id === e ? i : t)), i;
|
|
318
|
+
}, [p, m])
|
|
302
319
|
};
|
|
303
320
|
}
|
|
304
321
|
function O(e) {
|
|
@@ -329,55 +346,59 @@ function O(e) {
|
|
|
329
346
|
};
|
|
330
347
|
}
|
|
331
348
|
function k(e = {}) {
|
|
332
|
-
let { limit: i =
|
|
333
|
-
|
|
349
|
+
let { limit: i = 20, offset: o = 0, status: c, search: l, licenseClass: u } = e, p = T(), [m, h] = a([]), [g, _] = a(0), [v, y] = a(!1), [b, x] = a(!1), [C, E] = a(null), D = n(async () => {
|
|
350
|
+
x(!0), E(null);
|
|
334
351
|
try {
|
|
335
|
-
let e = await t(
|
|
336
|
-
filter:
|
|
352
|
+
let e = await t(p, s, {
|
|
353
|
+
filter: {
|
|
354
|
+
status: c ? S(c) : void 0,
|
|
355
|
+
search: l || void 0,
|
|
356
|
+
licenseClass: u || void 0
|
|
357
|
+
},
|
|
337
358
|
pagination: {
|
|
338
359
|
limit: i,
|
|
339
360
|
offset: o
|
|
340
361
|
}
|
|
341
362
|
});
|
|
342
|
-
|
|
363
|
+
y(o + e.drivers.length < e.driversCount), _(e.driversCount), h(e.drivers.map(w));
|
|
343
364
|
} catch (e) {
|
|
344
|
-
|
|
365
|
+
E(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load drivers"));
|
|
345
366
|
} finally {
|
|
346
|
-
|
|
367
|
+
x(!1);
|
|
347
368
|
}
|
|
348
369
|
}, [
|
|
349
|
-
|
|
370
|
+
p,
|
|
350
371
|
i,
|
|
351
372
|
o,
|
|
352
|
-
c
|
|
373
|
+
c,
|
|
374
|
+
l,
|
|
375
|
+
u
|
|
353
376
|
]);
|
|
354
|
-
r(() => {
|
|
355
|
-
|
|
356
|
-
}, [
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
updateDriverStatus: C,
|
|
380
|
-
assignVehicle: E
|
|
377
|
+
return r(() => {
|
|
378
|
+
D();
|
|
379
|
+
}, [D]), {
|
|
380
|
+
drivers: m,
|
|
381
|
+
totalDrivers: g,
|
|
382
|
+
hasMore: v,
|
|
383
|
+
isLoading: b,
|
|
384
|
+
error: C,
|
|
385
|
+
refetch: n(() => {
|
|
386
|
+
D();
|
|
387
|
+
}, [D]),
|
|
388
|
+
updateDriverStatus: n(async (e, n) => {
|
|
389
|
+
let r = w((await t(p, f, {
|
|
390
|
+
id: e,
|
|
391
|
+
status: S(n)
|
|
392
|
+
})).updateDriverStatus);
|
|
393
|
+
return h((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
394
|
+
}, [p]),
|
|
395
|
+
assignVehicle: n(async (e, n) => {
|
|
396
|
+
let r = w((await t(p, d, {
|
|
397
|
+
id: e,
|
|
398
|
+
vehicleId: n
|
|
399
|
+
})).assignDriverVehicle);
|
|
400
|
+
return h((t) => t.map((t) => t.id === e ? r : t)), r;
|
|
401
|
+
}, [p])
|
|
381
402
|
};
|
|
382
403
|
}
|
|
383
404
|
function A(e) {
|
|
@@ -530,4 +551,4 @@ function N() {
|
|
|
530
551
|
};
|
|
531
552
|
}
|
|
532
553
|
//#endregion
|
|
533
|
-
export { A as useDriver, j as useDriverStatusCounts, k as useDrivers, E as useFleet, N as useFleetStats, O as useVehicle, M as useVehicleDrivers, D as useVehicles };
|
|
554
|
+
export { w as mapDriver, C as mapVehicle, A as useDriver, j as useDriverStatusCounts, k as useDrivers, E as useFleet, N as useFleetStats, O as useVehicle, M as useVehicleDrivers, D as useVehicles };
|