@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.
Files changed (120) hide show
  1. package/dist/{AIAssistantPage-AvsMbunM.js → AIAssistantPage-C3ovZ0Fh.js} +100 -73
  2. package/dist/AnalyticsPage-O8SpY-V4.js +215 -0
  3. package/dist/{CreateOrderPage-CjlnEtk3.js → CreateOrderPage-CB1_-_mN.js} +33 -35
  4. package/dist/{CustomerDetailsPage-I6cdDHUi.js → CustomerDetailsPage-BaeKEI1D.js} +42 -44
  5. package/dist/{CustomersPage-CGGfD4ki.js → CustomersPage-DRaLuHMC.js} +26 -28
  6. package/dist/{DashboardPage-D2HRqwg9.js → DashboardPage-DPjhNfKB.js} +85 -83
  7. package/dist/{DataTable-CD9ZhpLB.js → DataTable-DmciIKKM.js} +3 -3
  8. package/dist/{DriverDetailsPage-rg_pGNuP.js → DriverDetailsPage-CSSQTOzn.js} +52 -54
  9. package/dist/{DriversPage-DKiynISH.js → DriversPage-C2Bk0w4Q.js} +24 -26
  10. package/dist/{FinancePage-Vg8WPs38.js → FinancePage-lmp0Sdsw.js} +9 -9
  11. package/dist/FleetPage-DZn5pIqd.js +365 -0
  12. package/dist/ImportExportPage-BIUJZc7O.js +290 -0
  13. package/dist/InventoryPage-Cxh1zYJd.js +253 -0
  14. package/dist/{LiveTrackingPage-DQ1q4Id3.js → LiveTrackingPage-BY1yAkIt.js} +60 -56
  15. package/dist/MarketplacePage-RMuL17EA.js +247 -0
  16. package/dist/{MetricCard-B7yMyvMX.js → MetricCard-7aYgzZHK.js} +1 -1
  17. package/dist/{OrderDetailsPage-CFASgsYX.js → OrderDetailsPage-C2Mf4KSy.js} +83 -85
  18. package/dist/{OrdersListPage-BHeT8S5o.js → OrdersListPage-BrPBtnhp.js} +31 -33
  19. package/dist/{PageLayout-D3N8MCTm.js → PageLayout-D4LDHJJq.js} +483 -422
  20. package/dist/{ProductDetailsPage-CFGcbaHo.js → ProductDetailsPage-CezzzZcj.js} +27 -29
  21. package/dist/{ProductsPage--xEpbQ8A.js → ProductsPage-I5DilIoY.js} +21 -23
  22. package/dist/ReportsPage-BDXNmUng.js +284 -0
  23. package/dist/RouteDetailsPage-BcomL20M.js +263 -0
  24. package/dist/RoutesPage-lqX9ylHP.js +144 -0
  25. package/dist/SettingsPage-CQVIOaNs.js +421 -0
  26. package/dist/StatusBadge-NpTeHVlw.js +152 -0
  27. package/dist/{TrackingPage-CcRc_dva.js → TrackingPage-BXrjz7V8.js} +59 -61
  28. package/dist/{VehicleDetailsPage-3YDMPsPs.js → VehicleDetailsPage-DZjLcJgr.js} +40 -42
  29. package/dist/{VehiclesPage-UlxPWP9K.js → VehiclesPage-6W39XT5W.js} +19 -21
  30. package/dist/{WarehouseDetailsPage-Db7KeN-d.js → WarehouseDetailsPage-C10pgRGW.js} +38 -40
  31. package/dist/{WarehousesPage-CuTO-OPp.js → WarehousesPage-CHvBqNaQ.js} +15 -17
  32. package/dist/{arrow-left-CBpZKkpq.js → arrow-left-n48Y-Wis.js} +1 -1
  33. package/dist/{box-CAaiElsb.js → box-D9Pal4HM.js} +1 -1
  34. package/dist/{chart-column-D1Ym15-S.js → chart-column-BFIJysDR.js} +1 -1
  35. package/dist/{chevron-right-BIFGi0UA.js → chevron-right-EMIIyyJ1.js} +1 -1
  36. package/dist/{circle-alert-DjmNo5_L.js → circle-alert-iY24lSlp.js} +1 -1
  37. package/dist/{circle-check-big-CjuPVo3_.js → circle-check-big-w0TrLKMF.js} +1 -1
  38. package/dist/{clock-BjkdnddD.js → clock-DJZtdl8u.js} +1 -1
  39. package/dist/{dollar-sign-IB4O0wuQ.js → dollar-sign-CgKQRz_e.js} +1 -1
  40. package/dist/{download-Dpa9vqoG.js → download-DRXxoiQR.js} +1 -1
  41. package/dist/{file-text-C8Uioy11.js → file-text-DWWY6_f5.js} +1 -1
  42. package/dist/{filter-Da5OZaHI.js → filter-DloLC2eE.js} +1 -1
  43. package/dist/index.js +119 -111
  44. package/dist/{map-_Per4sT9.js → map-CkJaULb2.js} +1 -1
  45. package/dist/{map-pin-BSaf5IDL.js → map-pin-BGiCvyCs.js} +1 -1
  46. package/dist/{navigation-DaTbrhw2.js → navigation-D36prnAn.js} +1 -1
  47. package/dist/{package-BE7U0wQE.js → package-BChUzpJS.js} +1 -1
  48. package/dist/{phone-DV4StZiA.js → phone-Ac9s3mo_.js} +1 -1
  49. package/dist/{plus-Dl1rLeJR.js → plus-Z76q-FZm.js} +1 -1
  50. package/dist/{refresh-cw-CWfERAit.js → refresh-cw-DKt6f5T6.js} +1 -1
  51. package/dist/{save-XH8vydOn.js → save-CojywNhG.js} +1 -1
  52. package/dist/{search-OxoIiL_C.js → search-CDGefqb3.js} +1 -1
  53. package/dist/{square-pen-hLIbFQFV.js → square-pen-CopE9GmB.js} +1 -1
  54. package/dist/{star-YsVV3MNQ.js → star-nHlLjDKR.js} +1 -1
  55. package/dist/{store-RCBl7HB-.js → store-BR9Voi5E.js} +1 -1
  56. package/dist/{trending-up-C-85AwGT.js → trending-up-B7W-GL6P.js} +1 -1
  57. package/dist/{triangle-alert-BOhfGgmh.js → triangle-alert-BonHFFNz.js} +1 -1
  58. package/dist/{truck-CtDjNFbi.js → truck-DrlfSpRC.js} +1 -1
  59. package/dist/{useAnalytics-ph7eTIK6.js → useAnalytics-CgdzUfY_.js} +40 -40
  60. package/dist/useAssistant-D4v3oxD3.js +84 -0
  61. package/dist/{useCustomers-bS3a4ytk.js → useCustomers-QrlozybF.js} +24 -24
  62. package/dist/{useFleet-BdETplNE.js → useFleet-DiAC-IiH.js} +70 -67
  63. package/dist/useImportExport-BLMnAKCC.js +55 -0
  64. package/dist/{useInventory-Dwn18FPz.js → useInventory-DKoks37x.js} +33 -33
  65. package/dist/{useOrders-D_3_hGMp.js → useOrders-D3UZVy8Y.js} +42 -42
  66. package/dist/useReports-Puq4DCH9.js +78 -0
  67. package/dist/{useRoutes-v4aBaS-E.js → useRoutes-Do57LvRb.js} +31 -31
  68. package/dist/useSettings-CkDH_-gM.js +81 -0
  69. package/dist/{useTracking-De2KIUNu.js → useTracking-GJify4HN.js} +22 -22
  70. package/dist/{user-Dz5TJZFs.js → user-CjSoudeu.js} +1 -1
  71. package/dist/{users-g2N0eL-Z.js → users-BAM4gHTn.js} +1 -1
  72. package/dist/{warehouse-D3WWDeTX.js → warehouse-C7MSr47B.js} +1 -1
  73. package/dist/{wrench-CmxY1n4I.js → wrench-CANXWxF-.js} +1 -1
  74. package/package.json +1 -1
  75. package/src/movethewheels/MoveTheWheelsRoutes.tsx +27 -3
  76. package/src/movethewheels/components/StatusBadge.tsx +18 -37
  77. package/src/movethewheels/constants/index.ts +67 -26
  78. package/src/movethewheels/hooks/index.ts +12 -0
  79. package/src/movethewheels/hooks/useAnalytics.ts +20 -6
  80. package/src/movethewheels/hooks/useAssistant.ts +74 -0
  81. package/src/movethewheels/hooks/useFleet.ts +63 -59
  82. package/src/movethewheels/hooks/useImportExport.ts +101 -0
  83. package/src/movethewheels/hooks/useReports.ts +158 -0
  84. package/src/movethewheels/hooks/useSettings.ts +120 -0
  85. package/src/movethewheels/pages/AIAssistantPage.tsx +53 -15
  86. package/src/movethewheels/pages/AnalyticsPage.tsx +67 -64
  87. package/src/movethewheels/pages/CustomerDetailsPage.tsx +1 -1
  88. package/src/movethewheels/pages/CustomersPage.tsx +1 -1
  89. package/src/movethewheels/pages/DashboardPage.tsx +42 -22
  90. package/src/movethewheels/pages/DriverDetailsPage.tsx +1 -1
  91. package/src/movethewheels/pages/DriversPage.tsx +1 -1
  92. package/src/movethewheels/pages/FleetPage.tsx +96 -38
  93. package/src/movethewheels/pages/ImportExportPage.tsx +174 -68
  94. package/src/movethewheels/pages/InventoryPage.tsx +66 -28
  95. package/src/movethewheels/pages/LiveTrackingPage.tsx +12 -3
  96. package/src/movethewheels/pages/MarketplacePage.tsx +87 -45
  97. package/src/movethewheels/pages/OrderDetailsPage.tsx +2 -2
  98. package/src/movethewheels/pages/ReportsPage.tsx +194 -90
  99. package/src/movethewheels/pages/RouteDetailsPage.tsx +5 -11
  100. package/src/movethewheels/pages/RoutesPage.tsx +4 -9
  101. package/src/movethewheels/pages/SettingsPage.tsx +234 -56
  102. package/src/movethewheels/pages/TrackingPage.tsx +6 -6
  103. package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +7 -6
  104. package/src/movethewheels/store/movethewheelsStore.ts +1 -1
  105. package/dist/AnalyticsPage-CCLfHgQZ.js +0 -212
  106. package/dist/FleetPage-DddXt8r8.js +0 -332
  107. package/dist/ImportExportPage-BW6qO3kc.js +0 -248
  108. package/dist/InventoryPage-rMGuaJN-.js +0 -222
  109. package/dist/MarketplacePage-DKrXAv62.js +0 -219
  110. package/dist/ReportsPage-Bb7_90rK.js +0 -235
  111. package/dist/RouteDetailsPage-CVtDVb1N.js +0 -282
  112. package/dist/RoutesPage-s57PtgcQ.js +0 -163
  113. package/dist/SettingsPage-BYNCBOpN.js +0 -298
  114. package/dist/StatusBadge-CijYQXtb.js +0 -209
  115. package/dist/graphqlClient-CdJyR_ed.js +0 -55
  116. package/dist/navigation-BgnOfsVd.js +0 -6
  117. package/dist/route-Dp9JiN_E.js +0 -51
  118. package/dist/settings-3Rw5NwFF.js +0 -28
  119. package/src/movethewheels/constants/mockData.ts +0 -1342
  120. /package/dist/{formatters-_vJlC-47.js → formatters-DhKZ-eA1.js} +0 -0
