@burdenoff/microfe-movethewheels 2026.1031.1 → 2026.1031.3
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/MoveTheWheelsRoot.js +144 -136
- package/dist/MoveTheWheelsRoutes.js +61 -57
- package/dist/components/ShipmentRiskDialog.js +228 -0
- package/dist/components/TrackingAlertList.js +149 -0
- package/dist/generated/tracking-quality-operations.d.ts +1154 -2
- package/dist/generated/wspace-types.d.ts +2895 -50
- package/dist/hooks/useEntityImport.js +68 -0
- package/dist/hooks/useShipmentRisk.js +72 -0
- package/dist/hooks/useTracking.js +96 -82
- package/dist/movethewheels/components/ShipmentRiskDialog.d.ts +20 -0
- package/dist/movethewheels/components/TrackingAlertList.d.ts +14 -0
- package/dist/movethewheels/hooks/useEntityImport.d.ts +19 -0
- package/dist/movethewheels/hooks/useShipmentRisk.d.ts +41 -0
- package/dist/movethewheels/pages/ImportExportPage.d.ts +9 -0
- package/dist/movethewheels/types/index.d.ts +15 -1
- package/dist/movethewheels/utils/entityImport.d.ts +109 -0
- package/dist/movethewheels/utils/trackingAlerts.d.ts +36 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down-up.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js +30 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-up.js +22 -0
- package/dist/pages/CustomersPage.js +88 -79
- package/dist/pages/DashboardPage.js +147 -151
- package/dist/pages/DriversPage.js +115 -106
- package/dist/pages/ImportExportPage.js +435 -0
- package/dist/pages/LiveTrackingPage.js +169 -169
- package/dist/pages/ProductsPage.js +85 -76
- package/dist/pages/VehiclesPage.js +99 -90
- package/dist/pages/WarehousesPage.js +97 -88
- package/dist/utils/entityImport.js +73 -0
- package/dist/utils/trackingAlerts.js +86 -0
- package/package.json +4 -2
- package/src/generated/tracking-quality-operations.ts +1519 -1
- package/src/generated/wspace-types.ts +3248 -51
- package/src/movethewheels/MoveTheWheelsRoot.tsx +8 -0
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +4 -0
- package/src/movethewheels/components/ShipmentRiskDialog.tsx +315 -0
- package/src/movethewheels/components/TrackingAlertList.tsx +188 -0
- package/src/movethewheels/hooks/useEntityImport.ts +108 -0
- package/src/movethewheels/hooks/useShipmentRisk.ts +195 -0
- package/src/movethewheels/hooks/useTracking.ts +66 -22
- package/src/movethewheels/pages/CustomersPage.tsx +6 -1
- package/src/movethewheels/pages/DashboardPage.tsx +10 -20
- package/src/movethewheels/pages/DriversPage.tsx +6 -0
- package/src/movethewheels/pages/ImportExportPage.tsx +483 -0
- package/src/movethewheels/pages/LiveTrackingPage.tsx +20 -22
- package/src/movethewheels/pages/ProductsPage.tsx +14 -1
- package/src/movethewheels/pages/VehiclesPage.tsx +6 -0
- package/src/movethewheels/pages/WarehousesPage.tsx +6 -1
- package/src/movethewheels/types/index.ts +16 -1
- package/src/movethewheels/utils/entityImport.ts +239 -0
- package/src/movethewheels/utils/trackingAlerts.ts +151 -0
|
@@ -5,172 +5,181 @@ import { Plus as te } from "../node_modules/lucide-react/dist/esm/icons/plus.js"
|
|
|
5
5
|
import { RefreshCw as n } from "../node_modules/lucide-react/dist/esm/icons/refresh-cw.js";
|
|
6
6
|
import { Star as r } from "../node_modules/lucide-react/dist/esm/icons/star.js";
|
|
7
7
|
import { Truck as ne } from "../node_modules/lucide-react/dist/esm/icons/truck.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { Upload as re } from "../node_modules/lucide-react/dist/esm/icons/upload.js";
|
|
9
|
+
import { UserCheck as ie } from "../node_modules/lucide-react/dist/esm/icons/user-check.js";
|
|
10
|
+
import { UserMinus as ae } from "../node_modules/lucide-react/dist/esm/icons/user-minus.js";
|
|
10
11
|
import { Users as i } from "../node_modules/lucide-react/dist/esm/icons/users.js";
|
|
11
|
-
import { joinPath as
|
|
12
|
-
import { useMoveTheWheels as
|
|
13
|
-
import { useDriverStatusCounts as
|
|
14
|
-
import { Avatar as
|
|
15
|
-
import { PageLayout as
|
|
16
|
-
import { MetricCard as y, MetricGrid as
|
|
12
|
+
import { joinPath as oe } from "../utils/navigation.js";
|
|
13
|
+
import { useMoveTheWheels as a } from "../providers/MoveTheWheelsProvider.js";
|
|
14
|
+
import { useDriverStatusCounts as o, useDrivers as s, useFleetStats as c, useVehicles as l } from "../hooks/useFleet.js";
|
|
15
|
+
import { Avatar as u, AvatarFallback as d, Button as f, Card as se, CardContent as p, Select as m, SelectContent as h, SelectItem as g, SelectTrigger as _, SelectValue as v } from "../components/ui.js";
|
|
16
|
+
import { PageLayout as ce } from "../components/PageLayout.js";
|
|
17
|
+
import { MetricCard as y, MetricGrid as le } from "../components/MetricCard.js";
|
|
17
18
|
import { DRIVER_STATUS_LABELS as b } from "../constants/index.js";
|
|
18
|
-
import { StatusBadge as
|
|
19
|
-
import { DataTable as
|
|
19
|
+
import { StatusBadge as ue } from "../components/StatusBadge.js";
|
|
20
|
+
import { DataTable as de } from "../components/DataTable.js";
|
|
20
21
|
import { formatDate as x } from "../utils/formatters.js";
|
|
21
|
-
import { useDebouncedValue as
|
|
22
|
-
import { useEntityExport as
|
|
23
|
-
import { ExportStatusBanner as
|
|
24
|
-
import { useMemo as
|
|
25
|
-
import { jsx as
|
|
26
|
-
import { CTAOverflowMenu as
|
|
22
|
+
import { useDebouncedValue as fe } from "../hooks/useDebouncedValue.js";
|
|
23
|
+
import { useEntityExport as S } from "../hooks/useEntityExport.js";
|
|
24
|
+
import { ExportStatusBanner as C } from "../components/ExportStatusBanner.js";
|
|
25
|
+
import { useMemo as w, useState as T } from "react";
|
|
26
|
+
import { jsx as E, jsxs as D } from "react/jsx-runtime";
|
|
27
|
+
import { CTAOverflowMenu as O, PagePurpose as k } from "@burdenoff/fe-libs/ui";
|
|
27
28
|
//#region src/movethewheels/pages/DriversPage.tsx
|
|
28
|
-
var
|
|
29
|
+
var A = [{
|
|
29
30
|
value: "all",
|
|
30
31
|
label: "All statuses"
|
|
31
32
|
}, ...Object.entries(b).map(([e, t]) => ({
|
|
32
33
|
value: e,
|
|
33
34
|
label: t
|
|
34
35
|
}))];
|
|
35
|
-
function
|
|
36
|
-
let { basePath: b, navigate:
|
|
37
|
-
limit:
|
|
38
|
-
offset:
|
|
39
|
-
search:
|
|
40
|
-
status:
|
|
41
|
-
licenseClass:
|
|
42
|
-
}), { stats:
|
|
43
|
-
return /* @__PURE__ */
|
|
36
|
+
function j() {
|
|
37
|
+
let { basePath: b, navigate: j } = a(), { state: M, isExporting: N, startExport: P, dismiss: F } = S("drivers", "driver"), [I, L] = T(0), [R, z] = T(25), [B, V] = T(""), pe = fe(B), [H, U] = T("all"), [W, G] = T("all"), { drivers: K, totalDrivers: me, hasMore: he, isLoading: ge, error: _e, refetch: q } = s({
|
|
38
|
+
limit: R,
|
|
39
|
+
offset: I * R,
|
|
40
|
+
search: pe || void 0,
|
|
41
|
+
status: H === "all" ? void 0 : H,
|
|
42
|
+
licenseClass: W === "all" ? void 0 : W
|
|
43
|
+
}), { stats: J } = c(), { counts: Y } = o(), { vehicles: X } = l({ ids: w(() => Array.from(new Set(K.map((e) => e.assignedVehicle).filter(Boolean))), [K]) }), ve = w(() => new Map(X.map((e) => [e.id, e.vehicleNumber])), [X]), Z = J.totalDrivers, ye = w(() => Array.from(new Set(K.map((e) => e.licenseType).filter(Boolean))).sort((e, t) => e.localeCompare(t)), [K]), Q = H !== "all" || W !== "all" || B.length > 0, $ = (e) => j?.(oe(b, e));
|
|
44
|
+
return /* @__PURE__ */ D(ce, {
|
|
44
45
|
title: "Drivers",
|
|
45
|
-
subtitle: `${
|
|
46
|
-
icon: /* @__PURE__ */
|
|
47
|
-
headerActions: /* @__PURE__ */
|
|
46
|
+
subtitle: `${Z} drivers`,
|
|
47
|
+
icon: /* @__PURE__ */ E(i, { size: 24 }),
|
|
48
|
+
headerActions: /* @__PURE__ */ E(O, {
|
|
48
49
|
primary: {
|
|
49
50
|
label: "Add Driver",
|
|
50
|
-
icon: /* @__PURE__ */
|
|
51
|
+
icon: /* @__PURE__ */ E(te, { size: 16 }),
|
|
51
52
|
onSelect: () => $("fleet/drivers/new")
|
|
52
53
|
},
|
|
53
|
-
actions: [
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
actions: [
|
|
55
|
+
{
|
|
56
|
+
label: "Refresh",
|
|
57
|
+
icon: /* @__PURE__ */ E(n, { size: 16 }),
|
|
58
|
+
onSelect: () => q()
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: "Import",
|
|
62
|
+
icon: /* @__PURE__ */ E(re, { size: 16 }),
|
|
63
|
+
onSelect: () => $("import-export?entity=DRIVER")
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
label: N ? "Exporting…" : "Export",
|
|
67
|
+
icon: /* @__PURE__ */ E(t, { size: 16 }),
|
|
68
|
+
onSelect: P
|
|
69
|
+
}
|
|
70
|
+
]
|
|
62
71
|
}),
|
|
63
72
|
children: [
|
|
64
|
-
/* @__PURE__ */
|
|
65
|
-
icon: /* @__PURE__ */
|
|
73
|
+
/* @__PURE__ */ E(k, {
|
|
74
|
+
icon: /* @__PURE__ */ E(i, { size: 18 }),
|
|
66
75
|
children: "Your delivery workforce. Track each driver's availability, rating, licence status, contact number and the vehicle they are on — open a driver to review their record before assigning them to an order or route."
|
|
67
76
|
}),
|
|
68
|
-
/* @__PURE__ */
|
|
69
|
-
state:
|
|
70
|
-
onDismiss:
|
|
77
|
+
/* @__PURE__ */ E(C, {
|
|
78
|
+
state: M,
|
|
79
|
+
onDismiss: F
|
|
71
80
|
}),
|
|
72
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
|
|
73
82
|
className: "mb-3 text-sm font-medium text-text-secondary",
|
|
74
83
|
children: "Workforce at a glance"
|
|
75
|
-
}), /* @__PURE__ */
|
|
84
|
+
}), /* @__PURE__ */ D(le, {
|
|
76
85
|
columns: 4,
|
|
77
86
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
87
|
+
/* @__PURE__ */ E(y, {
|
|
79
88
|
label: "On duty",
|
|
80
|
-
value:
|
|
81
|
-
icon: /* @__PURE__ */
|
|
89
|
+
value: J.driversByStatus.available + J.driversByStatus.busy,
|
|
90
|
+
icon: /* @__PURE__ */ E(ie, { size: 20 }),
|
|
82
91
|
accent: "success",
|
|
83
92
|
subtitle: "Available or delivering"
|
|
84
93
|
}),
|
|
85
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ E(y, {
|
|
86
95
|
label: "On break",
|
|
87
|
-
value:
|
|
88
|
-
icon: /* @__PURE__ */
|
|
96
|
+
value: Y.onBreak,
|
|
97
|
+
icon: /* @__PURE__ */ E(e, { size: 20 }),
|
|
89
98
|
accent: "warning",
|
|
90
99
|
subtitle: "Back on shift shortly"
|
|
91
100
|
}),
|
|
92
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ E(y, {
|
|
93
102
|
label: "Off duty",
|
|
94
|
-
value:
|
|
95
|
-
icon: /* @__PURE__ */
|
|
103
|
+
value: Y.offDuty,
|
|
104
|
+
icon: /* @__PURE__ */ E(ae, { size: 20 }),
|
|
96
105
|
accent: "neutral",
|
|
97
|
-
subtitle:
|
|
106
|
+
subtitle: Y.inactive > 0 ? `${Y.inactive} inactive` : void 0
|
|
98
107
|
}),
|
|
99
|
-
/* @__PURE__ */
|
|
108
|
+
/* @__PURE__ */ E(y, {
|
|
100
109
|
label: "Avg rating",
|
|
101
|
-
value:
|
|
102
|
-
icon: /* @__PURE__ */
|
|
110
|
+
value: J.avgDriverRating > 0 ? J.avgDriverRating.toFixed(1) : "—",
|
|
111
|
+
icon: /* @__PURE__ */ E(r, { size: 20 }),
|
|
103
112
|
accent: "brand",
|
|
104
|
-
subtitle: `${
|
|
113
|
+
subtitle: `${Z} drivers`
|
|
105
114
|
})
|
|
106
115
|
]
|
|
107
116
|
})] }),
|
|
108
|
-
/* @__PURE__ */
|
|
117
|
+
/* @__PURE__ */ E(se, { children: /* @__PURE__ */ E(p, {
|
|
109
118
|
className: "p-4",
|
|
110
|
-
children: /* @__PURE__ */
|
|
119
|
+
children: /* @__PURE__ */ D("div", {
|
|
111
120
|
className: "flex flex-wrap items-center gap-4",
|
|
112
121
|
children: [
|
|
113
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ D("div", {
|
|
114
123
|
className: "flex items-center gap-2",
|
|
115
|
-
children: [/* @__PURE__ */
|
|
124
|
+
children: [/* @__PURE__ */ E(ee, {
|
|
116
125
|
size: 16,
|
|
117
126
|
className: "text-text-secondary"
|
|
118
|
-
}), /* @__PURE__ */
|
|
127
|
+
}), /* @__PURE__ */ E("span", {
|
|
119
128
|
className: "text-sm font-medium",
|
|
120
129
|
children: "Filters:"
|
|
121
130
|
})]
|
|
122
131
|
}),
|
|
123
|
-
/* @__PURE__ */
|
|
124
|
-
value:
|
|
132
|
+
/* @__PURE__ */ D(m, {
|
|
133
|
+
value: H,
|
|
125
134
|
onValueChange: (e) => {
|
|
126
|
-
|
|
135
|
+
U(e), L(0);
|
|
127
136
|
},
|
|
128
|
-
children: [/* @__PURE__ */
|
|
137
|
+
children: [/* @__PURE__ */ E(_, {
|
|
129
138
|
className: "w-[180px]",
|
|
130
|
-
children: /* @__PURE__ */
|
|
131
|
-
}), /* @__PURE__ */
|
|
139
|
+
children: /* @__PURE__ */ E(v, { placeholder: "Status" })
|
|
140
|
+
}), /* @__PURE__ */ E(h, { children: A.map((e) => /* @__PURE__ */ E(g, {
|
|
132
141
|
value: e.value,
|
|
133
142
|
children: e.label
|
|
134
143
|
}, e.value)) })]
|
|
135
144
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
137
|
-
value:
|
|
145
|
+
/* @__PURE__ */ D(m, {
|
|
146
|
+
value: W,
|
|
138
147
|
onValueChange: (e) => {
|
|
139
|
-
|
|
148
|
+
G(e), L(0);
|
|
140
149
|
},
|
|
141
|
-
children: [/* @__PURE__ */
|
|
150
|
+
children: [/* @__PURE__ */ E(_, {
|
|
142
151
|
className: "w-[180px]",
|
|
143
|
-
children: /* @__PURE__ */
|
|
144
|
-
}), /* @__PURE__ */
|
|
152
|
+
children: /* @__PURE__ */ E(v, { placeholder: "License class" })
|
|
153
|
+
}), /* @__PURE__ */ D(h, { children: [/* @__PURE__ */ E(g, {
|
|
145
154
|
value: "all",
|
|
146
155
|
children: "All licence classes"
|
|
147
|
-
}),
|
|
156
|
+
}), ye.map((e) => /* @__PURE__ */ E(g, {
|
|
148
157
|
value: e,
|
|
149
158
|
children: e
|
|
150
159
|
}, e))] })]
|
|
151
160
|
}),
|
|
152
|
-
Q && /* @__PURE__ */
|
|
161
|
+
Q && /* @__PURE__ */ E(f, {
|
|
153
162
|
variant: "ghost",
|
|
154
163
|
size: "sm",
|
|
155
164
|
onClick: () => {
|
|
156
|
-
|
|
165
|
+
U("all"), G("all"), V(""), L(0);
|
|
157
166
|
},
|
|
158
167
|
children: "Clear filters"
|
|
159
168
|
})
|
|
160
169
|
]
|
|
161
170
|
})
|
|
162
171
|
}) }),
|
|
163
|
-
/* @__PURE__ */
|
|
172
|
+
/* @__PURE__ */ E(de, {
|
|
164
173
|
columns: [
|
|
165
174
|
{
|
|
166
175
|
id: "driver",
|
|
167
176
|
header: "Driver",
|
|
168
|
-
cell: (e) => /* @__PURE__ */
|
|
177
|
+
cell: (e) => /* @__PURE__ */ D("div", {
|
|
169
178
|
className: "flex items-center gap-3",
|
|
170
|
-
children: [/* @__PURE__ */
|
|
179
|
+
children: [/* @__PURE__ */ E(u, { children: /* @__PURE__ */ E(d, { children: e.fullName.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
|
|
171
180
|
className: "font-medium",
|
|
172
181
|
children: e.fullName
|
|
173
|
-
}), /* @__PURE__ */
|
|
182
|
+
}), /* @__PURE__ */ E("p", {
|
|
174
183
|
className: "text-sm text-text-secondary",
|
|
175
184
|
children: e.employeeId
|
|
176
185
|
})] })]
|
|
@@ -181,7 +190,7 @@ function A() {
|
|
|
181
190
|
header: "Status",
|
|
182
191
|
accessorKey: "status",
|
|
183
192
|
sortable: !0,
|
|
184
|
-
cell: (e) => /* @__PURE__ */
|
|
193
|
+
cell: (e) => /* @__PURE__ */ E(ue, {
|
|
185
194
|
status: e.status,
|
|
186
195
|
type: "driver"
|
|
187
196
|
})
|
|
@@ -189,9 +198,9 @@ function A() {
|
|
|
189
198
|
{
|
|
190
199
|
id: "license",
|
|
191
200
|
header: "License",
|
|
192
|
-
cell: (e) => /* @__PURE__ */
|
|
201
|
+
cell: (e) => /* @__PURE__ */ D("div", {
|
|
193
202
|
className: "text-sm",
|
|
194
|
-
children: [/* @__PURE__ */
|
|
203
|
+
children: [/* @__PURE__ */ E("p", { children: e.licenseType }), /* @__PURE__ */ E("p", {
|
|
195
204
|
className: "text-text-secondary",
|
|
196
205
|
children: e.licenseExpiry ? `Exp: ${x(e.licenseExpiry, "short")}` : "Expiry not recorded"
|
|
197
206
|
})]
|
|
@@ -201,12 +210,12 @@ function A() {
|
|
|
201
210
|
id: "phone",
|
|
202
211
|
header: "Phone",
|
|
203
212
|
accessorKey: "phone",
|
|
204
|
-
cell: (e) => e.phone ? /* @__PURE__ */
|
|
213
|
+
cell: (e) => e.phone ? /* @__PURE__ */ E("a", {
|
|
205
214
|
href: `tel:${e.phone}`,
|
|
206
215
|
className: "text-sm hover:underline",
|
|
207
216
|
onClick: (e) => e.stopPropagation(),
|
|
208
217
|
children: e.phone
|
|
209
|
-
}) : /* @__PURE__ */
|
|
218
|
+
}) : /* @__PURE__ */ E("span", {
|
|
210
219
|
className: "text-sm text-text-secondary",
|
|
211
220
|
children: "—"
|
|
212
221
|
})
|
|
@@ -214,15 +223,15 @@ function A() {
|
|
|
214
223
|
{
|
|
215
224
|
id: "rating",
|
|
216
225
|
header: "Rating",
|
|
217
|
-
cell: (e) => e.rating === void 0 ? /* @__PURE__ */
|
|
226
|
+
cell: (e) => e.rating === void 0 ? /* @__PURE__ */ E("span", {
|
|
218
227
|
className: "text-sm text-text-secondary",
|
|
219
228
|
children: "Not rated"
|
|
220
|
-
}) : /* @__PURE__ */
|
|
229
|
+
}) : /* @__PURE__ */ D("div", {
|
|
221
230
|
className: "flex items-center gap-1",
|
|
222
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ E(r, {
|
|
223
232
|
size: 14,
|
|
224
233
|
className: "text-status-warning-text fill-current"
|
|
225
|
-
}), /* @__PURE__ */
|
|
234
|
+
}), /* @__PURE__ */ E("span", {
|
|
226
235
|
className: "font-medium",
|
|
227
236
|
children: e.rating.toFixed(1)
|
|
228
237
|
})]
|
|
@@ -232,14 +241,14 @@ function A() {
|
|
|
232
241
|
id: "vehicle",
|
|
233
242
|
header: "Assigned vehicle",
|
|
234
243
|
cell: (e) => {
|
|
235
|
-
if (!e.assignedVehicle) return /* @__PURE__ */
|
|
244
|
+
if (!e.assignedVehicle) return /* @__PURE__ */ E("span", {
|
|
236
245
|
className: "text-sm text-text-secondary",
|
|
237
246
|
children: "Unassigned"
|
|
238
247
|
});
|
|
239
248
|
let t = ve.get(e.assignedVehicle);
|
|
240
|
-
return /* @__PURE__ */
|
|
249
|
+
return /* @__PURE__ */ D("span", {
|
|
241
250
|
className: "inline-flex items-center gap-1.5 text-sm font-medium",
|
|
242
|
-
children: [/* @__PURE__ */
|
|
251
|
+
children: [/* @__PURE__ */ E(ne, {
|
|
243
252
|
size: 14,
|
|
244
253
|
className: "text-text-secondary"
|
|
245
254
|
}), t ?? "Assigned"]
|
|
@@ -251,30 +260,30 @@ function A() {
|
|
|
251
260
|
header: "Hire Date",
|
|
252
261
|
accessorKey: "hireDate",
|
|
253
262
|
sortable: !0,
|
|
254
|
-
cell: (e) => e.hireDate ? x(e.hireDate, "short") : /* @__PURE__ */
|
|
263
|
+
cell: (e) => e.hireDate ? x(e.hireDate, "short") : /* @__PURE__ */ E("span", {
|
|
255
264
|
className: "text-text-secondary",
|
|
256
265
|
children: "Not recorded"
|
|
257
266
|
})
|
|
258
267
|
}
|
|
259
268
|
],
|
|
260
|
-
data:
|
|
269
|
+
data: K,
|
|
261
270
|
isLoading: ge,
|
|
262
271
|
error: _e,
|
|
263
|
-
onRetry:
|
|
272
|
+
onRetry: q,
|
|
264
273
|
searchable: !0,
|
|
265
274
|
searchPlaceholder: "Search drivers...",
|
|
266
275
|
searchFields: ["fullName", "employeeId"],
|
|
267
|
-
searchQuery:
|
|
276
|
+
searchQuery: B,
|
|
268
277
|
onSearchQueryChange: (e) => {
|
|
269
|
-
|
|
278
|
+
V(e), L(0);
|
|
270
279
|
},
|
|
271
280
|
onRowClick: (e) => $(`fleet/drivers/${e.id}`),
|
|
272
281
|
getRowId: (e) => e.id,
|
|
273
|
-
pageIndex:
|
|
274
|
-
pageSize:
|
|
275
|
-
onPageChange:
|
|
282
|
+
pageIndex: I,
|
|
283
|
+
pageSize: R,
|
|
284
|
+
onPageChange: L,
|
|
276
285
|
onPageSizeChange: (e) => {
|
|
277
|
-
|
|
286
|
+
z(e), L(0);
|
|
278
287
|
},
|
|
279
288
|
totalItems: me,
|
|
280
289
|
hasNextPage: he,
|
|
@@ -286,4 +295,4 @@ function A() {
|
|
|
286
295
|
});
|
|
287
296
|
}
|
|
288
297
|
//#endregion
|
|
289
|
-
export {
|
|
298
|
+
export { j as default };
|