@burdenoff/microfe-movethewheels 2026.624.1 → 2026.626.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 (119) hide show
  1. package/dist/{AIAssistantPage-BrHX2lQn.js → AIAssistantPage-AvsMbunM.js} +39 -33
  2. package/dist/{AnalyticsPage-DI6Wcaw5.js → AnalyticsPage-CCLfHgQZ.js} +44 -33
  3. package/dist/CreateOrderPage-CjlnEtk3.js +510 -0
  4. package/dist/CustomerDetailsPage-I6cdDHUi.js +265 -0
  5. package/dist/CustomersPage-CGGfD4ki.js +163 -0
  6. package/dist/{DashboardPage-3ZOnwg1a.js → DashboardPage-D2HRqwg9.js} +122 -111
  7. package/dist/DataTable-CD9ZhpLB.js +249 -0
  8. package/dist/DriverDetailsPage-rg_pGNuP.js +330 -0
  9. package/dist/DriversPage-DKiynISH.js +167 -0
  10. package/dist/FinancePage-Vg8WPs38.js +158 -0
  11. package/dist/{FleetPage-CPS7r4J3.js → FleetPage-DddXt8r8.js} +124 -85
  12. package/dist/ImportExportPage-BW6qO3kc.js +248 -0
  13. package/dist/InventoryPage-rMGuaJN-.js +222 -0
  14. package/dist/LiveTrackingPage-DQ1q4Id3.js +375 -0
  15. package/dist/MarketplacePage-DKrXAv62.js +219 -0
  16. package/dist/MetricCard-B7yMyvMX.js +146 -0
  17. package/dist/OrderDetailsPage-CFASgsYX.js +431 -0
  18. package/dist/OrdersListPage-BHeT8S5o.js +309 -0
  19. package/dist/{PageLayout-xDTiBTDS.js → PageLayout-D3N8MCTm.js} +213 -195
  20. package/dist/ProductDetailsPage-CFGcbaHo.js +195 -0
  21. package/dist/ProductsPage--xEpbQ8A.js +171 -0
  22. package/dist/{ReportsPage-B8OyWGzl.js → ReportsPage-Bb7_90rK.js} +57 -49
  23. package/dist/RouteDetailsPage-CVtDVb1N.js +282 -0
  24. package/dist/RoutesPage-s57PtgcQ.js +163 -0
  25. package/dist/SettingsPage-BYNCBOpN.js +298 -0
  26. package/dist/{StatusBadge-C--7NhoW.js → StatusBadge-CijYQXtb.js} +5 -2
  27. package/dist/{TrackingPage-BldUm_g7.js → TrackingPage-CcRc_dva.js} +88 -83
  28. package/dist/VehicleDetailsPage-3YDMPsPs.js +220 -0
  29. package/dist/VehiclesPage-UlxPWP9K.js +167 -0
  30. package/dist/WarehouseDetailsPage-Db7KeN-d.js +238 -0
  31. package/dist/WarehousesPage-CuTO-OPp.js +164 -0
  32. package/dist/{arrow-left-Bk5GsGNk.js → arrow-left-CBpZKkpq.js} +1 -1
  33. package/dist/{box-BAMv2-7M.js → box-CAaiElsb.js} +1 -1
  34. package/dist/{chart-column-CAfkf4o6.js → chart-column-D1Ym15-S.js} +1 -1
  35. package/dist/{chevron-right-Czrt_Qew.js → chevron-right-BIFGi0UA.js} +1 -1
  36. package/dist/{circle-alert-CEuV9Pij.js → circle-alert-DjmNo5_L.js} +1 -1
  37. package/dist/{circle-check-big-Cx8aO6B-.js → circle-check-big-CjuPVo3_.js} +1 -1
  38. package/dist/{clock-Be95bq7_.js → clock-BjkdnddD.js} +1 -1
  39. package/dist/{dollar-sign-kJqItPli.js → dollar-sign-IB4O0wuQ.js} +1 -1
  40. package/dist/{download-caab0D3V.js → download-Dpa9vqoG.js} +1 -1
  41. package/dist/{file-text-b1qhrJn1.js → file-text-C8Uioy11.js} +1 -1
  42. package/dist/{filter-BWmLTZB-.js → filter-Da5OZaHI.js} +1 -1
  43. package/dist/index.js +16 -16
  44. package/dist/{map-CS2aFgyO.js → map-_Per4sT9.js} +1 -1
  45. package/dist/{map-pin-96FeqL7H.js → map-pin-BSaf5IDL.js} +1 -1
  46. package/dist/{navigation-i6UXEjTC.js → navigation-DaTbrhw2.js} +1 -1
  47. package/dist/{package-KhSi3xaT.js → package-BE7U0wQE.js} +1 -1
  48. package/dist/{phone-B-h3tbsr.js → phone-DV4StZiA.js} +1 -1
  49. package/dist/{plus-D2BYAzMn.js → plus-Dl1rLeJR.js} +1 -1
  50. package/dist/{refresh-cw-D5Sy01s-.js → refresh-cw-CWfERAit.js} +1 -1
  51. package/dist/{route-CBDXuwH9.js → route-Dp9JiN_E.js} +1 -1
  52. package/dist/{save-CMc7h-Vi.js → save-XH8vydOn.js} +1 -1
  53. package/dist/{search-DVrUQbOg.js → search-OxoIiL_C.js} +1 -1
  54. package/dist/{settings-BwzIRYv3.js → settings-3Rw5NwFF.js} +1 -1
  55. package/dist/{square-pen-DmW36Bau.js → square-pen-hLIbFQFV.js} +1 -1
  56. package/dist/{star-Cv2MzxZL.js → star-YsVV3MNQ.js} +1 -1
  57. package/dist/{store-CLH957vl.js → store-RCBl7HB-.js} +1 -1
  58. package/dist/{trending-up-l8M0BO_w.js → trending-up-C-85AwGT.js} +1 -1
  59. package/dist/{triangle-alert-BI45s6bH.js → triangle-alert-BOhfGgmh.js} +1 -1
  60. package/dist/{truck-DX3lNQkz.js → truck-CtDjNFbi.js} +1 -1
  61. package/dist/{user-D8EY1uvt.js → user-Dz5TJZFs.js} +1 -1
  62. package/dist/{users-CfG0J8wP.js → users-g2N0eL-Z.js} +1 -1
  63. package/dist/{warehouse-Dt_bAr82.js → warehouse-D3WWDeTX.js} +1 -1
  64. package/dist/{wrench-C50eI_Iy.js → wrench-CmxY1n4I.js} +1 -1
  65. package/package.json +2 -2
  66. package/src/movethewheels/components/DataTable.tsx +41 -6
  67. package/src/movethewheels/components/MetricCard.tsx +51 -20
  68. package/src/movethewheels/components/PageLayout.tsx +60 -5
  69. package/src/movethewheels/components/StatusBadge.tsx +2 -1
  70. package/src/movethewheels/pages/AIAssistantPage.tsx +11 -3
  71. package/src/movethewheels/pages/AnalyticsPage.tsx +31 -25
  72. package/src/movethewheels/pages/CreateOrderPage.tsx +56 -17
  73. package/src/movethewheels/pages/CustomerDetailsPage.tsx +63 -38
  74. package/src/movethewheels/pages/CustomersPage.tsx +51 -12
  75. package/src/movethewheels/pages/DashboardPage.tsx +62 -48
  76. package/src/movethewheels/pages/DriverDetailsPage.tsx +57 -26
  77. package/src/movethewheels/pages/DriversPage.tsx +45 -12
  78. package/src/movethewheels/pages/FinancePage.tsx +45 -41
  79. package/src/movethewheels/pages/FleetPage.tsx +82 -34
  80. package/src/movethewheels/pages/ImportExportPage.tsx +46 -29
  81. package/src/movethewheels/pages/InventoryPage.tsx +37 -33
  82. package/src/movethewheels/pages/LiveTrackingPage.tsx +58 -20
  83. package/src/movethewheels/pages/MarketplacePage.tsx +37 -3
  84. package/src/movethewheels/pages/OrderDetailsPage.tsx +74 -46
  85. package/src/movethewheels/pages/OrdersListPage.tsx +81 -14
  86. package/src/movethewheels/pages/ProductDetailsPage.tsx +36 -11
  87. package/src/movethewheels/pages/ProductsPage.tsx +41 -12
  88. package/src/movethewheels/pages/ReportsPage.tsx +23 -19
  89. package/src/movethewheels/pages/RouteDetailsPage.tsx +71 -31
  90. package/src/movethewheels/pages/RoutesPage.tsx +48 -9
  91. package/src/movethewheels/pages/SettingsPage.tsx +68 -26
  92. package/src/movethewheels/pages/TrackingPage.tsx +52 -49
  93. package/src/movethewheels/pages/VehicleDetailsPage.tsx +49 -24
  94. package/src/movethewheels/pages/VehiclesPage.tsx +41 -15
  95. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +55 -30
  96. package/src/movethewheels/pages/WarehousesPage.tsx +46 -9
  97. package/dist/CreateOrderPage-DfkSi6JF.js +0 -471
  98. package/dist/CustomerDetailsPage-DzAIu_tH.js +0 -239
  99. package/dist/CustomersPage-d21ixOYa.js +0 -119
  100. package/dist/DataTable-CZGz3SJu.js +0 -239
  101. package/dist/DriverDetailsPage-YuZSlPSV.js +0 -297
  102. package/dist/DriversPage-BOhqEBTv.js +0 -127
  103. package/dist/FinancePage-CnjUNXOb.js +0 -154
  104. package/dist/ImportExportPage-zNjs7xsV.js +0 -232
  105. package/dist/InventoryPage-C9g5d3SW.js +0 -223
  106. package/dist/LiveTrackingPage-DoBvtdBG.js +0 -332
  107. package/dist/MarketplacePage-BEj5hcBF.js +0 -192
  108. package/dist/MetricCard-DeHVeVwl.js +0 -135
  109. package/dist/OrderDetailsPage-D-9lDZYU.js +0 -398
  110. package/dist/OrdersListPage-CJzHbgY3.js +0 -257
  111. package/dist/ProductDetailsPage-3rKtzXpy.js +0 -168
  112. package/dist/ProductsPage-B0P_wjBJ.js +0 -131
  113. package/dist/RouteDetailsPage-DGjKTUMj.js +0 -240
  114. package/dist/RoutesPage-CpopY8xN.js +0 -116
  115. package/dist/SettingsPage-BvXSa3gi.js +0 -247
  116. package/dist/VehicleDetailsPage-Dqv--MVW.js +0 -194
  117. package/dist/VehiclesPage-CCBHRDHu.js +0 -127
  118. package/dist/WarehouseDetailsPage-ZObC_c7W.js +0 -215
  119. package/dist/WarehousesPage-CpgZEVW9.js +0 -121