@@ -0,0 +1,247 @@
1
+ import { A as e, B as t, d as n, f as r, g as i, h as a, i as o, it as s, l as c, ot as l, u } from "./PageLayout-D4LDHJJq.js";
2
+ import { t as d } from "./clock-DJZtdl8u.js";
3
+ import { t as f } from "./filter-DloLC2eE.js";
4
+ import { t as p } from "./map-pin-BGiCvyCs.js";
5
+ import { t as m } from "./search-CDGefqb3.js";
6
+ import { t as h } from "./star-nHlLjDKR.js";
7
+ import { t as g } from "./store-BR9Voi5E.js";
8
+ import { n as _ } from "./formatters-DhKZ-eA1.js";
9
+ import { useCallback as v, useEffect as y, useMemo as b, useState as x } from "react";
10
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
11
+ import { EmphasisPanel as w, IllustratedEmptyState as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
12
+ //#region src/movethewheels/pages/MarketplacePage.tsx
13
+ var D = "\n query ListServiceProviders($filter: ServiceProviderFilterInput, $pagination: PaginationInput) {\n serviceProviders(filter: $filter, pagination: $pagination) {\n id\n name\n type\n description\n rating\n isVerified\n isActive\n services\n contactInfo\n }\n }\n", O = "\n query ListServiceOfferings($filter: ServiceOfferingFilterInput, $pagination: PaginationInput) {\n serviceOfferings(filter: $filter, pagination: $pagination) {\n id\n providerId\n name\n description\n category\n price\n currency\n availability\n provider {\n id\n name\n type\n rating\n }\n }\n }\n";
14
+ function k() {
15
+ let { apiGatewayUrl: k, authToken: A, workspaceToken: j, workspaceId: M, tenantId: N, currentUser: P } = l(), [F, I] = x([]), [L, R] = x([]), [z, B] = x(""), [V, H] = x(!1), [U, W] = x(null), G = b(() => ({
16
+ apiGatewayUrl: k,
17
+ authToken: A,
18
+ workspaceToken: j,
19
+ workspaceId: M,
20
+ tenantId: N,
21
+ actorId: P?.id
22
+ }), [
23
+ k,
24
+ A,
25
+ j,
26
+ M,
27
+ N,
28
+ P?.id
29
+ ]), K = v(async () => {
30
+ H(!0), W(null);
31
+ try {
32
+ let [e, t] = await Promise.all([s(G, D, { pagination: {
33
+ limit: 200,
34
+ offset: 0
35
+ } }), s(G, O, { pagination: {
36
+ limit: 200,
37
+ offset: 0
38
+ } })]);
39
+ I(e.serviceProviders), R(t.serviceOfferings);
40
+ } catch (e) {
41
+ W(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load marketplace"));
42
+ } finally {
43
+ H(!1);
44
+ }
45
+ }, [G]);
46
+ y(() => {
47
+ K();
48
+ }, [K]);
49
+ let q = b(() => {
50
+ let e = z.trim().toLowerCase();
51
+ return e ? F.filter((t) => t.name.toLowerCase().includes(e) || (t.description ?? "").toLowerCase().includes(e) || t.type.toLowerCase().includes(e)) : F;
52
+ }, [F, z]), J = b(() => {
53
+ let e = z.trim().toLowerCase();
54
+ return e ? L.filter((t) => t.name.toLowerCase().includes(e) || (t.description ?? "").toLowerCase().includes(e) || (t.category ?? "").toLowerCase().includes(e)) : L;
55
+ }, [L, z]);
56
+ return /* @__PURE__ */ C(o, {
57
+ title: "Marketplace",
58
+ subtitle: "Find logistics service providers",
59
+ icon: /* @__PURE__ */ S(g, { size: 24 }),
60
+ headerActions: /* @__PURE__ */ C(u, {
61
+ variant: "outline",
62
+ children: [/* @__PURE__ */ S(f, { size: 16 }), " Filters"]
63
+ }),
64
+ children: [
65
+ /* @__PURE__ */ S(E, {
66
+ icon: /* @__PURE__ */ S(g, { size: 18 }),
67
+ children: "Don't own every leg of the journey? Find vetted third-party logistics providers and service offerings here — compare ratings, verification status and pricing, then engage a partner to cover routes, warehousing or specialised handling you can't do in-house."
68
+ }),
69
+ /* @__PURE__ */ S(n, { children: /* @__PURE__ */ S(r, {
70
+ className: "p-4",
71
+ children: /* @__PURE__ */ C("div", {
72
+ className: "relative",
73
+ children: [/* @__PURE__ */ S(m, {
74
+ className: "absolute left-3 top-1/2 -translate-y-1/2 text-text-secondary",
75
+ size: 20
76
+ }), /* @__PURE__ */ S(e, {
77
+ placeholder: "Search services, providers, locations...",
78
+ className: "pl-10",
79
+ value: z,
80
+ onChange: (e) => B(e.target.value)
81
+ })]
82
+ })
83
+ }) }),
84
+ /* @__PURE__ */ C("div", {
85
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
86
+ children: [/* @__PURE__ */ C("div", {
87
+ className: "lg:col-span-2 space-y-4",
88
+ children: [
89
+ /* @__PURE__ */ C("h3", {
90
+ className: "font-semibold",
91
+ children: [
92
+ "Service Providers (",
93
+ q.length,
94
+ ")"
95
+ ]
96
+ }),
97
+ U && !V && /* @__PURE__ */ S(n, {
98
+ className: "border-status-error-border",
99
+ children: /* @__PURE__ */ C(r, {
100
+ className: "p-6 text-center space-y-3",
101
+ children: [
102
+ /* @__PURE__ */ S("p", {
103
+ className: "text-status-error-text font-medium",
104
+ children: "Couldn't load providers"
105
+ }),
106
+ /* @__PURE__ */ S("p", {
107
+ className: "text-sm text-text-secondary",
108
+ children: U.message
109
+ }),
110
+ /* @__PURE__ */ S(u, {
111
+ variant: "outline",
112
+ onClick: () => void K(),
113
+ children: "Retry"
114
+ })
115
+ ]
116
+ })
117
+ }),
118
+ V && Array.from({ length: 3 }).map((e, n) => /* @__PURE__ */ S(t, { className: "h-32 w-full rounded-lg" }, n)),
119
+ !V && !U && q.length === 0 && /* @__PURE__ */ S(n, { children: /* @__PURE__ */ S(r, {
120
+ className: "p-0",
121
+ children: /* @__PURE__ */ S(T, {
122
+ illustration: z.trim() ? "empty-search" : "empty-people",
123
+ title: z.trim() ? "No providers match your search" : "No providers yet",
124
+ description: z.trim() ? "Try a different search term to find logistics partners." : "Verified logistics service providers will appear here as they join the marketplace."
125
+ })
126
+ }) }),
127
+ !V && !U && q.map((e) => /* @__PURE__ */ S(n, {
128
+ className: "hover:shadow-md transition-shadow",
129
+ children: /* @__PURE__ */ S(r, {
130
+ className: "p-6",
131
+ children: /* @__PURE__ */ C("div", {
132
+ className: "flex items-start justify-between",
133
+ children: [/* @__PURE__ */ C("div", { children: [
134
+ /* @__PURE__ */ C("div", {
135
+ className: "flex items-center gap-2",
136
+ children: [
137
+ /* @__PURE__ */ S("h4", {
138
+ className: "font-semibold text-lg",
139
+ children: e.name
140
+ }),
141
+ e.isVerified && /* @__PURE__ */ S(c, {
142
+ variant: "default",
143
+ children: "Verified"
144
+ }),
145
+ /* @__PURE__ */ S(c, {
146
+ variant: e.isActive ? "default" : "secondary",
147
+ children: e.isActive ? "active" : "inactive"
148
+ })
149
+ ]
150
+ }),
151
+ /* @__PURE__ */ S("p", {
152
+ className: "text-text-secondary mt-1",
153
+ children: e.description
154
+ }),
155
+ /* @__PURE__ */ C("div", {
156
+ className: "flex items-center gap-4 mt-3 text-sm text-text-secondary",
157
+ children: [
158
+ /* @__PURE__ */ C("span", {
159
+ className: "flex items-center gap-1",
160
+ children: [
161
+ /* @__PURE__ */ S(h, {
162
+ size: 14,
163
+ className: "text-status-warning-text fill-current"
164
+ }),
165
+ " ",
166
+ e.rating ?? 0
167
+ ]
168
+ }),
169
+ /* @__PURE__ */ C("span", {
170
+ className: "flex items-center gap-1",
171
+ children: [
172
+ /* @__PURE__ */ S(p, { size: 14 }),
173
+ " ",
174
+ e.type
175
+ ]
176
+ }),
177
+ /* @__PURE__ */ C("span", {
178
+ className: "flex items-center gap-1",
179
+ children: [/* @__PURE__ */ S(d, { size: 14 }), " Listed"]
180
+ })
181
+ ]
182
+ })
183
+ ] }), /* @__PURE__ */ C("div", {
184
+ className: "text-right",
185
+ children: [/* @__PURE__ */ S("p", {
186
+ className: "text-sm text-text-secondary",
187
+ children: "Services"
188
+ }), /* @__PURE__ */ S("p", {
189
+ className: "text-lg font-bold",
190
+ children: Array.isArray(e.services) ? e.services.length : 0
191
+ })]
192
+ })]
193
+ })
194
+ })
195
+ }, e.id))
196
+ ]
197
+ }), /* @__PURE__ */ C(w, {
198
+ className: "space-y-4",
199
+ children: [
200
+ /* @__PURE__ */ S("h3", {
201
+ className: "text-base font-semibold text-text-primary",
202
+ children: "Popular Services"
203
+ }),
204
+ J.length === 0 && /* @__PURE__ */ S(T, {
205
+ illustration: z.trim() ? "empty-search" : "empty-generic",
206
+ title: z.trim() ? "No matching services" : "No services listed yet",
207
+ description: z.trim() ? "Adjust your search to discover service offerings." : "Service offerings from providers will be listed here."
208
+ }),
209
+ J.map((e) => /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ S(i, {
210
+ className: "text-base",
211
+ children: e.name
212
+ }) }), /* @__PURE__ */ C(r, { children: [
213
+ /* @__PURE__ */ S("p", {
214
+ className: "text-sm text-text-secondary mb-3",
215
+ children: e.description
216
+ }),
217
+ /* @__PURE__ */ C("div", {
218
+ className: "flex flex-wrap gap-1 mb-3",
219
+ children: [/* @__PURE__ */ S(c, {
220
+ variant: "outline",
221
+ className: "text-xs",
222
+ children: e.category ?? "general"
223
+ }), /* @__PURE__ */ S(c, {
224
+ variant: "outline",
225
+ className: "text-xs",
226
+ children: e.provider?.name ?? "provider"
227
+ })]
228
+ }),
229
+ /* @__PURE__ */ C("div", {
230
+ className: "flex items-center justify-between",
231
+ children: [/* @__PURE__ */ S("span", {
232
+ className: "font-bold",
233
+ children: _(e.price)
234
+ }), /* @__PURE__ */ S("span", {
235
+ className: "text-sm text-text-secondary",
236
+ children: e.currency
237
+ })]
238
+ })
239
+ ] })] }, e.id))
240
+ ]
241
+ })]
242
+ })
243
+ ]
244
+ });
245
+ }
246
+ //#endregion
247
+ export { k as default };
@@ -1,4 +1,4 @@
1
- import { rt as e } from "./PageLayout-D3N8MCTm.js";
1
+ import { rt as e } from "./PageLayout-D4LDHJJq.js";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
3
  import { GlassCard as r } from "@burdenoff/fe-libs/ui";
