@burdenoff/microfe-movethewheels 2026.703.1 → 2026.703.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.
Files changed (72) hide show
  1. package/dist/{AIAssistantPage-C3ovZ0Fh.js → AIAssistantPage-C3cPsWt-.js} +1 -1
  2. package/dist/{AnalyticsPage-O8SpY-V4.js → AnalyticsPage-Dz6g2MvK.js} +6 -6
  3. package/dist/{CreateOrderPage-CB1_-_mN.js → CreateOrderPage-C5iwnjp4.js} +29 -58
  4. package/dist/CustomerDetailsPage-B6nwFyLO.js +406 -0
  5. package/dist/{CustomersPage-DRaLuHMC.js → CustomersPage-BKxMS1AV.js} +5 -5
  6. package/dist/{DashboardPage-DPjhNfKB.js → DashboardPage-BVjQi0EB.js} +11 -11
  7. package/dist/DriverDetailsPage-CN3WQ0B9.js +507 -0
  8. package/dist/{DriversPage-C2Bk0w4Q.js → DriversPage-CH9rjQC-.js} +6 -6
  9. package/dist/{FinancePage-lmp0Sdsw.js → FinancePage-DEDykSOP.js} +5 -5
  10. package/dist/{FleetPage-DZn5pIqd.js → FleetPage-DqkFi3s3.js} +5 -5
  11. package/dist/FormError-BlOjnXOq.js +15 -0
  12. package/dist/{ImportExportPage-BIUJZc7O.js → ImportExportPage-DKJRCezl.js} +1 -1
  13. package/dist/{InventoryPage-Cxh1zYJd.js → InventoryPage-e0ze63iX.js} +6 -6
  14. package/dist/{LiveTrackingPage-BY1yAkIt.js → LiveTrackingPage-DCX-K-LR.js} +5 -5
  15. package/dist/{MarketplacePage-RMuL17EA.js → MarketplacePage-CIQ97_zp.js} +1 -1
  16. package/dist/{OrderDetailsPage-C2Mf4KSy.js → OrderDetailsPage-DYiZ-9UK.js} +5 -5
  17. package/dist/{OrdersListPage-BrPBtnhp.js → OrdersListPage-Cn90P1Xx.js} +4 -4
  18. package/dist/ProductDetailsPage-C9uOiYLp.js +350 -0
  19. package/dist/{ProductsPage-I5DilIoY.js → ProductsPage-QJfHHpqB.js} +4 -4
  20. package/dist/{ReportsPage-BDXNmUng.js → ReportsPage-Zp53q3_8.js} +2 -2
  21. package/dist/RouteDetailsPage-DUStXSf9.js +531 -0
  22. package/dist/{RoutesPage-lqX9ylHP.js → RoutesPage-DMfoicM1.js} +3 -3
  23. package/dist/{SettingsPage-CQVIOaNs.js → SettingsPage-Bn-v0mbQ.js} +1 -1
  24. package/dist/{TrackingPage-BXrjz7V8.js → TrackingPage-W-jtdM3Y.js} +4 -4
  25. package/dist/VehicleDetailsPage-Bceo5oz3.js +410 -0
  26. package/dist/{VehiclesPage-6W39XT5W.js → VehiclesPage-ApKThYeG.js} +5 -5
  27. package/dist/WarehouseDetailsPage-L_6sWigM.js +493 -0
  28. package/dist/{WarehousesPage-CHvBqNaQ.js → WarehousesPage-DCbXXXWE.js} +3 -3
  29. package/dist/index.js +154 -138
  30. package/dist/trash-2-BKhar6Hs.js +32 -0
  31. package/dist/{useFleet-DiAC-IiH.js → useFleet-DKqXZ16m.js} +77 -56
  32. package/dist/{useInventory-DKoks37x.js → useInventory-DkyiVY_A.js} +73 -53
  33. package/dist/{useTracking-GJify4HN.js → useTracking-B-va1kO3.js} +2 -2
  34. package/package.json +1 -1
  35. package/src/movethewheels/MoveTheWheelsRoutes.tsx +4 -0
  36. package/src/movethewheels/components/FormError.tsx +25 -0
  37. package/src/movethewheels/hooks/useFleet.ts +107 -0
  38. package/src/movethewheels/hooks/useInventory.ts +107 -0
  39. package/src/movethewheels/pages/CustomerDetailsPage.tsx +153 -20
  40. package/src/movethewheels/pages/CustomersPage.tsx +1 -1
  41. package/src/movethewheels/pages/DriverDetailsPage.tsx +159 -2
  42. package/src/movethewheels/pages/DriversPage.tsx +6 -2
  43. package/src/movethewheels/pages/InventoryPage.tsx +1 -1
  44. package/src/movethewheels/pages/OrdersListPage.tsx +1 -1
  45. package/src/movethewheels/pages/ProductDetailsPage.tsx +146 -3
  46. package/src/movethewheels/pages/ProductsPage.tsx +6 -2
  47. package/src/movethewheels/pages/RouteDetailsPage.tsx +285 -25
  48. package/src/movethewheels/pages/VehicleDetailsPage.tsx +158 -2
  49. package/src/movethewheels/pages/VehiclesPage.tsx +6 -2
  50. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +224 -2
  51. package/src/movethewheels/pages/WarehousesPage.tsx +5 -1
  52. package/dist/CustomerDetailsPage-BaeKEI1D.js +0 -263
  53. package/dist/DriverDetailsPage-CSSQTOzn.js +0 -328
  54. package/dist/ProductDetailsPage-CezzzZcj.js +0 -193
  55. package/dist/RouteDetailsPage-BcomL20M.js +0 -263
  56. package/dist/VehicleDetailsPage-DZjLcJgr.js +0 -218
  57. package/dist/WarehouseDetailsPage-C10pgRGW.js +0 -236
  58. /package/dist/{MetricCard-7aYgzZHK.js → MetricCard-BY0QrMD4.js} +0 -0
  59. /package/dist/{StatusBadge-NpTeHVlw.js → StatusBadge-BZurYHMy.js} +0 -0
  60. /package/dist/{formatters-DhKZ-eA1.js → formatters-CF2S2l1m.js} +0 -0
  61. /package/dist/{trending-up-B7W-GL6P.js → trending-up-Dohgd4t_.js} +0 -0
  62. /package/dist/{triangle-alert-BonHFFNz.js → triangle-alert-i-XQL9Rd.js} +0 -0
  63. /package/dist/{truck-DrlfSpRC.js → truck-C0v_hbLR.js} +0 -0
  64. /package/dist/{useAnalytics-CgdzUfY_.js → useAnalytics-DS8n0xgg.js} +0 -0
  65. /package/dist/{useCustomers-QrlozybF.js → useCustomers-BmTNGxiI.js} +0 -0
  66. /package/dist/{useImportExport-BLMnAKCC.js → useImportExport-DHr-SWSw.js} +0 -0
  67. /package/dist/{useOrders-D3UZVy8Y.js → useOrders-Cfk1GLiq.js} +0 -0
  68. /package/dist/{useReports-Puq4DCH9.js → useReports-CTqZr-AB.js} +0 -0
  69. /package/dist/{useRoutes-Do57LvRb.js → useRoutes-BQWO607N.js} +0 -0
  70. /package/dist/{user-CjSoudeu.js → user-jyFU3lXk.js} +0 -0
  71. /package/dist/{users-BAM4gHTn.js → users-DZ-ilS6B.js} +0 -0
  72. /package/dist/{warehouse-C7MSr47B.js → warehouse-6m5kXMLu.js} +0 -0
