@burdenoff/microfe-movethewheels 2026.625.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 (80) hide show
  1. package/dist/{AIAssistantPage-CNyoKtID.js → AIAssistantPage-AvsMbunM.js} +35 -29
  2. package/dist/{AnalyticsPage-Ck615ox7.js → AnalyticsPage-CCLfHgQZ.js} +36 -25
  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-DTmyuC11.js → DashboardPage-D2HRqwg9.js} +93 -89
  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-DCfOmBa2.js → FleetPage-DddXt8r8.js} +109 -71
  12. package/dist/ImportExportPage-BW6qO3kc.js +248 -0
  13. package/dist/{InventoryPage-BW0QXWuf.js → InventoryPage-rMGuaJN-.js} +74 -70
  14. package/dist/LiveTrackingPage-DQ1q4Id3.js +375 -0
  15. package/dist/MarketplacePage-DKrXAv62.js +219 -0
  16. package/dist/OrderDetailsPage-CFASgsYX.js +431 -0
  17. package/dist/OrdersListPage-BHeT8S5o.js +309 -0
  18. package/dist/ProductDetailsPage-CFGcbaHo.js +195 -0
  19. package/dist/ProductsPage--xEpbQ8A.js +171 -0
  20. package/dist/{ReportsPage-Df3hciPy.js → ReportsPage-Bb7_90rK.js} +53 -45
  21. package/dist/RouteDetailsPage-CVtDVb1N.js +282 -0
  22. package/dist/RoutesPage-s57PtgcQ.js +163 -0
  23. package/dist/SettingsPage-BYNCBOpN.js +298 -0
  24. package/dist/{TrackingPage-CU0Vk4mx.js → TrackingPage-CcRc_dva.js} +77 -72
  25. package/dist/VehicleDetailsPage-3YDMPsPs.js +220 -0
  26. package/dist/VehiclesPage-UlxPWP9K.js +167 -0
  27. package/dist/WarehouseDetailsPage-Db7KeN-d.js +238 -0
  28. package/dist/WarehousesPage-CuTO-OPp.js +164 -0
  29. package/dist/index.js +2 -2
  30. package/package.json +2 -2
  31. package/src/movethewheels/components/DataTable.tsx +37 -2
  32. package/src/movethewheels/components/MetricCard.tsx +3 -1
  33. package/src/movethewheels/pages/AIAssistantPage.tsx +11 -3
  34. package/src/movethewheels/pages/AnalyticsPage.tsx +31 -25
  35. package/src/movethewheels/pages/CreateOrderPage.tsx +56 -17
  36. package/src/movethewheels/pages/CustomerDetailsPage.tsx +63 -38
  37. package/src/movethewheels/pages/CustomersPage.tsx +40 -2
  38. package/src/movethewheels/pages/DashboardPage.tsx +8 -1
  39. package/src/movethewheels/pages/DriverDetailsPage.tsx +57 -26
  40. package/src/movethewheels/pages/DriversPage.tsx +37 -1
  41. package/src/movethewheels/pages/FinancePage.tsx +45 -41
  42. package/src/movethewheels/pages/FleetPage.tsx +68 -25
  43. package/src/movethewheels/pages/ImportExportPage.tsx +46 -29
  44. package/src/movethewheels/pages/InventoryPage.tsx +20 -23
  45. package/src/movethewheels/pages/LiveTrackingPage.tsx +58 -20
  46. package/src/movethewheels/pages/MarketplacePage.tsx +37 -3
  47. package/src/movethewheels/pages/OrderDetailsPage.tsx +74 -46
  48. package/src/movethewheels/pages/OrdersListPage.tsx +62 -1
  49. package/src/movethewheels/pages/ProductDetailsPage.tsx +36 -11
  50. package/src/movethewheels/pages/ProductsPage.tsx +33 -1
  51. package/src/movethewheels/pages/ReportsPage.tsx +23 -19
  52. package/src/movethewheels/pages/RouteDetailsPage.tsx +71 -31
  53. package/src/movethewheels/pages/RoutesPage.tsx +41 -5
  54. package/src/movethewheels/pages/SettingsPage.tsx +68 -26
  55. package/src/movethewheels/pages/TrackingPage.tsx +50 -47
  56. package/src/movethewheels/pages/VehicleDetailsPage.tsx +49 -24
  57. package/src/movethewheels/pages/VehiclesPage.tsx +33 -1
  58. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +55 -30
  59. package/src/movethewheels/pages/WarehousesPage.tsx +42 -4
  60. package/dist/CreateOrderPage-C9Vb57Yn.js +0 -471
  61. package/dist/CustomerDetailsPage-BVkHRZvi.js +0 -239
  62. package/dist/CustomersPage-DhQg-6h_.js +0 -118
  63. package/dist/DataTable-CfWvFw5B.js +0 -239
  64. package/dist/DriverDetailsPage-DaaCQ-2O.js +0 -297
  65. package/dist/DriversPage-D0RMBB_t.js +0 -129
  66. package/dist/FinancePage-BUXqW1IM.js +0 -154
  67. package/dist/ImportExportPage-BM1BoRcE.js +0 -232
  68. package/dist/LiveTrackingPage-DqcGXdkw.js +0 -332
  69. package/dist/MarketplacePage-DFqsxNYU.js +0 -192
  70. package/dist/OrderDetailsPage-Dx1m3cVA.js +0 -398
  71. package/dist/OrdersListPage-DHYBGrWf.js +0 -256
  72. package/dist/ProductDetailsPage-DOXO90kb.js +0 -168
  73. package/dist/ProductsPage-RLMTwWN0.js +0 -133
  74. package/dist/RouteDetailsPage-xzFDeR-X.js +0 -240
  75. package/dist/RoutesPage-DDFy1QVi.js +0 -118
  76. package/dist/SettingsPage-JH_-UPbf.js +0 -247
  77. package/dist/VehicleDetailsPage-P4xDttKw.js +0 -194
  78. package/dist/VehiclesPage-tJZ64QKV.js +0 -129
  79. package/dist/WarehouseDetailsPage-Bt_w2Yf7.js +0 -215
  80. package/dist/WarehousesPage-HsPpEFeG.js +0 -126