4
4
  //#region src/movethewheels/components/MetricCard.tsx
@@ -1,25 +1,23 @@
1
- import { G as e, H as t, K as n, U as r, W as i, d as a, f as o, g as s, h as c, i as l, it as u, l as d, n as f, q as p, r as m, u as h, z as g } from "./PageLayout-D3N8MCTm.js";
2
- import { t as _ } from "./arrow-left-CBpZKkpq.js";
3
- import { t as v } from "./circle-check-big-CjuPVo3_.js";
4
- import { t as y } from "./clock-BjkdnddD.js";
5
- import { t as b } from "./dollar-sign-IB4O0wuQ.js";
6
- import { t as x } from "./file-text-C8Uioy11.js";
7
- import { n as S, t as C } from "./phone-DV4StZiA.js";
8
- import { t as w } from "./map-pin-BSaf5IDL.js";
9
- import { t as T } from "./package-BE7U0wQE.js";
10
- import { t as E } from "./square-pen-hLIbFQFV.js";
11
- import { t as D } from "./truck-CtDjNFbi.js";
12
- import { t as O } from "./user-Dz5TJZFs.js";
13
- import { r as k } from "./graphqlClient-CdJyR_ed.js";
14
- import { t as A } from "./useOrders-D_3_hGMp.js";
15
- import { i as j, n as M, r as N, t as P } from "./StatusBadge-CijYQXtb.js";
16
- import { n as F, r as I, t as L } from "./formatters-_vJlC-47.js";
17
- import { t as R } from "./navigation-BgnOfsVd.js";
1
+ import { G as e, H as t, K as n, U as r, W as i, ct as a, d as o, f as s, g as c, h as l, i as u, l as d, lt as f, n as p, ot as m, q as h, r as g, u as _, z as v } from "./PageLayout-D4LDHJJq.js";
2
+ import { t as y } from "./arrow-left-n48Y-Wis.js";
3
+ import { t as b } from "./circle-check-big-w0TrLKMF.js";
4
+ import { t as x } from "./clock-DJZtdl8u.js";
5
+ import { t as S } from "./dollar-sign-CgKQRz_e.js";
6
+ import { t as C } from "./file-text-DWWY6_f5.js";
7
+ import { n as w, t as T } from "./phone-Ac9s3mo_.js";
8
+ import { t as E } from "./map-pin-BGiCvyCs.js";
9
+ import { t as D } from "./package-BChUzpJS.js";
10
+ import { t as O } from "./square-pen-CopE9GmB.js";
11
+ import { t as k } from "./truck-DrlfSpRC.js";
12
+ import { t as A } from "./user-CjSoudeu.js";
13
+ import { t as j } from "./useOrders-D3UZVy8Y.js";
14
+ import { i as M, n as N, r as P, t as F } from "./StatusBadge-NpTeHVlw.js";
15
+ import { n as I, r as L, t as R } from "./formatters-DhKZ-eA1.js";
18
16
  import { useParams as z } from "react-router-dom";
