@burdenoff/microfe-movethewheels 2026.626.2 → 2026.703.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/{AIAssistantPage-AvsMbunM.js → AIAssistantPage-C3ovZ0Fh.js} +100 -73
- package/dist/AnalyticsPage-O8SpY-V4.js +215 -0
- package/dist/{CreateOrderPage-CjlnEtk3.js → CreateOrderPage-CB1_-_mN.js} +33 -35
- package/dist/{CustomerDetailsPage-I6cdDHUi.js → CustomerDetailsPage-BaeKEI1D.js} +42 -44
- package/dist/{CustomersPage-CGGfD4ki.js → CustomersPage-DRaLuHMC.js} +26 -28
- package/dist/{DashboardPage-D2HRqwg9.js → DashboardPage-DPjhNfKB.js} +85 -83
- package/dist/{DataTable-CD9ZhpLB.js → DataTable-DmciIKKM.js} +3 -3
- package/dist/{DriverDetailsPage-rg_pGNuP.js → DriverDetailsPage-CSSQTOzn.js} +52 -54
- package/dist/{DriversPage-DKiynISH.js → DriversPage-C2Bk0w4Q.js} +24 -26
- package/dist/{FinancePage-Vg8WPs38.js → FinancePage-lmp0Sdsw.js} +9 -9
- package/dist/FleetPage-DZn5pIqd.js +365 -0
- package/dist/ImportExportPage-BIUJZc7O.js +290 -0
- package/dist/InventoryPage-Cxh1zYJd.js +253 -0
- package/dist/{LiveTrackingPage-DQ1q4Id3.js → LiveTrackingPage-BY1yAkIt.js} +60 -56
- package/dist/MarketplacePage-RMuL17EA.js +247 -0
- package/dist/{MetricCard-B7yMyvMX.js → MetricCard-7aYgzZHK.js} +1 -1
- package/dist/{OrderDetailsPage-CFASgsYX.js → OrderDetailsPage-C2Mf4KSy.js} +83 -85
- package/dist/{OrdersListPage-BHeT8S5o.js → OrdersListPage-BrPBtnhp.js} +31 -33
- package/dist/{PageLayout-D3N8MCTm.js → PageLayout-D4LDHJJq.js} +483 -422
- package/dist/{ProductDetailsPage-CFGcbaHo.js → ProductDetailsPage-CezzzZcj.js} +27 -29
- package/dist/{ProductsPage--xEpbQ8A.js → ProductsPage-I5DilIoY.js} +21 -23
- package/dist/ReportsPage-BDXNmUng.js +284 -0
- package/dist/RouteDetailsPage-BcomL20M.js +263 -0
- package/dist/RoutesPage-lqX9ylHP.js +144 -0
- package/dist/SettingsPage-CQVIOaNs.js +421 -0
- package/dist/StatusBadge-NpTeHVlw.js +152 -0
- package/dist/{TrackingPage-CcRc_dva.js → TrackingPage-BXrjz7V8.js} +59 -61
- package/dist/{VehicleDetailsPage-3YDMPsPs.js → VehicleDetailsPage-DZjLcJgr.js} +40 -42
- package/dist/{VehiclesPage-UlxPWP9K.js → VehiclesPage-6W39XT5W.js} +19 -21
- package/dist/{WarehouseDetailsPage-Db7KeN-d.js → WarehouseDetailsPage-C10pgRGW.js} +38 -40
- package/dist/{WarehousesPage-CuTO-OPp.js → WarehousesPage-CHvBqNaQ.js} +15 -17
- package/dist/{arrow-left-CBpZKkpq.js → arrow-left-n48Y-Wis.js} +1 -1
- package/dist/{box-CAaiElsb.js → box-D9Pal4HM.js} +1 -1
- package/dist/{chart-column-D1Ym15-S.js → chart-column-BFIJysDR.js} +1 -1
- package/dist/{chevron-right-BIFGi0UA.js → chevron-right-EMIIyyJ1.js} +1 -1
- package/dist/{circle-alert-DjmNo5_L.js → circle-alert-iY24lSlp.js} +1 -1
- package/dist/{circle-check-big-CjuPVo3_.js → circle-check-big-w0TrLKMF.js} +1 -1
- package/dist/{clock-BjkdnddD.js → clock-DJZtdl8u.js} +1 -1
- package/dist/{dollar-sign-IB4O0wuQ.js → dollar-sign-CgKQRz_e.js} +1 -1
- package/dist/{download-Dpa9vqoG.js → download-DRXxoiQR.js} +1 -1
- package/dist/{file-text-C8Uioy11.js → file-text-DWWY6_f5.js} +1 -1
- package/dist/{filter-Da5OZaHI.js → filter-DloLC2eE.js} +1 -1
- package/dist/index.js +119 -111
- package/dist/{map-_Per4sT9.js → map-CkJaULb2.js} +1 -1
- package/dist/{map-pin-BSaf5IDL.js → map-pin-BGiCvyCs.js} +1 -1
- package/dist/{navigation-DaTbrhw2.js → navigation-D36prnAn.js} +1 -1
- package/dist/{package-BE7U0wQE.js → package-BChUzpJS.js} +1 -1
- package/dist/{phone-DV4StZiA.js → phone-Ac9s3mo_.js} +1 -1
- package/dist/{plus-Dl1rLeJR.js → plus-Z76q-FZm.js} +1 -1
- package/dist/{refresh-cw-CWfERAit.js → refresh-cw-DKt6f5T6.js} +1 -1
- package/dist/{save-XH8vydOn.js → save-CojywNhG.js} +1 -1
- package/dist/{search-OxoIiL_C.js → search-CDGefqb3.js} +1 -1
- package/dist/{square-pen-hLIbFQFV.js → square-pen-CopE9GmB.js} +1 -1
- package/dist/{star-YsVV3MNQ.js → star-nHlLjDKR.js} +1 -1
- package/dist/{store-RCBl7HB-.js → store-BR9Voi5E.js} +1 -1
- package/dist/{trending-up-C-85AwGT.js → trending-up-B7W-GL6P.js} +1 -1
- package/dist/{triangle-alert-BOhfGgmh.js → triangle-alert-BonHFFNz.js} +1 -1
- package/dist/{truck-CtDjNFbi.js → truck-DrlfSpRC.js} +1 -1
- package/dist/{useAnalytics-ph7eTIK6.js → useAnalytics-CgdzUfY_.js} +40 -40
- package/dist/useAssistant-D4v3oxD3.js +84 -0
- package/dist/{useCustomers-bS3a4ytk.js → useCustomers-QrlozybF.js} +24 -24
- package/dist/{useFleet-BdETplNE.js → useFleet-DiAC-IiH.js} +70 -67
- package/dist/useImportExport-BLMnAKCC.js +55 -0
- package/dist/{useInventory-Dwn18FPz.js → useInventory-DKoks37x.js} +33 -33
- package/dist/{useOrders-D_3_hGMp.js → useOrders-D3UZVy8Y.js} +42 -42
- package/dist/useReports-Puq4DCH9.js +78 -0
- package/dist/{useRoutes-v4aBaS-E.js → useRoutes-Do57LvRb.js} +31 -31
- package/dist/useSettings-CkDH_-gM.js +81 -0
- package/dist/{useTracking-De2KIUNu.js → useTracking-GJify4HN.js} +22 -22
- package/dist/{user-Dz5TJZFs.js → user-CjSoudeu.js} +1 -1
- package/dist/{users-g2N0eL-Z.js → users-BAM4gHTn.js} +1 -1
- package/dist/{warehouse-D3WWDeTX.js → warehouse-C7MSr47B.js} +1 -1
- package/dist/{wrench-CmxY1n4I.js → wrench-CANXWxF-.js} +1 -1
- package/package.json +1 -1
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +27 -3
- package/src/movethewheels/components/StatusBadge.tsx +18 -37
- package/src/movethewheels/constants/index.ts +67 -26
- package/src/movethewheels/hooks/index.ts +12 -0
- package/src/movethewheels/hooks/useAnalytics.ts +20 -6
- package/src/movethewheels/hooks/useAssistant.ts +74 -0
- package/src/movethewheels/hooks/useFleet.ts +63 -59
- package/src/movethewheels/hooks/useImportExport.ts +101 -0
- package/src/movethewheels/hooks/useReports.ts +158 -0
- package/src/movethewheels/hooks/useSettings.ts +120 -0
- package/src/movethewheels/pages/AIAssistantPage.tsx +53 -15
- package/src/movethewheels/pages/AnalyticsPage.tsx +67 -64
- package/src/movethewheels/pages/CustomerDetailsPage.tsx +1 -1
- package/src/movethewheels/pages/CustomersPage.tsx +1 -1
- package/src/movethewheels/pages/DashboardPage.tsx +42 -22
- package/src/movethewheels/pages/DriverDetailsPage.tsx +1 -1
- package/src/movethewheels/pages/DriversPage.tsx +1 -1
- package/src/movethewheels/pages/FleetPage.tsx +96 -38
- package/src/movethewheels/pages/ImportExportPage.tsx +174 -68
- package/src/movethewheels/pages/InventoryPage.tsx +66 -28
- package/src/movethewheels/pages/LiveTrackingPage.tsx +12 -3
- package/src/movethewheels/pages/MarketplacePage.tsx +87 -45
- package/src/movethewheels/pages/OrderDetailsPage.tsx +2 -2
- package/src/movethewheels/pages/ReportsPage.tsx +194 -90
- package/src/movethewheels/pages/RouteDetailsPage.tsx +5 -11
- package/src/movethewheels/pages/RoutesPage.tsx +4 -9
- package/src/movethewheels/pages/SettingsPage.tsx +234 -56
- package/src/movethewheels/pages/TrackingPage.tsx +6 -6
- package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +7 -6
- package/src/movethewheels/store/movethewheelsStore.ts +1 -1
- package/dist/AnalyticsPage-CCLfHgQZ.js +0 -212
- package/dist/FleetPage-DddXt8r8.js +0 -332
- package/dist/ImportExportPage-BW6qO3kc.js +0 -248
- package/dist/InventoryPage-rMGuaJN-.js +0 -222
- package/dist/MarketplacePage-DKrXAv62.js +0 -219
- package/dist/ReportsPage-Bb7_90rK.js +0 -235
- package/dist/RouteDetailsPage-CVtDVb1N.js +0 -282
- package/dist/RoutesPage-s57PtgcQ.js +0 -163
- package/dist/SettingsPage-BYNCBOpN.js +0 -298
- package/dist/StatusBadge-CijYQXtb.js +0 -209
- package/dist/graphqlClient-CdJyR_ed.js +0 -55
- package/dist/navigation-BgnOfsVd.js +0 -6
- package/dist/route-Dp9JiN_E.js +0 -51
- package/dist/settings-3Rw5NwFF.js +0 -28
- package/src/movethewheels/constants/mockData.ts +0 -1342
- /package/dist/{formatters-_vJlC-47.js → formatters-DhKZ-eA1.js} +0 -0
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { A as e,
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { r as
|
|
12
|
-
import { r as v, t as y } from "./formatters-_vJlC-47.js";
|
|
13
|
-
import { t as b } from "./navigation-BgnOfsVd.js";
|
|
1
|
+
import { A as e, ct as t, d as n, f as r, g as i, h as a, i as o, ot as s, t as c, u as l } from "./PageLayout-D4LDHJJq.js";
|
|
2
|
+
import { t as u } from "./circle-alert-iY24lSlp.js";
|
|
3
|
+
import { t as d } from "./circle-check-big-w0TrLKMF.js";
|
|
4
|
+
import { t as f } from "./clock-DJZtdl8u.js";
|
|
5
|
+
import { t as p } from "./map-pin-BGiCvyCs.js";
|
|
6
|
+
import { t as m } from "./package-BChUzpJS.js";
|
|
7
|
+
import { t as h } from "./search-CDGefqb3.js";
|
|
8
|
+
import { t as g } from "./truck-DrlfSpRC.js";
|
|
9
|
+
import { i as _ } from "./useTracking-GJify4HN.js";
|
|
10
|
+
import { r as v } from "./StatusBadge-NpTeHVlw.js";
|
|
11
|
+
import { r as y, t as b } from "./formatters-DhKZ-eA1.js";
|
|
14
12
|
import { useState as x } from "react";
|
|
15
13
|
import { useSearchParams as S } from "react-router-dom";
|
|
16
14
|
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
@@ -21,39 +19,39 @@ function O() {
|
|
|
21
19
|
let { t: O } = D(), k = (e, t) => {
|
|
22
20
|
let n = O(e);
|
|
23
21
|
return n === e ? t : n;
|
|
24
|
-
}, { basePath: A, navigate: j } =
|
|
22
|
+
}, { basePath: A, navigate: j } = s(), [M] = S(), N = M.get("order") || "", [P, F] = x(N), [I, L] = x(N), { tracking: R, order: z, isLoading: B, error: V } = _(I || void 0), H = (e) => {
|
|
25
23
|
e.preventDefault(), L(P);
|
|
26
24
|
}, U = (e) => {
|
|
27
|
-
j && j(
|
|
25
|
+
j && j(t(A, e));
|
|
28
26
|
};
|
|
29
|
-
return /* @__PURE__ */ w(
|
|
27
|
+
return /* @__PURE__ */ w(o, {
|
|
30
28
|
title: k("movethewheels.tracking.title", "Track Shipment"),
|
|
31
29
|
subtitle: k("movethewheels.tracking.subtitle", "Enter a tracking number or order ID to track your shipment"),
|
|
32
|
-
icon: /* @__PURE__ */ C(
|
|
33
|
-
headerActions: /* @__PURE__ */ w(
|
|
30
|
+
icon: /* @__PURE__ */ C(p, { size: 24 }),
|
|
31
|
+
headerActions: /* @__PURE__ */ w(l, {
|
|
34
32
|
variant: "outline",
|
|
35
33
|
onClick: () => U("tracking/live"),
|
|
36
|
-
children: [/* @__PURE__ */ C(
|
|
34
|
+
children: [/* @__PURE__ */ C(p, { size: 16 }), k("movethewheels.tracking.actions.liveMapView", "Live Map View")]
|
|
37
35
|
}),
|
|
38
36
|
children: [
|
|
39
37
|
/* @__PURE__ */ C(E, {
|
|
40
|
-
icon: /* @__PURE__ */ C(
|
|
38
|
+
icon: /* @__PURE__ */ C(p, { size: 18 }),
|
|
41
39
|
children: k("movethewheels.tracking.purpose", "Look up any single shipment by its tracking number or order ID to see exactly where it is, its progress through pickup and delivery, the current location and any alerts — the same view you can share with a customer.")
|
|
42
40
|
}),
|
|
43
|
-
/* @__PURE__ */ C(
|
|
41
|
+
/* @__PURE__ */ C(n, { children: /* @__PURE__ */ C(r, {
|
|
44
42
|
className: "p-6",
|
|
45
43
|
children: /* @__PURE__ */ w("form", {
|
|
46
44
|
onSubmit: H,
|
|
47
45
|
className: "flex gap-4",
|
|
48
46
|
children: [/* @__PURE__ */ w("div", {
|
|
49
47
|
className: "flex-1 relative",
|
|
50
|
-
children: [/* @__PURE__ */ C(
|
|
48
|
+
children: [/* @__PURE__ */ C(h, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-text-secondary" }), /* @__PURE__ */ C(e, {
|
|
51
49
|
value: P,
|
|
52
50
|
onChange: (e) => F(e.target.value),
|
|
53
51
|
placeholder: k("movethewheels.tracking.search.placeholder", "Enter tracking number or order ID (e.g., order-1 or TRK123456789)"),
|
|
54
52
|
className: "pl-10 h-12 text-lg"
|
|
55
53
|
})]
|
|
56
|
-
}), /* @__PURE__ */ C(
|
|
54
|
+
}), /* @__PURE__ */ C(l, {
|
|
57
55
|
type: "submit",
|
|
58
56
|
size: "lg",
|
|
59
57
|
disabled: !P || B,
|
|
@@ -61,13 +59,13 @@ function O() {
|
|
|
61
59
|
})]
|
|
62
60
|
})
|
|
63
61
|
}) }),
|
|
64
|
-
V && /* @__PURE__ */ C(
|
|
62
|
+
V && /* @__PURE__ */ C(n, {
|
|
65
63
|
className: "border-status-error-border",
|
|
66
|
-
children: /* @__PURE__ */ C(
|
|
64
|
+
children: /* @__PURE__ */ C(r, {
|
|
67
65
|
className: "p-6",
|
|
68
66
|
children: /* @__PURE__ */ w("div", {
|
|
69
67
|
className: "flex items-center gap-4",
|
|
70
|
-
children: [/* @__PURE__ */ C(
|
|
68
|
+
children: [/* @__PURE__ */ C(u, { className: "w-8 h-8 text-status-error-text" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
71
69
|
className: "font-medium text-status-error-text",
|
|
72
70
|
children: k("movethewheels.tracking.error.title", "Unable to find shipment")
|
|
73
71
|
}), /* @__PURE__ */ C("p", {
|
|
@@ -77,7 +75,7 @@ function O() {
|
|
|
77
75
|
})
|
|
78
76
|
})
|
|
79
77
|
}),
|
|
80
|
-
!I && !V && /* @__PURE__ */ C(
|
|
78
|
+
!I && !V && /* @__PURE__ */ C(c, {
|
|
81
79
|
illustration: "onboarding",
|
|
82
80
|
title: k("movethewheels.tracking.empty.title", "Enter a tracking number"),
|
|
83
81
|
description: k("movethewheels.tracking.empty.description", "Use your tracking number or order ID to see the current status of your shipment")
|
|
@@ -92,12 +90,12 @@ function O() {
|
|
|
92
90
|
children: [/* @__PURE__ */ w("h2", {
|
|
93
91
|
className: "flex items-center gap-2 text-base font-semibold text-text-primary",
|
|
94
92
|
children: [
|
|
95
|
-
/* @__PURE__ */ C(
|
|
93
|
+
/* @__PURE__ */ C(m, { size: 20 }),
|
|
96
94
|
k("movethewheels.tracking.orderLabel", "Order"),
|
|
97
95
|
" ",
|
|
98
96
|
z.orderNumber
|
|
99
97
|
]
|
|
100
|
-
}), /* @__PURE__ */ C(
|
|
98
|
+
}), /* @__PURE__ */ C(v, {
|
|
101
99
|
status: z.status,
|
|
102
100
|
type: "order"
|
|
103
101
|
})]
|
|
@@ -116,7 +114,7 @@ function O() {
|
|
|
116
114
|
children: k("movethewheels.tracking.details.estimatedDelivery", "Estimated Delivery")
|
|
117
115
|
}), /* @__PURE__ */ C("p", {
|
|
118
116
|
className: "font-medium",
|
|
119
|
-
children: R.estimatedArrival ?
|
|
117
|
+
children: R.estimatedArrival ? y(R.estimatedArrival, "full") : z.scheduledDelivery ? y(z.scheduledDelivery, "full") : k("movethewheels.tracking.details.tbd", "TBD")
|
|
120
118
|
})] }),
|
|
121
119
|
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
122
120
|
className: "text-sm text-text-secondary",
|
|
@@ -134,14 +132,14 @@ function O() {
|
|
|
134
132
|
children: k("movethewheels.tracking.details.lastUpdated", "Last Updated")
|
|
135
133
|
}), /* @__PURE__ */ C("p", {
|
|
136
134
|
className: "font-medium",
|
|
137
|
-
children:
|
|
135
|
+
children: y(R.lastUpdated, "relative")
|
|
138
136
|
})] })
|
|
139
137
|
]
|
|
140
138
|
})] }),
|
|
141
|
-
/* @__PURE__ */ w(
|
|
139
|
+
/* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C(a, { children: /* @__PURE__ */ w(i, {
|
|
142
140
|
className: "flex items-center gap-2",
|
|
143
|
-
children: [/* @__PURE__ */ C(
|
|
144
|
-
}) }), /* @__PURE__ */ w(
|
|
141
|
+
children: [/* @__PURE__ */ C(f, { size: 18 }), k("movethewheels.tracking.progress.title", "Shipment Progress")]
|
|
142
|
+
}) }), /* @__PURE__ */ w(r, { children: [/* @__PURE__ */ C("div", {
|
|
145
143
|
className: "relative",
|
|
146
144
|
children: /* @__PURE__ */ C("div", {
|
|
147
145
|
className: "flex justify-between mb-4",
|
|
@@ -149,22 +147,22 @@ function O() {
|
|
|
149
147
|
{
|
|
150
148
|
status: "confirmed",
|
|
151
149
|
label: k("movethewheels.tracking.progress.confirmed", "Confirmed"),
|
|
152
|
-
icon:
|
|
150
|
+
icon: d
|
|
153
151
|
},
|
|
154
152
|
{
|
|
155
153
|
status: "picked_up",
|
|
156
154
|
label: k("movethewheels.tracking.progress.pickedUp", "Picked Up"),
|
|
157
|
-
icon:
|
|
155
|
+
icon: m
|
|
158
156
|
},
|
|
159
157
|
{
|
|
160
158
|
status: "in_transit",
|
|
161
159
|
label: k("movethewheels.tracking.progress.inTransit", "In Transit"),
|
|
162
|
-
icon:
|
|
160
|
+
icon: g
|
|
163
161
|
},
|
|
164
162
|
{
|
|
165
163
|
status: "delivered",
|
|
166
164
|
label: k("movethewheels.tracking.progress.delivered", "Delivered"),
|
|
167
|
-
icon:
|
|
165
|
+
icon: p
|
|
168
166
|
}
|
|
169
167
|
].map((e, t) => {
|
|
170
168
|
let n = [
|
|
@@ -210,13 +208,13 @@ function O() {
|
|
|
210
208
|
children: [
|
|
211
209
|
/* @__PURE__ */ w("div", {
|
|
212
210
|
className: "flex items-center gap-2",
|
|
213
|
-
children: [/* @__PURE__ */ C(
|
|
211
|
+
children: [/* @__PURE__ */ C(v, {
|
|
214
212
|
status: e.status,
|
|
215
213
|
type: "order",
|
|
216
214
|
size: "sm"
|
|
217
215
|
}), /* @__PURE__ */ C("span", {
|
|
218
216
|
className: "text-sm text-text-secondary",
|
|
219
|
-
children:
|
|
217
|
+
children: y(e.timestamp, "full")
|
|
220
218
|
})]
|
|
221
219
|
}),
|
|
222
220
|
e.notes && /* @__PURE__ */ C("p", {
|
|
@@ -225,31 +223,31 @@ function O() {
|
|
|
225
223
|
}),
|
|
226
224
|
e.location && /* @__PURE__ */ w("p", {
|
|
227
225
|
className: "text-xs text-text-secondary mt-1",
|
|
228
|
-
children: [/* @__PURE__ */ C(
|
|
226
|
+
children: [/* @__PURE__ */ C(p, {
|
|
229
227
|
size: 12,
|
|
230
228
|
className: "inline mr-1"
|
|
231
|
-
}),
|
|
229
|
+
}), b(e.location)]
|
|
232
230
|
})
|
|
233
231
|
]
|
|
234
232
|
})]
|
|
235
233
|
}, t))
|
|
236
234
|
})] })] }),
|
|
237
|
-
R.alerts && R.alerts.length > 0 && /* @__PURE__ */ w(
|
|
235
|
+
R.alerts && R.alerts.length > 0 && /* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C(a, { children: /* @__PURE__ */ w(i, {
|
|
238
236
|
className: "flex items-center gap-2",
|
|
239
|
-
children: [/* @__PURE__ */ C(
|
|
240
|
-
}) }), /* @__PURE__ */ C(
|
|
237
|
+
children: [/* @__PURE__ */ C(u, { size: 18 }), k("movethewheels.tracking.alerts.title", "Alerts")]
|
|
238
|
+
}) }), /* @__PURE__ */ C(r, { children: /* @__PURE__ */ C("div", {
|
|
241
239
|
className: "space-y-3",
|
|
242
240
|
children: R.alerts.map((e) => /* @__PURE__ */ w("div", {
|
|
243
|
-
className: `flex items-start gap-3 p-3 rounded-lg ${e.severity === "critical" ? "bg-
|
|
244
|
-
children: [/* @__PURE__ */ C(
|
|
241
|
+
className: `flex items-start gap-3 p-3 rounded-lg ${e.severity === "critical" ? "bg-status-error-bg-subtle" : (e.severity, "bg-status-warning-bg-subtle")}`,
|
|
242
|
+
children: [/* @__PURE__ */ C(u, {
|
|
245
243
|
size: 16,
|
|
246
|
-
className: e.severity === "critical" ? "text-
|
|
244
|
+
className: e.severity === "critical" ? "text-status-error-text" : (e.severity, "text-status-warning-text")
|
|
247
245
|
}), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
248
246
|
className: "text-sm font-medium",
|
|
249
247
|
children: e.message
|
|
250
248
|
}), /* @__PURE__ */ w("p", {
|
|
251
249
|
className: "text-xs text-text-secondary",
|
|
252
|
-
children: [
|
|
250
|
+
children: [y(e.timestamp, "relative"), e.resolvedAt && ` - ${k("movethewheels.tracking.alerts.resolved", "Resolved")}`]
|
|
253
251
|
})] })]
|
|
254
252
|
}, e.id))
|
|
255
253
|
}) })] })
|
|
@@ -257,15 +255,15 @@ function O() {
|
|
|
257
255
|
}), /* @__PURE__ */ w("div", {
|
|
258
256
|
className: "space-y-6",
|
|
259
257
|
children: [
|
|
260
|
-
/* @__PURE__ */ w(
|
|
258
|
+
/* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C(a, { children: /* @__PURE__ */ w(i, {
|
|
261
259
|
className: "flex items-center gap-2",
|
|
262
|
-
children: [/* @__PURE__ */ C(
|
|
263
|
-
}) }), /* @__PURE__ */ w(
|
|
260
|
+
children: [/* @__PURE__ */ C(p, { size: 18 }), k("movethewheels.tracking.location.title", "Current Location")]
|
|
261
|
+
}) }), /* @__PURE__ */ w(r, { children: [
|
|
264
262
|
/* @__PURE__ */ C("div", {
|
|
265
263
|
className: "aspect-video bg-bg-sunken rounded-lg flex items-center justify-center mb-4",
|
|
266
264
|
children: /* @__PURE__ */ w("div", {
|
|
267
265
|
className: "text-center text-text-secondary",
|
|
268
|
-
children: [/* @__PURE__ */ C(
|
|
266
|
+
children: [/* @__PURE__ */ C(p, {
|
|
269
267
|
size: 32,
|
|
270
268
|
className: "mx-auto mb-2"
|
|
271
269
|
}), /* @__PURE__ */ C("p", {
|
|
@@ -283,25 +281,25 @@ function O() {
|
|
|
283
281
|
children: [
|
|
284
282
|
k("movethewheels.tracking.location.updated", "Updated"),
|
|
285
283
|
" ",
|
|
286
|
-
|
|
284
|
+
y(R.currentLocation.timestamp || /* @__PURE__ */ new Date(), "relative")
|
|
287
285
|
]
|
|
288
286
|
})
|
|
289
287
|
] })] }),
|
|
290
|
-
/* @__PURE__ */ w(
|
|
288
|
+
/* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C(a, { children: /* @__PURE__ */ C(i, { children: k("movethewheels.tracking.deliveryAddress.title", "Delivery Address") }) }), /* @__PURE__ */ w(r, { children: [/* @__PURE__ */ C("p", {
|
|
291
289
|
className: "text-sm",
|
|
292
290
|
children: z.customerInfo.name
|
|
293
291
|
}), /* @__PURE__ */ C("p", {
|
|
294
292
|
className: "text-sm text-text-secondary mt-2",
|
|
295
|
-
children:
|
|
293
|
+
children: b(z.deliveryAddress)
|
|
296
294
|
})] })] }),
|
|
297
|
-
/* @__PURE__ */ C(
|
|
295
|
+
/* @__PURE__ */ C(n, { children: /* @__PURE__ */ w(r, {
|
|
298
296
|
className: "p-4 space-y-2",
|
|
299
|
-
children: [/* @__PURE__ */ C(
|
|
297
|
+
children: [/* @__PURE__ */ C(l, {
|
|
300
298
|
variant: "outline",
|
|
301
299
|
className: "w-full",
|
|
302
300
|
onClick: () => U(`orders/${z.id}`),
|
|
303
301
|
children: k("movethewheels.tracking.actions.viewOrderDetails", "View Order Details")
|
|
304
|
-
}), /* @__PURE__ */ C(
|
|
302
|
+
}), /* @__PURE__ */ C(l, {
|
|
305
303
|
variant: "outline",
|
|
306
304
|
className: "w-full",
|
|
307
305
|
children: k("movethewheels.tracking.actions.contactDriver", "Contact Driver")
|
|
@@ -310,11 +308,11 @@ function O() {
|
|
|
310
308
|
]
|
|
311
309
|
})]
|
|
312
310
|
}),
|
|
313
|
-
I && !z && !B && !V && /* @__PURE__ */ C(
|
|
311
|
+
I && !z && !B && !V && /* @__PURE__ */ C(c, {
|
|
314
312
|
illustration: "empty-search",
|
|
315
313
|
title: k("movethewheels.tracking.notFound.title", "Shipment not found"),
|
|
316
314
|
description: `${k("movethewheels.tracking.notFound.descriptionPrefix", "No shipment found with tracking number")} "${I}"`,
|
|
317
|
-
action: /* @__PURE__ */ C(
|
|
315
|
+
action: /* @__PURE__ */ C(l, {
|
|
318
316
|
variant: "outline",
|
|
319
317
|
onClick: () => F(""),
|
|
320
318
|
children: k("movethewheels.tracking.notFound.tryAnother", "Try another number")
|
|
@@ -1,46 +1,44 @@
|
|
|
1
|
-
import { M as e,
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
9
|
-
import { a as
|
|
10
|
-
import {
|
|
11
|
-
import { r as x } from "./formatters-_vJlC-47.js";
|
|
12
|
-
import { t as S } from "./navigation-BgnOfsVd.js";
|
|
1
|
+
import { M as e, ct as t, d as n, f as r, g as i, h as a, i as o, l as s, n as c, ot as l, r as u, u as d } from "./PageLayout-D4LDHJJq.js";
|
|
2
|
+
import { t as f } from "./arrow-left-n48Y-Wis.js";
|
|
3
|
+
import { t as p } from "./file-text-DWWY6_f5.js";
|
|
4
|
+
import { n as m, t as h } from "./wrench-CANXWxF-.js";
|
|
5
|
+
import { t as g } from "./map-pin-BGiCvyCs.js";
|
|
6
|
+
import { t as _ } from "./square-pen-CopE9GmB.js";
|
|
7
|
+
import { t as v } from "./truck-DrlfSpRC.js";
|
|
8
|
+
import { a as y } from "./useFleet-DiAC-IiH.js";
|
|
9
|
+
import { a as b, r as x } from "./StatusBadge-NpTeHVlw.js";
|
|
10
|
+
import { r as S } from "./formatters-DhKZ-eA1.js";
|
|
13
11
|
import { useParams as C } from "react-router-dom";
|
|
14
12
|
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
15
13
|
import { EmphasisPanel as E, NextSteps as D, PagePurpose as O } from "@burdenoff/fe-libs/ui";
|
|
16
14
|
//#region src/movethewheels/pages/VehicleDetailsPage.tsx
|
|
17
15
|
function k() {
|
|
18
|
-
let { vehicleId: k } = C(), { basePath: A, navigate: j } =
|
|
19
|
-
return N ? /* @__PURE__ */ w(
|
|
16
|
+
let { vehicleId: k } = C(), { basePath: A, navigate: j } = l(), { vehicle: M, isLoading: N, error: P, refetch: F } = y(k), I = () => j?.(t(A, "fleet/vehicles")), L = (e) => j?.(t(A, e));
|
|
17
|
+
return N ? /* @__PURE__ */ w(u, { message: "Loading vehicle details..." }) : P || !M ? /* @__PURE__ */ w(c, {
|
|
20
18
|
title: "Vehicle not found",
|
|
21
19
|
onRetry: F
|
|
22
|
-
}) : /* @__PURE__ */ T(
|
|
20
|
+
}) : /* @__PURE__ */ T(o, {
|
|
23
21
|
title: M.vehicleNumber,
|
|
24
22
|
subtitle: `${M.make} ${M.model} (${M.year})`,
|
|
25
|
-
icon: /* @__PURE__ */ w(
|
|
23
|
+
icon: /* @__PURE__ */ w(v, { size: 24 }),
|
|
26
24
|
headerActions: /* @__PURE__ */ T("div", {
|
|
27
25
|
className: "flex gap-2",
|
|
28
|
-
children: [/* @__PURE__ */ T(
|
|
26
|
+
children: [/* @__PURE__ */ T(d, {
|
|
29
27
|
variant: "outline",
|
|
30
28
|
onClick: I,
|
|
31
|
-
children: [/* @__PURE__ */ w(
|
|
32
|
-
}), /* @__PURE__ */ T(
|
|
29
|
+
children: [/* @__PURE__ */ w(f, { size: 16 }), " Back"]
|
|
30
|
+
}), /* @__PURE__ */ T(d, { children: [/* @__PURE__ */ w(_, { size: 16 }), " Edit"] })]
|
|
33
31
|
}),
|
|
34
32
|
headerContent: /* @__PURE__ */ T("div", {
|
|
35
33
|
className: "flex gap-2",
|
|
36
|
-
children: [/* @__PURE__ */ w(
|
|
34
|
+
children: [/* @__PURE__ */ w(x, {
|
|
37
35
|
status: M.status,
|
|
38
36
|
type: "vehicle"
|
|
39
|
-
}), /* @__PURE__ */ w(
|
|
37
|
+
}), /* @__PURE__ */ w(b, { type: M.type })]
|
|
40
38
|
}),
|
|
41
39
|
children: [
|
|
42
40
|
/* @__PURE__ */ w(O, {
|
|
43
|
-
icon: /* @__PURE__ */ w(
|
|
41
|
+
icon: /* @__PURE__ */ w(v, { size: 18 }),
|
|
44
42
|
children: "The full record for this vehicle — specs, capacity, fuel and mileage, maintenance schedule and current location. Use it to confirm a vehicle is fuelled, serviced and the right size before dispatching it on a delivery."
|
|
45
43
|
}),
|
|
46
44
|
/* @__PURE__ */ w(D, {
|
|
@@ -49,13 +47,13 @@ function k() {
|
|
|
49
47
|
id: "assign",
|
|
50
48
|
label: "Assign to a delivery",
|
|
51
49
|
description: "Put this vehicle on an order that fits its capacity.",
|
|
52
|
-
icon: /* @__PURE__ */ w(
|
|
50
|
+
icon: /* @__PURE__ */ w(g, { size: 16 }),
|
|
53
51
|
onClick: () => L("orders")
|
|
54
52
|
}, {
|
|
55
53
|
id: "maintenance",
|
|
56
54
|
label: "Schedule maintenance",
|
|
57
55
|
description: "Keep it road-ready and compliant.",
|
|
58
|
-
icon: /* @__PURE__ */ w(
|
|
56
|
+
icon: /* @__PURE__ */ w(h, { size: 16 }),
|
|
59
57
|
onClick: () => {}
|
|
60
58
|
}]
|
|
61
59
|
}),
|
|
@@ -100,7 +98,7 @@ function k() {
|
|
|
100
98
|
})] })
|
|
101
99
|
]
|
|
102
100
|
})] }),
|
|
103
|
-
/* @__PURE__ */ T(
|
|
101
|
+
/* @__PURE__ */ T(n, { children: [/* @__PURE__ */ w(a, { children: /* @__PURE__ */ w(i, { children: "Capacity" }) }), /* @__PURE__ */ w(r, { children: /* @__PURE__ */ T("div", {
|
|
104
102
|
className: "grid grid-cols-3 gap-6",
|
|
105
103
|
children: [
|
|
106
104
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
@@ -132,10 +130,10 @@ function k() {
|
|
|
132
130
|
})] })
|
|
133
131
|
]
|
|
134
132
|
}) })] }),
|
|
135
|
-
/* @__PURE__ */ T(
|
|
133
|
+
/* @__PURE__ */ T(n, { children: [/* @__PURE__ */ w(a, { children: /* @__PURE__ */ T(i, {
|
|
136
134
|
className: "flex items-center gap-2",
|
|
137
|
-
children: [/* @__PURE__ */ w(
|
|
138
|
-
}) }), /* @__PURE__ */ w(
|
|
135
|
+
children: [/* @__PURE__ */ w(p, { size: 18 }), " Documents"]
|
|
136
|
+
}) }), /* @__PURE__ */ w(r, { children: M.documents.length > 0 ? /* @__PURE__ */ w("div", {
|
|
139
137
|
className: "space-y-3",
|
|
140
138
|
children: M.documents.map((e) => /* @__PURE__ */ T("div", {
|
|
141
139
|
className: "flex items-center justify-between p-3 border rounded-lg",
|
|
@@ -144,8 +142,8 @@ function k() {
|
|
|
144
142
|
children: e.type.replace("_", " ")
|
|
145
143
|
}), /* @__PURE__ */ T("p", {
|
|
146
144
|
className: "text-sm text-text-secondary",
|
|
147
|
-
children: ["Expires: ",
|
|
148
|
-
})] }), /* @__PURE__ */ w(
|
|
145
|
+
children: ["Expires: ", S(e.expiryDate)]
|
|
146
|
+
})] }), /* @__PURE__ */ w(s, {
|
|
149
147
|
variant: e.verified ? "default" : "secondary",
|
|
150
148
|
children: e.verified ? "Verified" : "Pending"
|
|
151
149
|
})]
|
|
@@ -158,10 +156,10 @@ function k() {
|
|
|
158
156
|
}), /* @__PURE__ */ T("div", {
|
|
159
157
|
className: "space-y-6",
|
|
160
158
|
children: [
|
|
161
|
-
/* @__PURE__ */ T(
|
|
159
|
+
/* @__PURE__ */ T(n, { children: [/* @__PURE__ */ w(a, { children: /* @__PURE__ */ T(i, {
|
|
162
160
|
className: "flex items-center gap-2",
|
|
163
|
-
children: [/* @__PURE__ */ w(
|
|
164
|
-
}) }), /* @__PURE__ */ T(
|
|
161
|
+
children: [/* @__PURE__ */ w(m, { size: 18 }), " Fuel & Mileage"]
|
|
162
|
+
}) }), /* @__PURE__ */ T(r, {
|
|
165
163
|
className: "space-y-4",
|
|
166
164
|
children: [M.fuelLevel !== void 0 && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
|
|
167
165
|
className: "flex justify-between text-sm mb-2",
|
|
@@ -181,34 +179,34 @@ function k() {
|
|
|
181
179
|
]
|
|
182
180
|
})] })]
|
|
183
181
|
})] }),
|
|
184
|
-
/* @__PURE__ */ T(
|
|
182
|
+
/* @__PURE__ */ T(n, { children: [/* @__PURE__ */ w(a, { children: /* @__PURE__ */ T(i, {
|
|
185
183
|
className: "flex items-center gap-2",
|
|
186
|
-
children: [/* @__PURE__ */ w(
|
|
187
|
-
}) }), /* @__PURE__ */ T(
|
|
184
|
+
children: [/* @__PURE__ */ w(h, { size: 18 }), " Maintenance"]
|
|
185
|
+
}) }), /* @__PURE__ */ T(r, {
|
|
188
186
|
className: "space-y-3",
|
|
189
187
|
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
190
188
|
className: "text-sm text-text-secondary",
|
|
191
189
|
children: "Last Maintenance"
|
|
192
190
|
}), /* @__PURE__ */ w("p", {
|
|
193
191
|
className: "font-medium",
|
|
194
|
-
children: M.lastMaintenance ?
|
|
192
|
+
children: M.lastMaintenance ? S(M.lastMaintenance) : "N/A"
|
|
195
193
|
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
196
194
|
className: "text-sm text-text-secondary",
|
|
197
195
|
children: "Next Scheduled"
|
|
198
196
|
}), /* @__PURE__ */ w("p", {
|
|
199
197
|
className: "font-medium",
|
|
200
|
-
children: M.nextMaintenance ?
|
|
198
|
+
children: M.nextMaintenance ? S(M.nextMaintenance) : "N/A"
|
|
201
199
|
})] })]
|
|
202
200
|
})] }),
|
|
203
|
-
M.currentLocation && /* @__PURE__ */ T(
|
|
201
|
+
M.currentLocation && /* @__PURE__ */ T(n, { children: [/* @__PURE__ */ w(a, { children: /* @__PURE__ */ T(i, {
|
|
204
202
|
className: "flex items-center gap-2",
|
|
205
|
-
children: [/* @__PURE__ */ w(
|
|
206
|
-
}) }), /* @__PURE__ */ T(
|
|
203
|
+
children: [/* @__PURE__ */ w(g, { size: 18 }), " Current Location"]
|
|
204
|
+
}) }), /* @__PURE__ */ T(r, { children: [/* @__PURE__ */ w("p", {
|
|
207
205
|
className: "text-sm",
|
|
208
206
|
children: M.currentLocation.address || "Location updating..."
|
|
209
207
|
}), /* @__PURE__ */ T("p", {
|
|
210
208
|
className: "text-xs text-text-secondary mt-1",
|
|
211
|
-
children: ["Updated ",
|
|
209
|
+
children: ["Updated ", S(M.currentLocation.timestamp || /* @__PURE__ */ new Date(), "relative")]
|
|
212
210
|
})] })] })
|
|
213
211
|
]
|
|
214
212
|
})]
|
|
@@ -1,43 +1,41 @@
|
|
|
1
|
-
import { M as e,
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { a as l, r as u } from "./StatusBadge-CijYQXtb.js";
|
|
10
|
-
import { t as d } from "./navigation-BgnOfsVd.js";
|
|
1
|
+
import { M as e, ct as t, i as n, ot as r } from "./PageLayout-D4LDHJJq.js";
|
|
2
|
+
import { t as i } from "./DataTable-DmciIKKM.js";
|
|
3
|
+
import { t as a } from "./download-DRXxoiQR.js";
|
|
4
|
+
import { t as o } from "./plus-Z76q-FZm.js";
|
|
5
|
+
import { t as s } from "./refresh-cw-DKt6f5T6.js";
|
|
6
|
+
import { t as c } from "./truck-DrlfSpRC.js";
|
|
7
|
+
import { o as l } from "./useFleet-DiAC-IiH.js";
|
|
8
|
+
import { a as u, r as d } from "./StatusBadge-NpTeHVlw.js";
|
|
11
9
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
12
10
|
import { CTAOverflowMenu as m, EmphasisPanel as h, PagePurpose as g } from "@burdenoff/fe-libs/ui";
|
|
13
11
|
//#region src/movethewheels/pages/VehiclesPage.tsx
|
|
14
12
|
function _() {
|
|
15
|
-
let { basePath: _, navigate: v } =
|
|
16
|
-
v && v(
|
|
13
|
+
let { basePath: _, navigate: v } = r(), { vehicles: y, totalVehicles: b, isLoading: x, refetch: S } = l(), C = (e) => {
|
|
14
|
+
v && v(t(_, e));
|
|
17
15
|
};
|
|
18
|
-
return /* @__PURE__ */ p(
|
|
16
|
+
return /* @__PURE__ */ p(n, {
|
|
19
17
|
title: "Vehicles",
|
|
20
18
|
subtitle: `${b} vehicles in fleet`,
|
|
21
|
-
icon: /* @__PURE__ */ f(
|
|
19
|
+
icon: /* @__PURE__ */ f(c, { size: 24 }),
|
|
22
20
|
headerActions: /* @__PURE__ */ f(m, {
|
|
23
21
|
primary: {
|
|
24
22
|
label: "Add Vehicle",
|
|
25
|
-
icon: /* @__PURE__ */ f(
|
|
23
|
+
icon: /* @__PURE__ */ f(o, { size: 16 }),
|
|
26
24
|
onSelect: () => {}
|
|
27
25
|
},
|
|
28
26
|
actions: [{
|
|
29
27
|
label: "Refresh",
|
|
30
|
-
icon: /* @__PURE__ */ f(
|
|
28
|
+
icon: /* @__PURE__ */ f(s, { size: 16 }),
|
|
31
29
|
onSelect: () => S()
|
|
32
30
|
}, {
|
|
33
31
|
label: "Export",
|
|
34
|
-
icon: /* @__PURE__ */ f(
|
|
32
|
+
icon: /* @__PURE__ */ f(a, { size: 16 }),
|
|
35
33
|
onSelect: () => {}
|
|
36
34
|
}]
|
|
37
35
|
}),
|
|
38
36
|
children: [
|
|
39
37
|
/* @__PURE__ */ f(g, {
|
|
40
|
-
icon: /* @__PURE__ */ f(
|
|
38
|
+
icon: /* @__PURE__ */ f(c, { size: 18 }),
|
|
41
39
|
children: "Every truck, van and bike in your fleet. Monitor capacity, fuel level, mileage and maintenance status here so you always know which vehicles are road-ready before dispatching an order."
|
|
42
40
|
}),
|
|
43
41
|
/* @__PURE__ */ p(h, { children: [/* @__PURE__ */ f("p", {
|
|
@@ -69,7 +67,7 @@ function _() {
|
|
|
69
67
|
})] })
|
|
70
68
|
]
|
|
71
69
|
})] }),
|
|
72
|
-
/* @__PURE__ */ f(
|
|
70
|
+
/* @__PURE__ */ f(i, {
|
|
73
71
|
columns: [
|
|
74
72
|
{
|
|
75
73
|
id: "vehicleNumber",
|
|
@@ -85,7 +83,7 @@ function _() {
|
|
|
85
83
|
id: "type",
|
|
86
84
|
header: "Type",
|
|
87
85
|
accessorKey: "type",
|
|
88
|
-
cell: (e) => /* @__PURE__ */ f(
|
|
86
|
+
cell: (e) => /* @__PURE__ */ f(u, { type: e.type })
|
|
89
87
|
},
|
|
90
88
|
{
|
|
91
89
|
id: "details",
|
|
@@ -107,7 +105,7 @@ function _() {
|
|
|
107
105
|
header: "Status",
|
|
108
106
|
accessorKey: "status",
|
|
109
107
|
sortable: !0,
|
|
110
|
-
cell: (e) => /* @__PURE__ */ f(
|
|
108
|
+
cell: (e) => /* @__PURE__ */ f(d, {
|
|
111
109
|
status: e.status,
|
|
112
110
|
type: "vehicle"
|
|
113
111
|
})
|