@@ -1,332 +0,0 @@
1
- import { J as e, N as t, X as n, Z as r, d as i, f as a, g as o, h as s, i as c, it as l, l as u, u as d } from "./PageLayout-xDTiBTDS.js";
2
- import { t as f } from "./map-pin-96FeqL7H.js";
3
- import { t as p } from "./map-CS2aFgyO.js";
4
- import { t as m } from "./package-KhSi3xaT.js";
5
- import { t as h } from "./refresh-cw-D5Sy01s-.js";
6
- import { t as g } from "./truck-DX3lNQkz.js";
7
- import { r as _ } from "./graphqlClient-CdJyR_ed.js";
8
- import { o as v, r as y } from "./useTracking-De2KIUNu.js";
9
- import { r as b, t as x } from "./MetricCard-DeHVeVwl.js";
10
- import { r as S } from "./StatusBadge-C--7NhoW.js";
11
- import { r as C } from "./formatters-_vJlC-47.js";
12
- import { t as w } from "./navigation-BgnOfsVd.js";
13
- import { useState as T } from "react";
14
- import { jsx as E, jsxs as D } from "react/jsx-runtime";
15
- //#region node_modules/lucide-react/dist/esm/icons/list.js
16
- var O = l("List", [
17
- ["path", {
18
- d: "M3 12h.01",
19
- key: "nlz23k"
20
- }],
21
- ["path", {
22
- d: "M3 18h.01",
23
- key: "1tta3j"
24
- }],
25
- ["path", {
26
- d: "M3 6h.01",
27
- key: "1rqtza"
28
- }],
29
- ["path", {
30
- d: "M8 12h13",
31
- key: "1za7za"
32
- }],
33
- ["path", {
34
- d: "M8 18h13",
35
- key: "1lx6n3"
36
- }],
37
- ["path", {
38
- d: "M8 6h13",
39
- key: "ik3vkj"
40
- }]
41
- ]);
42
- //#endregion
43
- //#region src/movethewheels/pages/LiveTrackingPage.tsx
44
- function k() {
45
- let { basePath: l, navigate: k } = _(), { activeDeliveries: A, isLoading: j, refetch: M } = y(), { unacknowledgedAlerts: N } = v(), [P, F] = T("map"), [I, L] = T(null), R = (e) => {
46
- k && k(w(l, e));
47
- }, z = I ? A.find((e) => e.order?.id === I) : null;
48
- return /* @__PURE__ */ D(c, {
49
- title: "Live Tracking",
50
- subtitle: `${A.length} active deliveries`,
51
- icon: /* @__PURE__ */ E(f, { size: 24 }),
52
- headerActions: /* @__PURE__ */ D("div", {
53
- className: "flex gap-2",
54
- children: [/* @__PURE__ */ D(d, {
55
- variant: "outline",
56
- onClick: M,
57
- disabled: j,
58
- children: [/* @__PURE__ */ E(h, {
59
- size: 16,
60
- className: j ? "animate-spin" : ""
61
- }), "Refresh"]
62
- }), /* @__PURE__ */ E(e, {
63
- value: P,
64
- onValueChange: (e) => F(e),
65
- children: /* @__PURE__ */ D(n, { children: [/* @__PURE__ */ E(r, {
66
- value: "map",
67
- children: /* @__PURE__ */ E(p, { size: 16 })
68
- }), /* @__PURE__ */ E(r, {
69
- value: "list",
70
- children: /* @__PURE__ */ E(O, { size: 16 })
71
- })] })
72
- })]
73
- }),
74
- children: [/* @__PURE__ */ D(b, {
75
- columns: 4,
76
- children: [
77
- /* @__PURE__ */ E(x, {
78
- size: "sm",
79
- label: "Active Deliveries",
80
- value: A.length,
81
- icon: /* @__PURE__ */ E(g, { size: 18 })
82
- }),
83
- /* @__PURE__ */ E(x, {
84
- size: "sm",
85
- label: "In Transit",
86
- value: A.filter((e) => e.order?.status === "in_transit").length,
87
- icon: /* @__PURE__ */ E(m, { size: 18 })
88
- }),
89
- /* @__PURE__ */ E(x, {
90
- size: "sm",
91
- label: "Out for Delivery",
92
- value: A.filter((e) => e.order?.status === "out_for_delivery").length,
93
- icon: /* @__PURE__ */ E(f, { size: 18 })
94
- }),
95
- /* @__PURE__ */ E(x, {
96
- size: "sm",
97
- label: "Alerts",
98
- value: N.length,
99
- changeType: N.length > 0 ? "negative" : "neutral"
100
- })
101
- ]
102
- }), /* @__PURE__ */ D("div", {
103
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
104
- children: [/* @__PURE__ */ E("div", {
105
- className: "lg:col-span-2",
106
- children: P === "map" ? /* @__PURE__ */ E(i, {
107
- className: "h-[600px]",
108
- children: /* @__PURE__ */ E(a, {
109
- className: "p-0 h-full",
110
- children: /* @__PURE__ */ E("div", {
111
- className: "w-full h-full bg-bg-sunken rounded-lg flex items-center justify-center",
112
- children: /* @__PURE__ */ D("div", {
113
- className: "text-center text-text-secondary",
114
- children: [
115
- /* @__PURE__ */ E(f, {
116
- size: 64,
117
- className: "mx-auto mb-4 opacity-50"
118
- }),
119
- /* @__PURE__ */ E("p", {
120
- className: "text-lg font-medium",
121
- children: "Map View"
122
- }),
123
- /* @__PURE__ */ D("p", {
124
- className: "text-sm",
125
- children: [
126
- "Interactive map showing ",
127
- A.length,
128
- " active deliveries"
129
- ]
130
- }),
131
- /* @__PURE__ */ E("p", {
132
- className: "text-xs mt-2",
133
- children: "(Map integration with Mapbox/Google Maps would go here)"
134
- })
135
- ]
136
- })
137
- })
138
- })
139
- }) : /* @__PURE__ */ D(i, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(o, { children: "Active Deliveries" }) }), /* @__PURE__ */ E(a, {
140
- className: "p-0",
141
- children: /* @__PURE__ */ E(t, {
142
- className: "h-[550px]",
143
- children: /* @__PURE__ */ D("div", {
144
- className: "divide-y",
145
- children: [A.map((e) => e.order ? /* @__PURE__ */ E("div", {
146
- className: `p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors ${I === e.order.id ? "bg-bg-sunken/50" : ""}`,
147
- onClick: () => L(e.order.id),
148
- children: /* @__PURE__ */ D("div", {
149
- className: "flex items-start justify-between",
150
- children: [/* @__PURE__ */ D("div", { children: [
151
- /* @__PURE__ */ D("div", {
152
- className: "flex items-center gap-2 mb-1",
153
- children: [/* @__PURE__ */ E("span", {
154
- className: "font-medium",
155
- children: e.order.orderNumber
156
- }), /* @__PURE__ */ E(S, {
157
- status: e.order.status,
158
- type: "order",
159
- size: "sm"
160
- })]
161
- }),
162
- /* @__PURE__ */ E("p", {
163
- className: "text-sm text-text-secondary",
164
- children: e.order.customerInfo.name
165
- }),
166
- /* @__PURE__ */ D("p", {
167
- className: "text-sm text-text-secondary",
168
- children: [e.driver?.fullName || "Unassigned", e.vehicle && ` - ${e.vehicle.vehicleNumber}`]
169
- })
170
- ] }), /* @__PURE__ */ D("div", {
171
- className: "text-right",
172
- children: [/* @__PURE__ */ D("p", {
173
- className: "text-sm font-medium",
174
- children: [
175
- "ETA:",
176
- " ",
177
- e.estimatedArrival ? C(e.estimatedArrival, "time") : "N/A"
178
- ]
179
- }), /* @__PURE__ */ E("p", {
180
- className: "text-xs text-text-secondary",
181
- children: e.tracking?.currentLocation.address || "Location updating..."
182
- })]
183
- })]
184
- })
185
- }, e.order.id) : null), A.length === 0 && /* @__PURE__ */ E("div", {
186
- className: "p-8 text-center text-text-secondary",
187
- children: "No active deliveries"
188
- })]
189
- })
190
- })
191
- })] })
192
- }), /* @__PURE__ */ D("div", {
193
- className: "space-y-6",
194
- children: [
195
- z ? /* @__PURE__ */ D(i, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ D("div", {
196
- className: "flex items-center justify-between",
197
- children: [/* @__PURE__ */ E(o, { children: "Delivery Details" }), /* @__PURE__ */ E(d, {
198
- variant: "ghost",
199
- size: "sm",
200
- onClick: () => L(null),
201
- children: "Clear"
202
- })]
203
- }) }), /* @__PURE__ */ D(a, {
204
- className: "space-y-4",
205
- children: [
206
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
207
- className: "text-sm text-text-secondary",
208
- children: "Order"
209
- }), /* @__PURE__ */ E("p", {
210
- className: "font-medium",
211
- children: z.order?.orderNumber ?? "-"
212
- })] }),
213
- /* @__PURE__ */ D("div", { children: [
214
- /* @__PURE__ */ E("p", {
215
- className: "text-sm text-text-secondary",
216
- children: "Customer"
217
- }),
218
- /* @__PURE__ */ E("p", {
219
- className: "font-medium",
220
- children: z.order?.customerInfo.name ?? "-"
221
- }),
222
- /* @__PURE__ */ E("p", {
223
- className: "text-sm text-text-secondary",
224
- children: z.order?.customerInfo.phone ?? "-"
225
- })
226
- ] }),
227
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
228
- className: "text-sm text-text-secondary",
229
- children: "Driver"
230
- }), /* @__PURE__ */ E("p", {
231
- className: "font-medium",
232
- children: z.driver?.fullName || "Unassigned"
233
- })] }),
234
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
235
- className: "text-sm text-text-secondary",
236
- children: "Vehicle"
237
- }), /* @__PURE__ */ E("p", {
238
- className: "font-medium",
239
- children: z.vehicle ? `${z.vehicle.vehicleNumber} - ${z.vehicle.make} ${z.vehicle.model}` : "Not assigned"
240
- })] }),
241
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
242
- className: "text-sm text-text-secondary",
243
- children: "Current Location"
244
- }), /* @__PURE__ */ E("p", {
245
- className: "text-sm",
246
- children: z.tracking?.currentLocation.address || "Updating..."
247
- })] }),
248
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
249
- className: "text-sm text-text-secondary",
250
- children: "Estimated Arrival"
251
- }), /* @__PURE__ */ E("p", {
252
- className: "font-medium",
253
- children: z.estimatedArrival ? C(z.estimatedArrival, "full") : "Calculating..."
254
- })] }),
255
- /* @__PURE__ */ D("div", {
256
- className: "pt-2 space-y-2",
257
- children: [/* @__PURE__ */ E(d, {
258
- className: "w-full",
259
- onClick: () => z.order && R(`orders/${z.order.id}`),
260
- disabled: !z.order,
261
- children: "View Order"
262
- }), /* @__PURE__ */ E(d, {
263
- variant: "outline",
264
- className: "w-full",
265
- onClick: () => z.order && R(`tracking?order=${z.order.id}`),
266
- disabled: !z.order,
267
- children: "Track Details"
268
- })]
269
- })
270
- ]
271
- })] }) : /* @__PURE__ */ E(i, { children: /* @__PURE__ */ D(a, {
272
- className: "p-8 text-center text-text-secondary",
273
- children: [/* @__PURE__ */ E(f, {
274
- size: 32,
275
- className: "mx-auto mb-2 opacity-50"
276
- }), /* @__PURE__ */ E("p", { children: "Select a delivery to see details" })]
277
- }) }),
278
- /* @__PURE__ */ D(i, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ D(o, {
279
- className: "flex items-center gap-2",
280
- children: ["Alerts", N.length > 0 && /* @__PURE__ */ E(u, {
281
- variant: "destructive",
282
- children: N.length
283
- })]
284
- }) }), /* @__PURE__ */ E(a, { children: N.length > 0 ? /* @__PURE__ */ E("div", {
285
- className: "space-y-3",
286
- children: N.slice(0, 5).map((e) => /* @__PURE__ */ D("div", {
287
- className: `p-3 rounded-lg text-sm ${e.severity === "critical" || e.severity === "high" ? "bg-red-50 dark:bg-red-900/20" : "bg-yellow-50 dark:bg-yellow-900/20"}`,
288
- children: [/* @__PURE__ */ E("p", {
289
- className: "font-medium",
290
- children: e.message
291
- }), /* @__PURE__ */ E("p", {
292
- className: "text-xs text-text-secondary mt-1",
293
- children: C(e.timestamp, "relative")
294
- })]
295
- }, e.id))
296
- }) : /* @__PURE__ */ E("div", {
297
- className: "text-center text-text-secondary py-4",
298
- children: /* @__PURE__ */ E("p", {
299
- className: "text-sm",
300
- children: "No active alerts"
301
- })
302
- }) })] }),
303
- /* @__PURE__ */ D(i, { children: [/* @__PURE__ */ E(s, { children: /* @__PURE__ */ E(o, { children: "Quick Actions" }) }), /* @__PURE__ */ D(a, {
304
- className: "space-y-2",
305
- children: [
306
- /* @__PURE__ */ D(d, {
307
- variant: "outline",
308
- className: "w-full",
309
- onClick: () => R("orders/new"),
310
- children: [/* @__PURE__ */ E(m, { size: 16 }), "Create Order"]
311
- }),
312
- /* @__PURE__ */ D(d, {
313
- variant: "outline",
314
- className: "w-full",
315
- onClick: () => R("routes"),
316
- children: [/* @__PURE__ */ E(f, { size: 16 }), "Manage Routes"]
317
- }),
318
- /* @__PURE__ */ D(d, {
319
- variant: "outline",
320
- className: "w-full",
321
- onClick: () => R("fleet"),
322
- children: [/* @__PURE__ */ E(g, { size: 16 }), "Fleet Status"]
323
- })
324
- ]
325
- })] })
326
- ]
327
- })]
328
- })]
329
- });
330
- }
331
- //#endregion
332
- export { k as default };
@@ -1,192 +0,0 @@
1
- import { A as e, d as t, f as n, g as r, h as i, i as a, l as o, u as s } from "./PageLayout-xDTiBTDS.js";
2
- import { t as c } from "./clock-Be95bq7_.js";
3
- import { t as l } from "./filter-BWmLTZB-.js";
4
- import { t as u } from "./map-pin-96FeqL7H.js";
5
- import { t as d } from "./search-DVrUQbOg.js";
6
- import { t as f } from "./star-Cv2MzxZL.js";
7
- import { t as p } from "./store-CLH957vl.js";
8
- import { r as m, t as h } from "./graphqlClient-CdJyR_ed.js";
9
- import { n as g } from "./formatters-_vJlC-47.js";
10
- import { useCallback as _, useEffect as v, useMemo as y, useState as b } from "react";
11
- import { jsx as x, jsxs as S } from "react/jsx-runtime";
12
- //#region src/movethewheels/pages/MarketplacePage.tsx
13
- var C = "\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", w = "\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 T() {
15
- let { apiGatewayUrl: T, authToken: E, workspaceToken: D, workspaceId: O, tenantId: k, currentUser: A } = m(), [j, M] = b([]), [N, P] = b([]), [F, I] = b(""), L = y(() => ({
16
- apiGatewayUrl: T,
17
- authToken: E,
18
- workspaceToken: D,
19
- workspaceId: O,
20
- tenantId: k,
21
- actorId: A?.id
22
- }), [
23
- T,
24
- E,
25
- D,
26
- O,
27
- k,
28
- A?.id
29
- ]), R = _(async () => {
30
- let [e, t] = await Promise.all([h(L, C, { pagination: {
31
- limit: 200,
32
- offset: 0
33
- } }), h(L, w, { pagination: {
34
- limit: 200,
35
- offset: 0
36
- } })]);
37
- M(e.serviceProviders), P(t.serviceOfferings);
38
- }, [L]);
39
- v(() => {
40
- R();
41
- }, [R]);
42
- let z = y(() => {
43
- let e = F.trim().toLowerCase();
44
- return e ? j.filter((t) => t.name.toLowerCase().includes(e) || (t.description ?? "").toLowerCase().includes(e) || t.type.toLowerCase().includes(e)) : j;
45
- }, [j, F]), B = y(() => {
46
- let e = F.trim().toLowerCase();
47
- return e ? N.filter((t) => t.name.toLowerCase().includes(e) || (t.description ?? "").toLowerCase().includes(e) || (t.category ?? "").toLowerCase().includes(e)) : N;
48
- }, [N, F]);
49
- return /* @__PURE__ */ S(a, {
50
- title: "Marketplace",
51
- subtitle: "Find logistics service providers",
52
- icon: /* @__PURE__ */ x(p, { size: 24 }),
53
- headerActions: /* @__PURE__ */ S(s, {
54
- variant: "outline",
55
- children: [/* @__PURE__ */ x(l, { size: 16 }), " Filters"]
56
- }),
57
- children: [/* @__PURE__ */ x(t, { children: /* @__PURE__ */ x(n, {
58
- className: "p-4",
59
- children: /* @__PURE__ */ S("div", {
60
- className: "relative",
61
- children: [/* @__PURE__ */ x(d, {
62
- className: "absolute left-3 top-1/2 -translate-y-1/2 text-text-secondary",
63
- size: 20
64
- }), /* @__PURE__ */ x(e, {
65
- placeholder: "Search services, providers, locations...",
66
- className: "pl-10",
67
- value: F,
68
- onChange: (e) => I(e.target.value)
69
- })]
70
- })
71
- }) }), /* @__PURE__ */ S("div", {
72
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
73
- children: [/* @__PURE__ */ S("div", {
74
- className: "lg:col-span-2 space-y-4",
75
- children: [/* @__PURE__ */ S("h3", {
76
- className: "font-semibold",
77
- children: [
78
- "Service Providers (",
79
- z.length,
80
- ")"
81
- ]
82
- }), z.map((e) => /* @__PURE__ */ x(t, {
83
- className: "hover:shadow-md transition-shadow cursor-pointer",
84
- children: /* @__PURE__ */ x(n, {
85
- className: "p-6",
86
- children: /* @__PURE__ */ S("div", {
87
- className: "flex items-start justify-between",
88
- children: [/* @__PURE__ */ S("div", { children: [
89
- /* @__PURE__ */ S("div", {
90
- className: "flex items-center gap-2",
91
- children: [
92
- /* @__PURE__ */ x("h4", {
93
- className: "font-semibold text-lg",
94
- children: e.name
95
- }),
96
- e.isVerified && /* @__PURE__ */ x(o, {
97
- variant: "default",
98
- children: "Verified"
99
- }),
100
- /* @__PURE__ */ x(o, {
101
- variant: e.isActive ? "default" : "secondary",
102
- children: e.isActive ? "active" : "inactive"
103
- })
104
- ]
105
- }),
106
- /* @__PURE__ */ x("p", {
107
- className: "text-text-secondary mt-1",
108
- children: e.description
109
- }),
110
- /* @__PURE__ */ S("div", {
111
- className: "flex items-center gap-4 mt-3 text-sm text-text-secondary",
112
- children: [
113
- /* @__PURE__ */ S("span", {
114
- className: "flex items-center gap-1",
115
- children: [
116
- /* @__PURE__ */ x(f, {
117
- size: 14,
118
- className: "text-yellow-500 fill-yellow-500"
119
- }),
120
- " ",
121
- e.rating ?? 0
122
- ]
123
- }),
124
- /* @__PURE__ */ S("span", {
125
- className: "flex items-center gap-1",
126
- children: [
127
- /* @__PURE__ */ x(u, { size: 14 }),
128
- " ",
129
- e.type
130
- ]
131
- }),
132
- /* @__PURE__ */ S("span", {
133
- className: "flex items-center gap-1",
134
- children: [/* @__PURE__ */ x(c, { size: 14 }), " Listed"]
135
- })
136
- ]
137
- })
138
- ] }), /* @__PURE__ */ S("div", {
139
- className: "text-right",
140
- children: [/* @__PURE__ */ x("p", {
141
- className: "text-sm text-text-secondary",
142
- children: "Services"
143
- }), /* @__PURE__ */ x("p", {
144
- className: "text-lg font-bold",
145
- children: Array.isArray(e.services) ? e.services.length : 0
146
- })]
147
- })]
148
- })
149
- })
150
- }, e.id))]
151
- }), /* @__PURE__ */ S("div", {
152
- className: "space-y-4",
153
- children: [/* @__PURE__ */ x("h3", {
154
- className: "font-semibold",
155
- children: "Popular Services"
156
- }), B.map((e) => /* @__PURE__ */ S(t, { children: [/* @__PURE__ */ x(i, { children: /* @__PURE__ */ x(r, {
157
- className: "text-base",
158
- children: e.name
159
- }) }), /* @__PURE__ */ S(n, { children: [
160
- /* @__PURE__ */ x("p", {
161
- className: "text-sm text-text-secondary mb-3",
162
- children: e.description
163
- }),
164
- /* @__PURE__ */ S("div", {
165
- className: "flex flex-wrap gap-1 mb-3",
166
- children: [/* @__PURE__ */ x(o, {
167
- variant: "outline",
168
- className: "text-xs",
169
- children: e.category ?? "general"
170
- }), /* @__PURE__ */ x(o, {
171
- variant: "outline",
172
- className: "text-xs",
173
- children: e.provider?.name ?? "provider"
174
- })]
175
- }),
176
- /* @__PURE__ */ S("div", {
177
- className: "flex items-center justify-between",
178
- children: [/* @__PURE__ */ x("span", {
179
- className: "font-bold",
180
- children: g(e.price)
181
- }), /* @__PURE__ */ x("span", {
182
- className: "text-sm text-text-secondary",
183
- children: e.currency
184
- })]
185
- })
186
- ] })] }, e.id))]
187
- })]
188
- })]
189
- });
190
- }
191
- //#endregion
192
- export { T as default };
@@ -1,135 +0,0 @@
1
- import { d as e, f as t, rt as n } from "./PageLayout-xDTiBTDS.js";
2
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
3
- //#region src/movethewheels/components/MetricCard.tsx
4
- var a = {
5
- sm: {
6
- card: "p-3",
7
- value: "text-xl font-bold",
8
- label: "text-xs",
9
- icon: "w-8 h-8"
10
- },
11
- md: {
12
- card: "p-4",
13
- value: "text-2xl font-bold",
14
- label: "text-sm",
15
- icon: "w-10 h-10"
16
- },
17
- lg: {
18
- card: "p-6",
19
- value: "text-3xl font-bold",
20
- label: "text-base",
21
- icon: "w-12 h-12"
22
- }
23
- };
24
- function o({ value: o, label: s, icon: c, change: l, changeType: u = "neutral", subtitle: d, trend: f, size: p = "md", onClick: m, className: h }) {
25
- let g = a[p], _ = {
26
- positive: "text-green-600 dark:text-green-400",
27
- negative: "text-red-600 dark:text-red-400",
28
- neutral: "text-text-secondary"
29
- }, v = {
30
- up: /* @__PURE__ */ r("svg", {
31
- className: "w-4 h-4",
32
- fill: "none",
33
- viewBox: "0 0 24 24",
34
- stroke: "currentColor",
35
- children: /* @__PURE__ */ r("path", {
36
- strokeLinecap: "round",
37
- strokeLinejoin: "round",
38
- strokeWidth: 2,
39
- d: "M5 10l7-7m0 0l7 7m-7-7v18"
40
- })
41
- }),
42
- down: /* @__PURE__ */ r("svg", {
43
- className: "w-4 h-4",
44
- fill: "none",
45
- viewBox: "0 0 24 24",
46
- stroke: "currentColor",
47
- children: /* @__PURE__ */ r("path", {
48
- strokeLinecap: "round",
49
- strokeLinejoin: "round",
50
- strokeWidth: 2,
51
- d: "M19 14l-7 7m0 0l-7-7m7 7V3"
52
- })
53
- }),
54
- flat: /* @__PURE__ */ r("svg", {
55
- className: "w-4 h-4",
56
- fill: "none",
57
- viewBox: "0 0 24 24",
58
- stroke: "currentColor",
59
- children: /* @__PURE__ */ r("path", {
60
- strokeLinecap: "round",
61
- strokeLinejoin: "round",
62
- strokeWidth: 2,
63
- d: "M5 12h14"
64
- })
65
- })
66
- };
67
- return /* @__PURE__ */ r(e, {
68
- className: n("overflow-hidden transition-all duration-200", m && "cursor-pointer hover:shadow-md hover:border-primary/30", h),
69
- onClick: m,
70
- children: /* @__PURE__ */ r(t, {
71
- className: g.card,
72
- children: /* @__PURE__ */ i("div", {
73
- className: "flex items-start justify-between",
74
- children: [/* @__PURE__ */ i("div", {
75
- className: "space-y-1",
76
- children: [
77
- /* @__PURE__ */ r("p", {
78
- className: n("text-text-secondary", g.label),
79
- children: s
80
- }),
81
- /* @__PURE__ */ r("p", {
82
- className: n("text-text-primary tracking-tight", g.value),
83
- children: typeof o == "number" ? o.toLocaleString() : o
84
- }),
85
- d && /* @__PURE__ */ r("p", {
86
- className: "text-xs text-text-secondary",
87
- children: d
88
- }),
89
- l && /* @__PURE__ */ i("div", {
90
- className: n("flex items-center gap-1 text-sm", _[u]),
91
- children: [f && v[f], /* @__PURE__ */ r("span", { children: l })]
92
- })
93
- ]
94
- }), c && /* @__PURE__ */ r("div", {
95
- className: n("flex-shrink-0 p-2 rounded-lg bg-action-primary-bg/10 text-primary", g.icon),
96
- children: c
97
- })]
98
- })
99
- })
100
- });
101
- }
102
- function s({ size: o = "md" }) {
103
- let s = a[o];
104
- return /* @__PURE__ */ r(e, {
105
- className: "overflow-hidden",
106
- children: /* @__PURE__ */ r(t, {
107
- className: s.card,
108
- children: /* @__PURE__ */ i("div", {
109
- className: "flex items-start justify-between",
110
- children: [/* @__PURE__ */ i("div", {
111
- className: "space-y-2 flex-1",
112
- children: [
113
- /* @__PURE__ */ r("div", { className: "h-4 w-24 bg-bg-sunken animate-pulse rounded" }),
114
- /* @__PURE__ */ r("div", { className: "h-8 w-32 bg-bg-sunken animate-pulse rounded" }),
115
- /* @__PURE__ */ r("div", { className: "h-3 w-20 bg-bg-sunken animate-pulse rounded" })
116
- ]
117
- }), /* @__PURE__ */ r("div", { className: n("bg-bg-sunken animate-pulse rounded-lg", s.icon) })]
118
- })
119
- })
120
- });
121
- }
122
- function c({ children: e, columns: t = 4, className: i }) {
123
- return /* @__PURE__ */ r("div", {
124
- className: n("grid gap-4", {
125
- 2: "grid-cols-1 sm:grid-cols-2",
126
- 3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",
127
- 4: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-4",
128
- 5: "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5",
129
- 6: "grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-6"
130
- }[t], i),
131
- children: e
132
- });
133
- }
134
- //#endregion
135
- export { s as n, c as r, o as t };