19
17
  import { jsx as B, jsxs as V } from "react/jsx-runtime";
20
18
  import { EmphasisPanel as H, NextSteps as U, PagePurpose as W } from "@burdenoff/fe-libs/ui";
21
19
  //#region node_modules/lucide-react/dist/esm/icons/printer.js
22
- var G = u("Printer", [
20
+ var G = f("Printer", [
23
21
  ["path", {
24
22
  d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
25
23
  key: "143wyd"
@@ -40,52 +38,52 @@ var G = u("Printer", [
40
38
  //#endregion
41
39
  //#region src/movethewheels/pages/OrderDetailsPage.tsx
42
40
  function K() {
43
- let { orderId: u } = z(), { basePath: K, navigate: q } = k(), { order: J, isLoading: Y, error: X, refetch: Z } = A(u), Q = (e) => {
44
- q && q(R(K, e));
41
+ let { orderId: f } = z(), { basePath: K, navigate: q } = m(), { order: J, isLoading: Y, error: X, refetch: Z } = j(f), Q = (e) => {
42
+ q && q(a(K, e));
45
43
  };
46
- return Y ? /* @__PURE__ */ B(m, { message: "Loading order details..." }) : X || !J ? /* @__PURE__ */ B(f, {
44
+ return Y ? /* @__PURE__ */ B(g, { message: "Loading order details..." }) : X || !J ? /* @__PURE__ */ B(p, {
47
45
  title: "Order not found",
48
46
  message: "The order you're looking for doesn't exist or has been removed.",
49
47
  onRetry: Z
50
- }) : /* @__PURE__ */ V(l, {
48
+ }) : /* @__PURE__ */ V(u, {
51
49
  title: J.orderNumber,
52
- subtitle: `Created ${I(J.createdAt, "full")}`,
53
- icon: /* @__PURE__ */ B(T, { size: 24 }),
50
+ subtitle: `Created ${L(J.createdAt, "full")}`,
51
+ icon: /* @__PURE__ */ B(D, { size: 24 }),
54
52
  headerActions: /* @__PURE__ */ V("div", {
55
53
  className: "flex gap-2",
56
54
  children: [
57
- /* @__PURE__ */ V(h, {
55
+ /* @__PURE__ */ V(_, {
58
56
  variant: "outline",
59
57
  onClick: () => {
60
- q && q(R(K, "orders"));
58
+ q && q(a(K, "orders"));
61
59
  },
62
- children: [/* @__PURE__ */ B(_, { size: 16 }), "Back"]
60
+ children: [/* @__PURE__ */ B(y, { size: 16 }), "Back"]
63
61
  }),
64
- /* @__PURE__ */ V(h, {
62
+ /* @__PURE__ */ V(_, {
65
63
  variant: "outline",
66
64
  children: [/* @__PURE__ */ B(G, { size: 16 }), "Print"]
67
65
  }),
68
- /* @__PURE__ */ V(h, {
69
- onClick: () => Q(`orders/${u}/edit`),
70
- children: [/* @__PURE__ */ B(E, { size: 16 }), "Edit"]
66
+ /* @__PURE__ */ V(_, {
67
+ onClick: () => Q(`orders/${f}/edit`),
68
+ children: [/* @__PURE__ */ B(O, { size: 16 }), "Edit"]
71
69
  })
72
70
  ]
73
71
  }),
74
72
  headerContent: /* @__PURE__ */ V("div", {
75
73
  className: "flex flex-wrap gap-2",
76
74
  children: [
77
- /* @__PURE__ */ B(N, {
75
+ /* @__PURE__ */ B(P, {
78
76
  status: J.status,
79
77
  type: "order"
80
78
  }),
81
- /* @__PURE__ */ B(M, { priority: J.priority }),
82
- /* @__PURE__ */ B(j, { type: J.orderType }),
83
- /* @__PURE__ */ B(P, { status: J.pricing.paymentStatus })
79
+ /* @__PURE__ */ B(N, { priority: J.priority }),
80
+ /* @__PURE__ */ B(M, { type: J.orderType }),
81
+ /* @__PURE__ */ B(F, { status: J.pricing.paymentStatus })
84
82
  ]
85
83
  }),
86
84
  children: [
87
85
  /* @__PURE__ */ B(W, {
88
- icon: /* @__PURE__ */ B(T, { size: 18 }),
86
+ icon: /* @__PURE__ */ B(D, { size: 18 }),
89
87
  children: "Everything about this one delivery in a single place — who it's for, where it's going, what's inside, the running cost and the full status history. Use this page to review the order, hand it to a driver, print the docket, or jump into live tracking."
90
88
  }),
91
89
  /* @__PURE__ */ B(U, {
@@ -95,15 +93,15 @@ function K() {
95
93
  id: "track",
96
94
  label: "Track this order live",
97
95
  description: "See where the shipment is right now on the map.",
98
- icon: /* @__PURE__ */ B(w, { size: 16 }),
96
+ icon: /* @__PURE__ */ B(E, { size: 16 }),
99
97
  onClick: () => Q(`tracking?order=${J.id}`)
100
98
  },
101
99
  {
102
100
  id: "edit",
103
101
  label: "Edit order details",
104
102
  description: "Update items, addresses or instructions before dispatch.",
105
- icon: /* @__PURE__ */ B(E, { size: 16 }),
106
- onClick: () => Q(`orders/${u}/edit`)
103
+ icon: /* @__PURE__ */ B(O, { size: 16 }),
104
+ onClick: () => Q(`orders/${f}/edit`)
107
105
  },
108
106
  {
109
107
  id: "print",
@@ -119,10 +117,10 @@ function K() {
119
117
  children: [/* @__PURE__ */ V("div", {
120
118
  className: "lg:col-span-2 space-y-6",
121
119
  children: [
122
- /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
120
+ /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
123
121
  className: "flex items-center gap-2",
124
- children: [/* @__PURE__ */ B(O, { size: 18 }), "Customer Information"]
125
- }) }), /* @__PURE__ */ B(o, { children: /* @__PURE__ */ V("div", {
122
+ children: [/* @__PURE__ */ B(A, { size: 18 }), "Customer Information"]
123
+ }) }), /* @__PURE__ */ B(s, { children: /* @__PURE__ */ V("div", {
126
124
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
127
125
  children: [/* @__PURE__ */ V("div", { children: [
128
126
  /* @__PURE__ */ B("h4", {
@@ -137,13 +135,13 @@ function K() {
137
135
  className: "space-y-1 text-sm",
138
136
  children: [/* @__PURE__ */ V("p", {
139
137
  className: "flex items-center gap-2",
140
- children: [/* @__PURE__ */ B(S, {
138
+ children: [/* @__PURE__ */ B(w, {
141
139
  size: 14,
142
140
  className: "text-text-secondary"
143
141
  }), J.customerInfo.email]
144
142
  }), /* @__PURE__ */ V("p", {
145
143
  className: "flex items-center gap-2",
146
- children: [/* @__PURE__ */ B(C, {
144
+ children: [/* @__PURE__ */ B(T, {
147
145
  size: 14,
148
146
  className: "text-text-secondary"
149
147
  }), J.customerInfo.phone]
@@ -166,10 +164,10 @@ function K() {
166
164
  children: J.customerInfo.deliveryInstructions
167
165
  })] })] })]
168
166
  }) })] }),
169
- /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
167
+ /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
170
168
  className: "flex items-center gap-2",
171
- children: [/* @__PURE__ */ B(w, { size: 18 }), "Addresses"]
172
- }) }), /* @__PURE__ */ B(o, { children: /* @__PURE__ */ V("div", {
169
+ children: [/* @__PURE__ */ B(E, { size: 18 }), "Addresses"]
170
+ }) }), /* @__PURE__ */ B(s, { children: /* @__PURE__ */ V("div", {
173
171
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
174
172
  children: [/* @__PURE__ */ V("div", { children: [
175
173
  /* @__PURE__ */ B("h4", {
@@ -181,21 +179,21 @@ function K() {
181
179
  }),
182
180
  /* @__PURE__ */ B("p", {
183
181
  className: "text-sm",
184
- children: L(J.pickupAddress)
182
+ children: R(J.pickupAddress)
185
183
  }),
186
184
  J.scheduledPickup && /* @__PURE__ */ V("p", {
187
185
  className: "text-sm text-text-secondary mt-2",
188
- children: ["Scheduled: ", I(J.scheduledPickup, "full")]
186
+ children: ["Scheduled: ", L(J.scheduledPickup, "full")]
189
187
  }),
190
188
  J.actualPickup && /* @__PURE__ */ V("p", {
191
- className: "text-sm text-green-600 mt-1",
189
+ className: "text-sm text-status-success-text mt-1",
192
190
  children: [
193
- /* @__PURE__ */ B(v, {
191
+ /* @__PURE__ */ B(b, {
194
192
  size: 14,
195
193
  className: "inline mr-1"
196
194
  }),
197
195
  "Picked up: ",
198
- I(J.actualPickup, "full")
196
+ L(J.actualPickup, "full")
199
197
  ]
200
198
  })
201
199
  ] }), /* @__PURE__ */ V("div", { children: [
@@ -208,36 +206,36 @@ function K() {
208
206
  }),
209
207
  /* @__PURE__ */ B("p", {
210
208
  className: "text-sm",
211
- children: L(J.deliveryAddress)
209
+ children: R(J.deliveryAddress)
212
210
  }),
213
211
  J.scheduledDelivery && /* @__PURE__ */ V("p", {
214
212
  className: "text-sm text-text-secondary mt-2",
215
- children: ["Scheduled: ", I(J.scheduledDelivery, "full")]
213
+ children: ["Scheduled: ", L(J.scheduledDelivery, "full")]
216
214
  }),
217
215
  J.actualDelivery && /* @__PURE__ */ V("p", {
218
- className: "text-sm text-green-600 mt-1",
216
+ className: "text-sm text-status-success-text mt-1",
219
217
  children: [
220
- /* @__PURE__ */ B(v, {
218
+ /* @__PURE__ */ B(b, {
221
219
  size: 14,
222
220
  className: "inline mr-1"
223
221
  }),
224
222
  "Delivered: ",
225
- I(J.actualDelivery, "full")
223
+ L(J.actualDelivery, "full")
226
224
  ]
227
225
  })
228
226
  ] })]
229
227
  }) })] }),
230
- /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
228
+ /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
231
229
  className: "flex items-center gap-2",
232
230
  children: [
233
- /* @__PURE__ */ B(T, { size: 18 }),
231
+ /* @__PURE__ */ B(D, { size: 18 }),
234
232
  "Order Items (",
235
233
  J.items.length,
236
234
  ")"
237
235
  ]
238
- }) }), /* @__PURE__ */ B(o, {
236
+ }) }), /* @__PURE__ */ B(s, {
239
237
  className: "p-0",
240
- children: /* @__PURE__ */ V(t, { children: [/* @__PURE__ */ B(n, { children: /* @__PURE__ */ V(p, { children: [
238
+ children: /* @__PURE__ */ V(t, { children: [/* @__PURE__ */ B(n, { children: /* @__PURE__ */ V(h, { children: [
241
239
  /* @__PURE__ */ B(e, { children: "Item" }),
242
240
  /* @__PURE__ */ B(e, { children: "SKU" }),
243
241
  /* @__PURE__ */ B(e, {
@@ -252,7 +250,7 @@ function K() {
252
250
  className: "text-right",
253
251
  children: "Total"
254
252
  })
255
- ] }) }), /* @__PURE__ */ B(r, { children: J.items.map((e) => /* @__PURE__ */ V(p, { children: [
253
+ ] }) }), /* @__PURE__ */ B(r, { children: J.items.map((e) => /* @__PURE__ */ V(h, { children: [
256
254
  /* @__PURE__ */ B(i, { children: /* @__PURE__ */ V("div", { children: [/* @__PURE__ */ B("p", {
257
255
  className: "font-medium",
258
256
  children: e.name
@@ -270,18 +268,18 @@ function K() {
270
268
  }),
271
269
  /* @__PURE__ */ B(i, {
272
270
  className: "text-right",
273
- children: F(e.value)
271
+ children: I(e.value)
274
272
  }),
275
273
  /* @__PURE__ */ B(i, {
276
274
  className: "text-right font-medium",
277
- children: F(e.value * e.quantity)
275
+ children: I(e.value * e.quantity)
278
276
  })
279
277
  ] }, e.id)) })] })
280
278
  })] }),
281
- /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
279
+ /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
282
280
  className: "flex items-center gap-2",
283
- children: [/* @__PURE__ */ B(y, { size: 18 }), "Order Timeline"]
284
- }) }), /* @__PURE__ */ B(o, { children: /* @__PURE__ */ B("div", {
281
+ children: [/* @__PURE__ */ B(x, { size: 18 }), "Order Timeline"]
282
+ }) }), /* @__PURE__ */ B(s, { children: /* @__PURE__ */ B("div", {
285
283
  className: "relative",
286
284
  children: J.timeline.map((e, t) => /* @__PURE__ */ V("div", {
287
285
  className: "flex gap-4 pb-6 last:pb-0",
@@ -293,13 +291,13 @@ function K() {
293
291
  children: [
294
292
  /* @__PURE__ */ V("div", {
295
293
  className: "flex items-center gap-2 mb-1",
296
- children: [/* @__PURE__ */ B(N, {
294
+ children: [/* @__PURE__ */ B(P, {
297
295
  status: e.status,
298
296
  type: "order",
299
297
  size: "sm"
300
298
  }), /* @__PURE__ */ B("span", {
301
299
  className: "text-sm text-text-secondary",
302
- children: I(e.timestamp, "full")
300
+ children: L(e.timestamp, "full")
303
301
  })]
304
302
  }),
305
303
  e.notes && /* @__PURE__ */ B("p", {
@@ -320,7 +318,7 @@ function K() {
320
318
  children: [
321
319
  /* @__PURE__ */ V(H, { children: [/* @__PURE__ */ V("h2", {
322
320
  className: "flex items-center gap-2 text-base font-semibold text-text-primary mb-4",
323
- children: [/* @__PURE__ */ B(b, { size: 18 }), "Order Summary"]
321
+ children: [/* @__PURE__ */ B(S, { size: 18 }), "Order Summary"]
324
322
  }), /* @__PURE__ */ V("div", {
325
323
  className: "space-y-3",
326
324
  children: [
@@ -329,42 +327,42 @@ function K() {
329
327
  children: [/* @__PURE__ */ B("span", {
330
328
  className: "text-text-secondary",
331
329
  children: "Subtotal"
332
- }), /* @__PURE__ */ B("span", { children: F(J.pricing.subtotal) })]
330
+ }), /* @__PURE__ */ B("span", { children: I(J.pricing.subtotal) })]
333
331
  }),
334
332
  /* @__PURE__ */ V("div", {
335
333
  className: "flex justify-between text-sm",
336
334
  children: [/* @__PURE__ */ B("span", {
337
335
  className: "text-text-secondary",
338
336
  children: "Delivery"
339
- }), /* @__PURE__ */ B("span", { children: F(J.pricing.fees.delivery) })]
337
+ }), /* @__PURE__ */ B("span", { children: I(J.pricing.fees.delivery) })]
340
338
  }),
341
339
  /* @__PURE__ */ V("div", {
342
340
  className: "flex justify-between text-sm",
343
341
  children: [/* @__PURE__ */ B("span", {
344
342
  className: "text-text-secondary",
345
343
  children: "Handling"
346
- }), /* @__PURE__ */ B("span", { children: F(J.pricing.fees.handling) })]
344
+ }), /* @__PURE__ */ B("span", { children: I(J.pricing.fees.handling) })]
347
345
  }),
348
346
  J.pricing.fees.insurance && /* @__PURE__ */ V("div", {
349
347
  className: "flex justify-between text-sm",
350
348
  children: [/* @__PURE__ */ B("span", {
351
349
  className: "text-text-secondary",
352
350
  children: "Insurance"
353
- }), /* @__PURE__ */ B("span", { children: F(J.pricing.fees.insurance) })]
351
+ }), /* @__PURE__ */ B("span", { children: I(J.pricing.fees.insurance) })]
354
352
  }),
355
353
  /* @__PURE__ */ V("div", {
356
354
  className: "flex justify-between text-sm",
357
355
  children: [/* @__PURE__ */ B("span", {
358
356
  className: "text-text-secondary",
359
357
  children: "Taxes"
360
- }), /* @__PURE__ */ B("span", { children: F(J.pricing.taxes) })]
358
+ }), /* @__PURE__ */ B("span", { children: I(J.pricing.taxes) })]
361
359
  }),
362
- /* @__PURE__ */ B(g, {}),
360
+ /* @__PURE__ */ B(v, {}),
363
361
  /* @__PURE__ */ V("div", {
364
362
  className: "flex justify-between font-medium",
365
363
  children: [/* @__PURE__ */ B("span", { children: "Total" }), /* @__PURE__ */ B("span", {
366
364
  className: "text-lg",
367
- children: F(J.pricing.total)
365
+ children: I(J.pricing.total)
368
366
  })]
369
367
  }),
370
368
  /* @__PURE__ */ V("div", {
@@ -379,10 +377,10 @@ function K() {
379
377
  })
380
378
  ]
381
379
  })] }),
382
- /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
380
+ /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
383
381
  className: "flex items-center gap-2",
384
- children: [/* @__PURE__ */ B(D, { size: 18 }), "Assignment"]
385
- }) }), /* @__PURE__ */ B(o, { children: /* @__PURE__ */ V("div", {
382
+ children: [/* @__PURE__ */ B(k, { size: 18 }), "Assignment"]
383
+ }) }), /* @__PURE__ */ B(s, { children: /* @__PURE__ */ V("div", {
386
384
  className: "space-y-4",
387
385
  children: [
388
386
  /* @__PURE__ */ V("div", { children: [/* @__PURE__ */ B("p", {
@@ -406,18 +404,18 @@ function K() {
406
404
  className: "text-sm font-mono",
407
405
  children: J.trackingNumber
408
406
  })] }),
409
- /* @__PURE__ */ V(h, {
407
+ /* @__PURE__ */ V(_, {
410
408
  variant: "outline",
411
409
  className: "w-full",
412
410
  onClick: () => Q(`tracking?order=${J.id}`),
413
- children: [/* @__PURE__ */ B(w, { size: 16 }), "Track Order"]
411
+ children: [/* @__PURE__ */ B(E, { size: 16 }), "Track Order"]
414
412
  })
415
413
  ]
416
414
  }) })] }),
417
- J.specialInstructions && /* @__PURE__ */ V(a, { children: [/* @__PURE__ */ B(c, { children: /* @__PURE__ */ V(s, {
415
+ J.specialInstructions && /* @__PURE__ */ V(o, { children: [/* @__PURE__ */ B(l, { children: /* @__PURE__ */ V(c, {
418
416
  className: "flex items-center gap-2",
419
- children: [/* @__PURE__ */ B(x, { size: 18 }), "Special Instructions"]
420
- }) }), /* @__PURE__ */ B(o, { children: /* @__PURE__ */ B("p", {
417
+ children: [/* @__PURE__ */ B(C, { size: 18 }), "Special Instructions"]
418
+ }) }), /* @__PURE__ */ B(s, { children: /* @__PURE__ */ B("p", {
421
419
  className: "text-sm",
422
420
  children: J.specialInstructions
423
421
  }) })] })