@@ -1,297 +0,0 @@
1
- import { M as e, d as t, f as n, g as r, h as i, i as a, l as o, n as s, r as c, u as l } from "./PageLayout-D3N8MCTm.js";
2
- import { t as u } from "./arrow-left-CBpZKkpq.js";
3
- import { t as d } from "./clock-BjkdnddD.js";
4
- import { t as f } from "./dollar-sign-IB4O0wuQ.js";
5
- import { t as p } from "./file-text-C8Uioy11.js";
6
- import { t as m } from "./map-pin-BSaf5IDL.js";
7
- import { t as h } from "./square-pen-hLIbFQFV.js";
8
- import { t as g } from "./star-YsVV3MNQ.js";
9
- import { t as _ } from "./users-g2N0eL-Z.js";
10
- import { r as v } from "./graphqlClient-CdJyR_ed.js";
11
- import { t as y } from "./useFleet-BdETplNE.js";
12
- import { r as b } from "./StatusBadge-CijYQXtb.js";
13
- import { n as x, r as S } from "./formatters-_vJlC-47.js";
14
- import { t as C } from "./navigation-BgnOfsVd.js";
15
- import { useParams as w } from "react-router-dom";
16
- import { jsx as T, jsxs as E } from "react/jsx-runtime";
17
- //#region src/movethewheels/pages/DriverDetailsPage.tsx
18
- function D() {
19
- let { driverId: D } = w(), { basePath: O, navigate: k } = v(), { driver: A, isLoading: j, error: M, refetch: N } = y(D);
20
- return j ? /* @__PURE__ */ T(c, { message: "Loading driver details..." }) : M || !A ? /* @__PURE__ */ T(s, {
21
- title: "Driver not found",
22
- onRetry: N
23
- }) : /* @__PURE__ */ T(a, {
24
- title: A.fullName,
25
- subtitle: `Employee ID: ${A.employeeId}`,
26
- icon: /* @__PURE__ */ T(_, { size: 24 }),
27
- headerActions: /* @__PURE__ */ E("div", {
28
- className: "flex gap-2",
29
- children: [/* @__PURE__ */ E(l, {
30
- variant: "outline",
31
- onClick: () => k?.(C(O, "fleet/drivers")),
32
- children: [/* @__PURE__ */ T(u, { size: 16 }), " Back"]
33
- }), /* @__PURE__ */ E(l, { children: [/* @__PURE__ */ T(h, { size: 16 }), " Edit"] })]
34
- }),
35
- headerContent: /* @__PURE__ */ E("div", {
36
- className: "flex items-center gap-4",
37
- children: [/* @__PURE__ */ T(b, {
38
- status: A.status,
39
- type: "driver"
40
- }), /* @__PURE__ */ E("div", {
41
- className: "flex items-center gap-1",
42
- children: [
43
- /* @__PURE__ */ T(g, {
44
- size: 16,
45
- className: "text-yellow-500 fill-yellow-500"
46
- }),
47
- /* @__PURE__ */ T("span", {
48
- className: "font-medium",
49
- children: A.ratings.overall.toFixed(1)
50
- }),
51
- /* @__PURE__ */ E("span", {
52
- className: "text-text-secondary",
53
- children: [
54
- "(",
55
- A.ratings.totalRatings,
56
- " ratings)"
57
- ]
58
- })
59
- ]
60
- })]
61
- }),
62
- children: /* @__PURE__ */ E("div", {
63
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
64
- children: [/* @__PURE__ */ E("div", {
65
- className: "lg:col-span-2 space-y-6",
66
- children: [
67
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
68
- className: "flex items-center gap-2",
69
- children: [/* @__PURE__ */ T(g, { size: 18 }), " Ratings"]
70
- }) }), /* @__PURE__ */ T(n, { children: /* @__PURE__ */ T("div", {
71
- className: "grid grid-cols-2 md:grid-cols-3 gap-4",
72
- children: [
73
- {
74
- label: "Punctuality",
75
- value: A.ratings.punctuality
76
- },
77
- {
78
- label: "Communication",
79
- value: A.ratings.communication
80
- },
81
- {
82
- label: "Handling",
83
- value: A.ratings.carefulHandling
84
- },
85
- {
86
- label: "Professionalism",
87
- value: A.ratings.professionalism
88
- },
89
- {
90
- label: "On-Time Delivery",
91
- value: A.ratings.onTimeDelivery
92
- }
93
- ].map((t) => /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
94
- className: "text-sm text-text-secondary",
95
- children: t.label
96
- }), /* @__PURE__ */ E("div", {
97
- className: "flex items-center gap-2 mt-1",
98
- children: [/* @__PURE__ */ T(e, {
99
- value: t.value * 20,
100
- className: "flex-1 h-2"
101
- }), /* @__PURE__ */ T("span", {
102
- className: "text-sm font-medium",
103
- children: t.value.toFixed(1)
104
- })]
105
- })] }, t.label))
106
- }) })] }),
107
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
108
- className: "flex items-center gap-2",
109
- children: [/* @__PURE__ */ T(d, { size: 18 }), " Working Hours"]
110
- }) }), /* @__PURE__ */ T(n, { children: /* @__PURE__ */ E("div", {
111
- className: "grid grid-cols-2 md:grid-cols-4 gap-4",
112
- children: [
113
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
114
- className: "text-sm text-text-secondary",
115
- children: "Shift"
116
- }), /* @__PURE__ */ E("p", {
117
- className: "font-medium",
118
- children: [
119
- A.workingHours.startTime,
120
- " - ",
121
- A.workingHours.endTime
122
- ]
123
- })] }),
124
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
125
- className: "text-sm text-text-secondary",
126
- children: "Working Days"
127
- }), /* @__PURE__ */ E("p", {
128
- className: "font-medium",
129
- children: [A.workingHours.workingDays.length, " days/week"]
130
- })] }),
131
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
132
- className: "text-sm text-text-secondary",
133
- children: "Hours Today"
134
- }), /* @__PURE__ */ E("p", {
135
- className: "font-medium",
136
- children: [
137
- A.workingHours.currentHoursToday,
138
- "h / ",
139
- A.workingHours.maxHoursPerDay,
140
- "h"
141
- ]
142
- })] }),
143
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
144
- className: "text-sm text-text-secondary",
145
- children: "Hours This Week"
146
- }), /* @__PURE__ */ E("p", {
147
- className: "font-medium",
148
- children: [
149
- A.workingHours.currentHoursThisWeek,
150
- "h /",
151
- " ",
152
- A.workingHours.maxHoursPerWeek,
153
- "h"
154
- ]
155
- })] })
156
- ]
157
- }) })] }),
158
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
159
- className: "flex items-center gap-2",
160
- children: [/* @__PURE__ */ T(p, { size: 18 }), " Documents"]
161
- }) }), /* @__PURE__ */ T(n, { children: /* @__PURE__ */ E("div", {
162
- className: "space-y-3",
163
- children: [/* @__PURE__ */ E("div", {
164
- className: "flex items-center justify-between p-3 border rounded-lg",
165
- children: [/* @__PURE__ */ E("div", { children: [
166
- /* @__PURE__ */ T("p", {
167
- className: "font-medium",
168
- children: "Driver's License"
169
- }),
170
- /* @__PURE__ */ E("p", {
171
- className: "text-sm text-text-secondary",
172
- children: [
173
- A.licenseNumber,
174
- " - ",
175
- A.licenseType
176
- ]
177
- }),
178
- /* @__PURE__ */ E("p", {
179
- className: "text-sm text-text-secondary",
180
- children: ["Expires: ", S(A.licenseExpiry)]
181
- })
182
- ] }), /* @__PURE__ */ T(o, {
183
- variant: "default",
184
- children: "Valid"
185
- })]
186
- }), A.documents.map((e) => /* @__PURE__ */ E("div", {
187
- className: "flex items-center justify-between p-3 border rounded-lg",
188
- children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
189
- className: "font-medium capitalize",
190
- children: e.type.replace("_", " ")
191
- }), /* @__PURE__ */ E("p", {
192
- className: "text-sm text-text-secondary",
193
- children: ["Expires: ", S(e.expiryDate)]
194
- })] }), /* @__PURE__ */ T(o, {
195
- variant: e.verified ? "default" : "secondary",
196
- children: e.verified ? "Verified" : "Pending"
197
- })]
198
- }, e.id))]
199
- }) })] })
200
- ]
201
- }), /* @__PURE__ */ E("div", {
202
- className: "space-y-6",
203
- children: [
204
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(r, { children: "Statistics" }) }), /* @__PURE__ */ E(n, {
205
- className: "space-y-4",
206
- children: [
207
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
208
- className: "text-sm text-text-secondary",
209
- children: "Total Deliveries"
210
- }), /* @__PURE__ */ T("p", {
211
- className: "text-2xl font-bold",
212
- children: A.completedOrders.toLocaleString()
213
- })] }),
214
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
215
- className: "text-sm text-text-secondary",
216
- children: "Today's Deliveries"
217
- }), /* @__PURE__ */ T("p", {
218
- className: "text-2xl font-bold",
219
- children: A.todayOrders
220
- })] }),
221
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
222
- className: "text-sm text-text-secondary",
223
- children: "Join Date"
224
- }), /* @__PURE__ */ T("p", {
225
- className: "font-medium",
226
- children: S(A.joinDate)
227
- })] })
228
- ]
229
- })] }),
230
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
231
- className: "flex items-center gap-2",
232
- children: [/* @__PURE__ */ T(f, { size: 18 }), " Earnings"]
233
- }) }), /* @__PURE__ */ E(n, {
234
- className: "space-y-3",
235
- children: [
236
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
237
- className: "text-sm text-text-secondary",
238
- children: "Total Earnings"
239
- }), /* @__PURE__ */ T("p", {
240
- className: "text-2xl font-bold",
241
- children: x(A.earnings.totalEarnings)
242
- })] }),
243
- /* @__PURE__ */ E("div", {
244
- className: "grid grid-cols-2 gap-3",
245
- children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
246
- className: "text-sm text-text-secondary",
247
- children: "This Week"
248
- }), /* @__PURE__ */ T("p", {
249
- className: "font-medium",
250
- children: x(A.earnings.weeklyEarnings)
251
- })] }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
252
- className: "text-sm text-text-secondary",
253
- children: "This Month"
254
- }), /* @__PURE__ */ T("p", {
255
- className: "font-medium",
256
- children: x(A.earnings.monthlyEarnings)
257
- })] })]
258
- }),
259
- /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
260
- className: "text-sm text-text-secondary",
261
- children: "Base Salary"
262
- }), /* @__PURE__ */ E("p", {
263
- className: "font-medium",
264
- children: [x(A.baseSalary), "/year"]
265
- })] })
266
- ]
267
- })] }),
268
- A.currentLocation && /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ E(r, {
269
- className: "flex items-center gap-2",
270
- children: [/* @__PURE__ */ T(m, { size: 18 }), " Current Location"]
271
- }) }), /* @__PURE__ */ E(n, { children: [/* @__PURE__ */ T("p", {
272
- className: "text-sm",
273
- children: A.currentLocation.address || "Location updating..."
274
- }), /* @__PURE__ */ E("p", {
275
- className: "text-xs text-text-secondary mt-1",
276
- children: ["Updated ", S(A.currentLocation.timestamp || /* @__PURE__ */ new Date(), "relative")]
277
- })] })] }),
278
- /* @__PURE__ */ E(t, { children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(r, { children: "Compliance Status" }) }), /* @__PURE__ */ T(n, {
279
- className: "space-y-2",
280
- children: Object.entries(A.compliance).filter(([e]) => e !== "lastUpdate").map(([e, t]) => /* @__PURE__ */ E("div", {
281
- className: "flex items-center justify-between",
282
- children: [/* @__PURE__ */ T("span", {
283
- className: "text-sm capitalize",
284
- children: e.replace(/([A-Z])/g, " $1")
285
- }), /* @__PURE__ */ T(o, {
286
- variant: t ? "default" : "destructive",
287
- children: t ? "Compliant" : "Non-compliant"
288
- })]
289
- }, e))
290
- })] })
291
- ]
292
- })]
293
- })
294
- });
295
- }
296
- //#endregion
297
- export { D as default };
@@ -1,129 +0,0 @@
1
- import { i as e, o as t, s as n } from "./PageLayout-D3N8MCTm.js";
2
- import { t as r } from "./DataTable-CfWvFw5B.js";
3
- import { t as i } from "./download-Dpa9vqoG.js";
4
- import { t as a } from "./plus-Dl1rLeJR.js";
5
- import { t as o } from "./refresh-cw-CWfERAit.js";
6
- import { t as s } from "./star-YsVV3MNQ.js";
7
- import { t as c } from "./users-g2N0eL-Z.js";
8
- import { r as l } from "./graphqlClient-CdJyR_ed.js";
9
- import { n as u } from "./useFleet-BdETplNE.js";
10
- import { r as d } from "./StatusBadge-CijYQXtb.js";
11
- import { r as f } from "./formatters-_vJlC-47.js";
12
- import { t as p } from "./navigation-BgnOfsVd.js";
13
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
14
- import { CTAOverflowMenu as g } from "@burdenoff/fe-libs/ui";
15
- //#region src/movethewheels/pages/DriversPage.tsx
16
- function _() {
17
- let { basePath: _, navigate: v } = l(), { drivers: y, totalDrivers: b, isLoading: x, refetch: S } = u(), C = (e) => v?.(p(_, e));
18
- return /* @__PURE__ */ m(e, {
19
- title: "Drivers",
20
- subtitle: `${b} drivers`,
21
- icon: /* @__PURE__ */ m(c, { size: 24 }),
22
- headerActions: /* @__PURE__ */ m(g, {
23
- primary: {
24
- label: "Add Driver",
25
- icon: /* @__PURE__ */ m(a, { size: 16 }),
26
- onSelect: () => {}
27
- },
28
- actions: [{
29
- label: "Refresh",
30
- icon: /* @__PURE__ */ m(o, { size: 16 }),
31
- onSelect: () => S()
32
- }, {
33
- label: "Export",
34
- icon: /* @__PURE__ */ m(i, { size: 16 }),
35
- onSelect: () => {}
36
- }]
37
- }),
38
- children: /* @__PURE__ */ m(r, {
39
- columns: [
40
- {
41
- id: "driver",
42
- header: "Driver",
43
- cell: (e) => /* @__PURE__ */ h("div", {
44
- className: "flex items-center gap-3",
45
- children: [/* @__PURE__ */ m(t, { children: /* @__PURE__ */ m(n, { children: e.fullName.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
46
- className: "font-medium",
47
- children: e.fullName
48
- }), /* @__PURE__ */ m("p", {
49
- className: "text-sm text-text-secondary",
50
- children: e.employeeId
51
- })] })]
52
- })
53
- },
54
- {
55
- id: "status",
56
- header: "Status",
57
- accessorKey: "status",
58
- sortable: !0,
59
- cell: (e) => /* @__PURE__ */ m(d, {
60
- status: e.status,
61
- type: "driver"
62
- })
63
- },
64
- {
65
- id: "rating",
66
- header: "Rating",
67
- cell: (e) => /* @__PURE__ */ h("div", {
68
- className: "flex items-center gap-1",
69
- children: [
70
- /* @__PURE__ */ m(s, {
71
- size: 14,
72
- className: "text-yellow-500 fill-yellow-500"
73
- }),
74
- /* @__PURE__ */ m("span", {
75
- className: "font-medium",
76
- children: e.ratings.overall.toFixed(1)
77
- }),
78
- /* @__PURE__ */ h("span", {
79
- className: "text-text-secondary text-sm",
80
- children: [
81
- "(",
82
- e.ratings.totalRatings,
83
- ")"
84
- ]
85
- })
86
- ]
87
- })
88
- },
89
- {
90
- id: "deliveries",
91
- header: "Deliveries",
92
- accessorKey: "completedOrders",
93
- sortable: !0,
94
- cell: (e) => /* @__PURE__ */ m("span", {
95
- className: "font-medium",
96
- children: e.completedOrders.toLocaleString()
97
- })
98
- },
99
- {
100
- id: "license",
101
- header: "License",
102
- cell: (e) => /* @__PURE__ */ h("div", {
103
- className: "text-sm",
104
- children: [/* @__PURE__ */ m("p", { children: e.licenseType }), /* @__PURE__ */ h("p", {
105
- className: "text-text-secondary",
106
- children: ["Exp: ", f(e.licenseExpiry, "short")]
107
- })]
108
- })
109
- },
110
- {
111
- id: "joined",
112
- header: "Join Date",
113
- accessorKey: "joinDate",
114
- sortable: !0,
115
- cell: (e) => f(e.joinDate, "short")
116
- }
117
- ],
118
- data: y,
119
- isLoading: x,
120
- searchable: !0,
121
- searchPlaceholder: "Search drivers...",
122
- searchFields: ["fullName", "employeeId"],
123
- onRowClick: (e) => C(`fleet/drivers/${e.id}`),
124
- getRowId: (e) => e.id
125
- })
126
- });
127
- }
128
- //#endregion
129
- export { _ as default };
@@ -1,154 +0,0 @@
1
- import { d as e, f as t, g as n, h as r, i, it as a, u as o } from "./PageLayout-D3N8MCTm.js";
2
- import { t as s } from "./dollar-sign-IB4O0wuQ.js";
3
- import { t as c } from "./download-Dpa9vqoG.js";
4
- import { t as l } from "./file-text-C8Uioy11.js";
5
- import { t as u } from "./trending-up-C-85AwGT.js";
6
- import { n as d } from "./useOrders-D_3_hGMp.js";
7
- import { t as f } from "./useAnalytics-ph7eTIK6.js";
8
- import { r as p, t as m } from "./MetricCard-B7yMyvMX.js";
9
- import { n as h } from "./formatters-_vJlC-47.js";
10
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
11
- //#region node_modules/lucide-react/dist/esm/icons/credit-card.js
12
- var v = a("CreditCard", [["rect", {
13
- width: "20",
14
- height: "14",
15
- x: "2",
16
- y: "5",
17
- rx: "2",
18
- key: "ynyp8z"
19
- }], ["line", {
20
- x1: "2",
21
- x2: "22",
22
- y1: "10",
23
- y2: "10",
24
- key: "1b3vmo"
25
- }]]);
26
- //#endregion
27
- //#region src/movethewheels/pages/FinancePage.tsx
28
- function y() {
29
- let { analytics: a } = f(), { stats: y } = d(), b = y.totalRevenue * .15, x = y.totalRevenue * .85;
30
- return /* @__PURE__ */ _(i, {
31
- title: "Finance",
32
- subtitle: "Financial overview and reports",
33
- icon: /* @__PURE__ */ g(s, { size: 24 }),
34
- headerActions: /* @__PURE__ */ _("div", {
35
- className: "flex gap-2",
36
- children: [/* @__PURE__ */ _(o, {
37
- variant: "outline",
38
- children: [/* @__PURE__ */ g(l, { size: 16 }), " Invoices"]
39
- }), /* @__PURE__ */ _(o, {
40
- variant: "outline",
41
- children: [/* @__PURE__ */ g(c, { size: 16 }), " Export"]
42
- })]
43
- }),
44
- children: [
45
- /* @__PURE__ */ _(p, {
46
- columns: 4,
47
- children: [
48
- /* @__PURE__ */ g(m, {
49
- label: "Total Revenue",
50
- value: h(a.overview.totalRevenue),
51
- icon: /* @__PURE__ */ g(s, { size: 20 }),
52
- change: "+12.5%",
53
- changeType: "positive",
54
- trend: "up"
55
- }),
56
- /* @__PURE__ */ g(m, {
57
- label: "Completed",
58
- value: h(x),
59
- icon: /* @__PURE__ */ g(u, { size: 20 }),
60
- changeType: "positive"
61
- }),
62
- /* @__PURE__ */ g(m, {
63
- label: "Pending",
64
- value: h(b),
65
- icon: /* @__PURE__ */ g(v, { size: 20 }),
66
- changeType: "neutral"
67
- }),
68
- /* @__PURE__ */ g(m, {
69
- label: "Avg Order Value",
70
- value: h(y.avgOrderValue),
71
- icon: /* @__PURE__ */ g(s, { size: 20 })
72
- })
73
- ]
74
- }),
75
- /* @__PURE__ */ _("div", {
76
- className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
77
- children: [/* @__PURE__ */ _(e, { children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(n, { children: "Revenue by Month" }) }), /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g("div", {
78
- className: "space-y-4",
79
- children: a.trends.revenue.map((e) => /* @__PURE__ */ _("div", {
80
- className: "flex items-center justify-between p-3 bg-bg-sunken/50 rounded-lg",
81
- children: [/* @__PURE__ */ _("span", {
82
- className: "font-medium",
83
- children: [e.month, " 2024"]
84
- }), /* @__PURE__ */ g("span", {
85
- className: "text-lg font-bold",
86
- children: h(e.revenue)
87
- })]
88
- }, e.month))
89
- }) })] }), /* @__PURE__ */ _(e, { children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(n, { children: "Payment Status" }) }), /* @__PURE__ */ g(t, { children: /* @__PURE__ */ _("div", {
90
- className: "space-y-4",
91
- children: [/* @__PURE__ */ _("div", {
92
- className: "flex items-center justify-between p-4 bg-green-50 dark:bg-green-900/20 rounded-lg",
93
- children: [/* @__PURE__ */ _("div", {
94
- className: "flex items-center gap-3",
95
- children: [/* @__PURE__ */ g("div", {
96
- className: "w-10 h-10 rounded-full bg-green-100 dark:bg-green-800 flex items-center justify-center",
97
- children: /* @__PURE__ */ g(u, {
98
- size: 20,
99
- className: "text-green-600"
100
- })
101
- }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
102
- className: "font-medium",
103
- children: "Paid"
104
- }), /* @__PURE__ */ _("p", {
105
- className: "text-sm text-text-secondary",
106
- children: [y.byStatus.delivered, " orders"]
107
- })] })]
108
- }), /* @__PURE__ */ g("span", {
109
- className: "text-xl font-bold text-green-600",
110
- children: h(x)
111
- })]
112
- }), /* @__PURE__ */ _("div", {
113
- className: "flex items-center justify-between p-4 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg",
114
- children: [/* @__PURE__ */ _("div", {
115
- className: "flex items-center gap-3",
116
- children: [/* @__PURE__ */ g("div", {
117
- className: "w-10 h-10 rounded-full bg-yellow-100 dark:bg-yellow-800 flex items-center justify-center",
118
- children: /* @__PURE__ */ g(v, {
119
- size: 20,
120
- className: "text-yellow-600"
121
- })
122
- }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
123
- className: "font-medium",
124
- children: "Pending"
125
- }), /* @__PURE__ */ _("p", {
126
- className: "text-sm text-text-secondary",
127
- children: [y.byStatus.pending + y.byStatus.in_transit, " orders"]
128
- })] })]
129
- }), /* @__PURE__ */ g("span", {
130
- className: "text-xl font-bold text-yellow-600",
131
- children: h(b)
132
- })]
133
- })]
134
- }) })] })]
135
- }),
136
- /* @__PURE__ */ _(e, { children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(n, { children: "Recent Transactions" }) }), /* @__PURE__ */ g(t, { children: /* @__PURE__ */ _("div", {
137
- className: "text-center py-8 text-text-secondary",
138
- children: [
139
- /* @__PURE__ */ g(l, {
140
- size: 48,
141
- className: "mx-auto mb-4 opacity-50"
142
- }),
143
- /* @__PURE__ */ g("p", { children: "Transaction history would be displayed here" }),
144
- /* @__PURE__ */ g("p", {
145
- className: "text-sm",
146
- children: "Integration with payment gateway required"
147
- })
148
- ]
149
- }) })] })
150
- ]
151
- });
152
- }
153
- //#endregion
154
- export { y as default };