@@ -1,236 +0,0 @@
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 "./box-D9Pal4HM.js";
4
- import { t as m } from "./clock-DJZtdl8u.js";
5
- import { t as h } from "./map-pin-BGiCvyCs.js";
6
- import { t as g } from "./square-pen-CopE9GmB.js";
7
- import { t as _ } from "./users-BAM4gHTn.js";
8
- import { t as v } from "./warehouse-C7MSr47B.js";
9
- import { a as y } from "./useInventory-DKoks37x.js";
10
- import { t as b } from "./formatters-DhKZ-eA1.js";
11
- import { useParams as x } from "react-router-dom";
12
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
13
- import { EmphasisPanel as w, NextSteps as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
14
- //#region src/movethewheels/pages/WarehouseDetailsPage.tsx
15
- function D() {
16
- let { warehouseId: D } = x(), { basePath: O, navigate: k } = l(), { warehouse: A, isLoading: j, error: M, refetch: N } = y(D), P = () => k?.(t(O, "inventory/warehouses")), F = (e) => k?.(t(O, e));
17
- if (j) return /* @__PURE__ */ S(u, { message: "Loading warehouse details..." });
18
- if (M || !A) return /* @__PURE__ */ S(c, {
19
- title: "Warehouse not found",
20
- onRetry: N
21
- });
22
- let I = A.capacity.usedSpace / A.capacity.totalSpace * 100;
23
- return /* @__PURE__ */ C(o, {
24
- title: A.name,
25
- subtitle: `Code: ${A.code}`,
26
- icon: /* @__PURE__ */ S(v, { size: 24 }),
27
- headerActions: /* @__PURE__ */ C("div", {
28
- className: "flex gap-2",
29
- children: [/* @__PURE__ */ C(d, {
30
- variant: "outline",
31
- onClick: P,
32
- children: [/* @__PURE__ */ S(f, { size: 16 }), " Back"]
33
- }), /* @__PURE__ */ C(d, { children: [/* @__PURE__ */ S(g, { size: 16 }), " Edit"] })]
34
- }),
35
- headerContent: /* @__PURE__ */ C("div", {
36
- className: "flex gap-2",
37
- children: [/* @__PURE__ */ S(s, {
38
- variant: A.isActive ? "default" : "secondary",
39
- children: A.isActive ? "Active" : "Inactive"
40
- }), /* @__PURE__ */ S(s, {
41
- variant: "outline",
42
- className: "capitalize",
43
- children: A.type.replace("_", " ")
44
- })]
45
- }),
46
- children: [
47
- /* @__PURE__ */ S(E, {
48
- icon: /* @__PURE__ */ S(v, { size: 18 }),
49
- children: "A storage and fulfilment site at a glance — how full it is, its zones, operating hours, throughput and staff. Use it to decide whether this warehouse has the space and hours to fulfil an order, and where stock is running tight."
50
- }),
51
- /* @__PURE__ */ S(T, {
52
- storageKey: "movethewheels-warehouse-details",
53
- steps: [{
54
- id: "inventory",
55
- label: "Review stock here",
56
- description: "See which products are stored at this site.",
57
- icon: /* @__PURE__ */ S(p, { size: 16 }),
58
- onClick: () => F("inventory/products")
59
- }, {
60
- id: "fulfil",
61
- label: "Fulfil an order from this site",
62
- description: "Pick a pending order to ship out of this warehouse.",
63
- icon: /* @__PURE__ */ S(h, { size: 16 }),
64
- onClick: () => F("orders")
65
- }]
66
- }),
67
- /* @__PURE__ */ C("div", {
68
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
69
- children: [/* @__PURE__ */ C("div", {
70
- className: "lg:col-span-2 space-y-6",
71
- children: [
72
- /* @__PURE__ */ C(w, { children: [/* @__PURE__ */ C("h2", {
73
- className: "flex items-center gap-2 text-base font-semibold text-text-primary mb-4",
74
- children: [/* @__PURE__ */ S(p, { size: 18 }), " Capacity"]
75
- }), /* @__PURE__ */ C("div", {
76
- className: "space-y-4",
77
- children: [/* @__PURE__ */ C("div", { children: [
78
- /* @__PURE__ */ C("div", {
79
- className: "flex justify-between text-sm mb-2",
80
- children: [/* @__PURE__ */ S("span", { children: "Space Utilization" }), /* @__PURE__ */ C("span", { children: [I.toFixed(0), "%"] })]
81
- }),
82
- /* @__PURE__ */ S(e, { value: I }),
83
- /* @__PURE__ */ C("p", {
84
- className: "text-sm text-text-secondary mt-1",
85
- children: [
86
- A.capacity.usedSpace.toLocaleString(),
87
- " /",
88
- " ",
89
- A.capacity.totalSpace.toLocaleString(),
90
- " sq ft"
91
- ]
92
- })
93
- ] }), /* @__PURE__ */ S("div", {
94
- className: "grid grid-cols-2 gap-4",
95
- children: /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
96
- className: "text-sm text-text-secondary",
97
- children: "Pallets Used"
98
- }), /* @__PURE__ */ C("p", {
99
- className: "text-2xl font-bold",
100
- children: [A.capacity.usedPallets, /* @__PURE__ */ C("span", {
101
- className: "text-sm font-normal text-text-secondary",
102
- children: [
103
- " ",
104
- "/ ",
105
- A.capacity.totalPallets
106
- ]
107
- })]
108
- })] })
109
- })]
110
- })] }),
111
- /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ C(i, { children: [
112
- "Zones (",
113
- A.zones.length,
114
- ")"
115
- ] }) }), /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S("div", {
116
- className: "space-y-3",
117
- children: A.zones.map((t) => /* @__PURE__ */ C("div", {
118
- className: "flex items-center justify-between p-3 border rounded-lg",
119
- children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
120
- className: "font-medium",
121
- children: t.name
122
- }), /* @__PURE__ */ C("p", {
123
- className: "text-sm text-text-secondary capitalize",
124
- children: [
125
- t.type,
126
- " - ",
127
- t.location
128
- ]
129
- })] }), /* @__PURE__ */ C("div", {
130
- className: "text-right",
131
- children: [/* @__PURE__ */ S(e, {
132
- value: t.currentOccupancy / t.capacity * 100,
133
- className: "w-24 h-2"
134
- }), /* @__PURE__ */ C("p", {
135
- className: "text-sm text-text-secondary",
136
- children: [
137
- t.currentOccupancy,
138
- " / ",
139
- t.capacity
140
- ]
141
- })]
142
- })]
143
- }, t.id))
144
- }) })] }),
145
- /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ C(i, {
146
- className: "flex items-center gap-2",
147
- children: [/* @__PURE__ */ S(m, { size: 18 }), " Operating Hours"]
148
- }) }), /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S("div", {
149
- className: "grid grid-cols-2 md:grid-cols-4 gap-4",
150
- children: Object.entries(A.operatingHours).map(([e, t]) => /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
151
- className: "text-sm font-medium",
152
- children: e
153
- }), /* @__PURE__ */ S("p", {
154
- className: "text-sm text-text-secondary",
155
- children: t ? `${t.open} - ${t.close}` : "Closed"
156
- })] }, e))
157
- }) })] })
158
- ]
159
- }), /* @__PURE__ */ C("div", {
160
- className: "space-y-6",
161
- children: [
162
- /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ C(i, {
163
- className: "flex items-center gap-2",
164
- children: [/* @__PURE__ */ S(h, { size: 18 }), " Location"]
165
- }) }), /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S("p", {
166
- className: "text-sm",
167
- children: b(A.address)
168
- }) })] }),
169
- /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ S(i, { children: "Metrics" }) }), /* @__PURE__ */ C(r, {
170
- className: "space-y-3",
171
- children: [
172
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
173
- className: "text-sm text-text-secondary",
174
- children: "Throughput"
175
- }), /* @__PURE__ */ C("p", {
176
- className: "text-2xl font-bold",
177
- children: [A.metrics.throughput, /* @__PURE__ */ S("span", {
178
- className: "text-sm font-normal",
179
- children: " orders/day"
180
- })]
181
- })] }),
182
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
183
- className: "text-sm text-text-secondary",
184
- children: "Accuracy"
185
- }), /* @__PURE__ */ C("p", {
186
- className: "text-2xl font-bold",
187
- children: [A.metrics.accuracy, "%"]
188
- })] }),
189
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
190
- className: "text-sm text-text-secondary",
191
- children: "Productivity"
192
- }), /* @__PURE__ */ C("p", {
193
- className: "text-2xl font-bold",
194
- children: [A.metrics.productivity, "%"]
195
- })] }),
196
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
197
- className: "text-sm text-text-secondary",
198
- children: "Orders Fulfilled"
199
- }), /* @__PURE__ */ S("p", {
200
- className: "text-2xl font-bold",
201
- children: A.metrics.ordersFulfilled.toLocaleString()
202
- })] })
203
- ]
204
- })] }),
205
- /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(a, { children: /* @__PURE__ */ C(i, {
206
- className: "flex items-center gap-2",
207
- children: [
208
- /* @__PURE__ */ S(_, { size: 18 }),
209
- " Staff (",
210
- A.staff.length,
211
- ")"
212
- ]
213
- }) }), /* @__PURE__ */ S(r, { children: A.staff.length > 0 ? /* @__PURE__ */ S("div", {
214
- className: "space-y-2",
215
- children: A.staff.map((e, t) => /* @__PURE__ */ C("div", {
216
- className: "flex items-center justify-between p-2 border rounded",
217
- children: [/* @__PURE__ */ S("span", {
218
- className: "text-sm capitalize",
219
- children: e.role
220
- }), /* @__PURE__ */ S(s, {
221
- variant: "outline",
222
- children: e.shift
223
- })]
224
- }, t))
225
- }) : /* @__PURE__ */ S("p", {
226
- className: "text-text-secondary",
227
- children: "No staff assigned"
228
- }) })] })
229
- ]
230
- })]
231
- })
232
- ]
233
- });
234
- }
235
- //#endregion
236
- export { D as default };
File without changes
File without changes
File without changes