@burdenoff/microfe-movethewheels 2026.626.2 → 2026.703.2

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 (135) hide show
  1. package/dist/{AIAssistantPage-AvsMbunM.js → AIAssistantPage-C3cPsWt-.js} +100 -73
  2. package/dist/AnalyticsPage-Dz6g2MvK.js +215 -0
  3. package/dist/{CreateOrderPage-CjlnEtk3.js → CreateOrderPage-C5iwnjp4.js} +36 -67
  4. package/dist/CustomerDetailsPage-B6nwFyLO.js +406 -0
  5. package/dist/{CustomersPage-CGGfD4ki.js → CustomersPage-2Y05LVyh.js} +26 -28
  6. package/dist/{DashboardPage-D2HRqwg9.js → DashboardPage-BVjQi0EB.js} +85 -83
  7. package/dist/{DataTable-CD9ZhpLB.js → DataTable-DmciIKKM.js} +3 -3
  8. package/dist/DriverDetailsPage-CN3WQ0B9.js +507 -0
  9. package/dist/{DriversPage-DKiynISH.js → DriversPage-B0Zpx8OQ.js} +25 -27
  10. package/dist/{FinancePage-Vg8WPs38.js → FinancePage-DEDykSOP.js} +9 -9
  11. package/dist/FleetPage-DqkFi3s3.js +365 -0
  12. package/dist/FormError-BlOjnXOq.js +15 -0
  13. package/dist/ImportExportPage-DKJRCezl.js +290 -0
  14. package/dist/InventoryPage-DwfgCUQq.js +253 -0
  15. package/dist/{LiveTrackingPage-DQ1q4Id3.js → LiveTrackingPage-DCX-K-LR.js} +60 -56
  16. package/dist/MarketplacePage-CIQ97_zp.js +247 -0
  17. package/dist/{MetricCard-B7yMyvMX.js → MetricCard-BY0QrMD4.js} +1 -1
  18. package/dist/{OrderDetailsPage-CFASgsYX.js → OrderDetailsPage-DYiZ-9UK.js} +83 -85
  19. package/dist/{OrdersListPage-BHeT8S5o.js → OrdersListPage-BjDlCKJd.js} +31 -33
  20. package/dist/{PageLayout-D3N8MCTm.js → PageLayout-D4LDHJJq.js} +483 -422
  21. package/dist/ProductDetailsPage-C9uOiYLp.js +350 -0
  22. package/dist/{ProductsPage--xEpbQ8A.js → ProductsPage-C1G9h7Xd.js} +22 -24
  23. package/dist/ReportsPage-Zp53q3_8.js +284 -0
  24. package/dist/RouteDetailsPage-DUStXSf9.js +531 -0
  25. package/dist/RoutesPage-DMfoicM1.js +144 -0
  26. package/dist/SettingsPage-Bn-v0mbQ.js +421 -0
  27. package/dist/StatusBadge-BZurYHMy.js +152 -0
  28. package/dist/{TrackingPage-CcRc_dva.js → TrackingPage-W-jtdM3Y.js} +59 -61
  29. package/dist/VehicleDetailsPage-Bceo5oz3.js +410 -0
  30. package/dist/{VehiclesPage-UlxPWP9K.js → VehiclesPage-VBtOep91.js} +20 -22
  31. package/dist/WarehouseDetailsPage-L_6sWigM.js +493 -0
  32. package/dist/{WarehousesPage-CuTO-OPp.js → WarehousesPage-DCbXXXWE.js} +16 -18
  33. package/dist/{arrow-left-CBpZKkpq.js → arrow-left-n48Y-Wis.js} +1 -1
  34. package/dist/{box-CAaiElsb.js → box-D9Pal4HM.js} +1 -1
  35. package/dist/{chart-column-D1Ym15-S.js → chart-column-BFIJysDR.js} +1 -1
  36. package/dist/{chevron-right-BIFGi0UA.js → chevron-right-EMIIyyJ1.js} +1 -1
  37. package/dist/{circle-alert-DjmNo5_L.js → circle-alert-iY24lSlp.js} +1 -1
  38. package/dist/{circle-check-big-CjuPVo3_.js → circle-check-big-w0TrLKMF.js} +1 -1
  39. package/dist/{clock-BjkdnddD.js → clock-DJZtdl8u.js} +1 -1
  40. package/dist/{dollar-sign-IB4O0wuQ.js → dollar-sign-CgKQRz_e.js} +1 -1
  41. package/dist/{download-Dpa9vqoG.js → download-DRXxoiQR.js} +1 -1
  42. package/dist/{file-text-C8Uioy11.js → file-text-DWWY6_f5.js} +1 -1
  43. package/dist/{filter-Da5OZaHI.js → filter-DloLC2eE.js} +1 -1
  44. package/dist/index.js +186 -162
  45. package/dist/{map-_Per4sT9.js → map-CkJaULb2.js} +1 -1
  46. package/dist/{map-pin-BSaf5IDL.js → map-pin-BGiCvyCs.js} +1 -1
  47. package/dist/{navigation-DaTbrhw2.js → navigation-D36prnAn.js} +1 -1
  48. package/dist/{package-BE7U0wQE.js → package-BChUzpJS.js} +1 -1
  49. package/dist/{phone-DV4StZiA.js → phone-Ac9s3mo_.js} +1 -1
  50. package/dist/{plus-Dl1rLeJR.js → plus-Z76q-FZm.js} +1 -1
  51. package/dist/{refresh-cw-CWfERAit.js → refresh-cw-DKt6f5T6.js} +1 -1
  52. package/dist/{save-XH8vydOn.js → save-CojywNhG.js} +1 -1
  53. package/dist/{search-OxoIiL_C.js → search-CDGefqb3.js} +1 -1
  54. package/dist/{square-pen-hLIbFQFV.js → square-pen-CopE9GmB.js} +1 -1
  55. package/dist/{star-YsVV3MNQ.js → star-nHlLjDKR.js} +1 -1
  56. package/dist/{store-RCBl7HB-.js → store-BR9Voi5E.js} +1 -1
  57. package/dist/trash-2-BKhar6Hs.js +32 -0
  58. package/dist/{trending-up-C-85AwGT.js → trending-up-Dohgd4t_.js} +1 -1
  59. package/dist/{triangle-alert-BOhfGgmh.js → triangle-alert-i-XQL9Rd.js} +1 -1
  60. package/dist/{truck-CtDjNFbi.js → truck-C0v_hbLR.js} +1 -1
  61. package/dist/{useAnalytics-ph7eTIK6.js → useAnalytics-DS8n0xgg.js} +40 -40
  62. package/dist/useAssistant-D4v3oxD3.js +84 -0
  63. package/dist/{useCustomers-bS3a4ytk.js → useCustomers-BmTNGxiI.js} +24 -24
  64. package/dist/{useFleet-BdETplNE.js → useFleet-DKqXZ16m.js} +133 -109
  65. package/dist/useImportExport-DHr-SWSw.js +55 -0
  66. package/dist/{useInventory-Dwn18FPz.js → useInventory-DkyiVY_A.js} +95 -75
  67. package/dist/{useOrders-D_3_hGMp.js → useOrders-Cfk1GLiq.js} +42 -42
  68. package/dist/useReports-CTqZr-AB.js +78 -0
  69. package/dist/{useRoutes-v4aBaS-E.js → useRoutes-BQWO607N.js} +31 -31
  70. package/dist/useSettings-CkDH_-gM.js +81 -0
  71. package/dist/{useTracking-De2KIUNu.js → useTracking-B-va1kO3.js} +22 -22
  72. package/dist/{user-Dz5TJZFs.js → user-jyFU3lXk.js} +1 -1
  73. package/dist/{users-g2N0eL-Z.js → users-DZ-ilS6B.js} +1 -1
  74. package/dist/{warehouse-D3WWDeTX.js → warehouse-6m5kXMLu.js} +1 -1
  75. package/dist/{wrench-CmxY1n4I.js → wrench-CANXWxF-.js} +1 -1
  76. package/package.json +1 -1
  77. package/src/movethewheels/MoveTheWheelsRoutes.tsx +31 -3
  78. package/src/movethewheels/components/FormError.tsx +25 -0
  79. package/src/movethewheels/components/StatusBadge.tsx +18 -37
  80. package/src/movethewheels/constants/index.ts +67 -26
  81. package/src/movethewheels/hooks/index.ts +12 -0
  82. package/src/movethewheels/hooks/useAnalytics.ts +20 -6
  83. package/src/movethewheels/hooks/useAssistant.ts +74 -0
  84. package/src/movethewheels/hooks/useFleet.ts +170 -59
  85. package/src/movethewheels/hooks/useImportExport.ts +101 -0
  86. package/src/movethewheels/hooks/useInventory.ts +107 -0
  87. package/src/movethewheels/hooks/useReports.ts +158 -0
  88. package/src/movethewheels/hooks/useSettings.ts +120 -0
  89. package/src/movethewheels/pages/AIAssistantPage.tsx +53 -15
  90. package/src/movethewheels/pages/AnalyticsPage.tsx +67 -64
  91. package/src/movethewheels/pages/CustomerDetailsPage.tsx +154 -21
  92. package/src/movethewheels/pages/CustomersPage.tsx +1 -1
  93. package/src/movethewheels/pages/DashboardPage.tsx +42 -22
  94. package/src/movethewheels/pages/DriverDetailsPage.tsx +160 -3
  95. package/src/movethewheels/pages/DriversPage.tsx +6 -2
  96. package/src/movethewheels/pages/FleetPage.tsx +96 -38
  97. package/src/movethewheels/pages/ImportExportPage.tsx +174 -68
  98. package/src/movethewheels/pages/InventoryPage.tsx +66 -28
  99. package/src/movethewheels/pages/LiveTrackingPage.tsx +12 -3
  100. package/src/movethewheels/pages/MarketplacePage.tsx +87 -45
  101. package/src/movethewheels/pages/OrderDetailsPage.tsx +2 -2
  102. package/src/movethewheels/pages/ProductDetailsPage.tsx +146 -3
  103. package/src/movethewheels/pages/ProductsPage.tsx +5 -1
  104. package/src/movethewheels/pages/ReportsPage.tsx +194 -90
  105. package/src/movethewheels/pages/RouteDetailsPage.tsx +290 -36
  106. package/src/movethewheels/pages/RoutesPage.tsx +4 -9
  107. package/src/movethewheels/pages/SettingsPage.tsx +234 -56
  108. package/src/movethewheels/pages/TrackingPage.tsx +6 -6
  109. package/src/movethewheels/pages/VehicleDetailsPage.tsx +158 -2
  110. package/src/movethewheels/pages/VehiclesPage.tsx +5 -1
  111. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +224 -2
  112. package/src/movethewheels/pages/WarehousesPage.tsx +5 -1
  113. package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +7 -6
  114. package/src/movethewheels/store/movethewheelsStore.ts +1 -1
  115. package/dist/AnalyticsPage-CCLfHgQZ.js +0 -212
  116. package/dist/CustomerDetailsPage-I6cdDHUi.js +0 -265
  117. package/dist/DriverDetailsPage-rg_pGNuP.js +0 -330
  118. package/dist/FleetPage-DddXt8r8.js +0 -332
  119. package/dist/ImportExportPage-BW6qO3kc.js +0 -248
  120. package/dist/InventoryPage-rMGuaJN-.js +0 -222
  121. package/dist/MarketplacePage-DKrXAv62.js +0 -219
  122. package/dist/ProductDetailsPage-CFGcbaHo.js +0 -195
  123. package/dist/ReportsPage-Bb7_90rK.js +0 -235
  124. package/dist/RouteDetailsPage-CVtDVb1N.js +0 -282
  125. package/dist/RoutesPage-s57PtgcQ.js +0 -163
  126. package/dist/SettingsPage-BYNCBOpN.js +0 -298
  127. package/dist/StatusBadge-CijYQXtb.js +0 -209
  128. package/dist/VehicleDetailsPage-3YDMPsPs.js +0 -220
  129. package/dist/WarehouseDetailsPage-Db7KeN-d.js +0 -238
  130. package/dist/graphqlClient-CdJyR_ed.js +0 -55
  131. package/dist/navigation-BgnOfsVd.js +0 -6
  132. package/dist/route-Dp9JiN_E.js +0 -51
  133. package/dist/settings-3Rw5NwFF.js +0 -28
  134. package/src/movethewheels/constants/mockData.ts +0 -1342
  135. /package/dist/{formatters-_vJlC-47.js → formatters-CF2S2l1m.js} +0 -0
@@ -1,332 +0,0 @@
1
- import { M as e, a as t, d as n, f as r, g as i, h as a, i as o, o as s, s as c, u as l } from "./PageLayout-D3N8MCTm.js";
2
- import { t as u } from "./chevron-right-BIFGi0UA.js";
3
- import { n as d, t as f } from "./wrench-CmxY1n4I.js";
4
- import { t as p } from "./star-YsVV3MNQ.js";
5
- import { t as m } from "./truck-CtDjNFbi.js";
6
- import { t as h } from "./users-g2N0eL-Z.js";
7
- import { r as g } from "./graphqlClient-CdJyR_ed.js";
8
- import { i as _, n as v, o as y } from "./useFleet-BdETplNE.js";
9
- import { r as b, t as x } from "./MetricCard-B7yMyvMX.js";
10
- import { a as S, r as C } from "./StatusBadge-CijYQXtb.js";
11
- import { t as w } from "./navigation-BgnOfsVd.js";
12
- import { jsx as T, jsxs as E } from "react/jsx-runtime";
13
- import { CTAOverflowMenu as D, EmphasisPanel as O, NextSteps as k, PagePurpose as A } from "@burdenoff/fe-libs/ui";
14
- import { useI18n as j } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
15
- //#region src/movethewheels/pages/FleetPage.tsx
16
- function M() {
17
- let { t: M } = j(), N = (e, t) => {
18
- let n = M(e);
19
- return n === e ? t : n;
20
- }, { basePath: P, navigate: F } = g(), { stats: I } = _(), { vehicles: L } = y(), { drivers: R } = v(), z = (e) => {
21
- F && F(w(P, e));
22
- };
23
- return /* @__PURE__ */ E(o, {
24
- title: N("movethewheels.fleet.title", "Fleet Management"),
25
- subtitle: N("movethewheels.fleet.subtitle", "Manage your vehicles and drivers"),
26
- icon: /* @__PURE__ */ T(m, { size: 24 }),
27
- headerActions: /* @__PURE__ */ T(D, {
28
- primary: {
29
- label: N("movethewheels.fleet.actions.allVehicles", "All Vehicles"),
30
- icon: /* @__PURE__ */ T(m, { size: 16 }),
31
- onSelect: () => z("fleet/vehicles")
32
- },
33
- actions: [{
34
- label: N("movethewheels.fleet.actions.allDrivers", "All Drivers"),
35
- icon: /* @__PURE__ */ T(h, { size: 16 }),
36
- onSelect: () => z("fleet/drivers")
37
- }]
38
- }),
39
- children: [
40
- /* @__PURE__ */ T(A, {
41
- icon: /* @__PURE__ */ T(m, { size: 18 }),
42
- children: N("movethewheels.fleet.purpose", "Your command center for vehicles and drivers. See utilization at a glance, keep an eye on availability and ratings, and act on maintenance alerts so you always have road-ready capacity to fulfil orders.")
43
- }),
44
- /* @__PURE__ */ T(k, {
45
- storageKey: "movethewheels-fleet",
46
- steps: [
47
- {
48
- id: "vehicles",
49
- label: N("movethewheels.fleet.nextSteps.vehicles", "Review your vehicles"),
50
- description: N("movethewheels.fleet.nextSteps.vehiclesDesc", "Check capacity, fuel and maintenance status across the fleet."),
51
- icon: /* @__PURE__ */ T(m, { size: 16 }),
52
- onClick: () => z("fleet/vehicles")
53
- },
54
- {
55
- id: "drivers",
56
- label: N("movethewheels.fleet.nextSteps.drivers", "Review your drivers"),
57
- description: N("movethewheels.fleet.nextSteps.driversDesc", "See availability, ratings and delivery history before assigning work."),
58
- icon: /* @__PURE__ */ T(h, { size: 16 }),
59
- onClick: () => z("fleet/drivers")
60
- },
61
- {
62
- id: "assign",
63
- label: N("movethewheels.fleet.nextSteps.assign", "Assign capacity to orders"),
64
- description: N("movethewheels.fleet.nextSteps.assignDesc", "Open an order to assign an available vehicle and driver."),
65
- icon: /* @__PURE__ */ T(u, { size: 16 }),
66
- onClick: () => z("orders")
67
- }
68
- ]
69
- }),
70
- /* @__PURE__ */ E(b, {
71
- columns: 4,
72
- children: [
73
- /* @__PURE__ */ T(x, {
74
- label: N("movethewheels.fleet.metrics.totalVehicles", "Total Vehicles"),
75
- value: I.totalVehicles,
76
- icon: /* @__PURE__ */ T(m, { size: 20 }),
77
- subtitle: `${I.vehiclesByStatus.available} ${N("movethewheels.fleet.metrics.available", "available")}`,
78
- onClick: () => z("fleet/vehicles")
79
- }),
80
- /* @__PURE__ */ T(x, {
81
- label: N("movethewheels.fleet.metrics.totalDrivers", "Total Drivers"),
82
- value: I.totalDrivers,
83
- icon: /* @__PURE__ */ T(h, { size: 20 }),
84
- subtitle: `${I.driversByStatus.available} ${N("movethewheels.fleet.metrics.available", "available")}`,
85
- onClick: () => z("fleet/drivers")
86
- }),
87
- /* @__PURE__ */ T(x, {
88
- treatment: "glass",
89
- glow: !0,
90
- label: N("movethewheels.fleet.metrics.utilization", "Fleet Utilization"),
91
- value: `${I.utilization.toFixed(0)}%`,
92
- icon: /* @__PURE__ */ T(m, { size: 20 }),
93
- changeType: I.utilization >= 70 ? "positive" : "neutral"
94
- }),
95
- /* @__PURE__ */ T(x, {
96
- label: N("movethewheels.fleet.metrics.avgDriverRating", "Avg Driver Rating"),
97
- value: I.avgDriverRating.toFixed(1),
98
- icon: /* @__PURE__ */ T(p, { size: 20 }),
99
- subtitle: N("movethewheels.fleet.metrics.outOfFive", "out of 5"),
100
- changeType: I.avgDriverRating >= 4.5 ? "positive" : "neutral"
101
- })
102
- ]
103
- }),
104
- /* @__PURE__ */ E("div", {
105
- className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
106
- children: [/* @__PURE__ */ T(t, {
107
- title: N("movethewheels.fleet.vehicles.title", "Vehicles"),
108
- actions: /* @__PURE__ */ E(l, {
109
- variant: "ghost",
110
- size: "sm",
111
- onClick: () => z("fleet/vehicles"),
112
- children: [
113
- N("movethewheels.fleet.common.viewAll", "View all"),
114
- " ",
115
- /* @__PURE__ */ T(u, { size: 16 })
116
- ]
117
- }),
118
- children: /* @__PURE__ */ T(n, { children: /* @__PURE__ */ T(r, {
119
- className: "p-0",
120
- children: /* @__PURE__ */ T("div", {
121
- className: "divide-y",
122
- children: L.slice(0, 5).map((t) => /* @__PURE__ */ T("div", {
123
- className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
124
- onClick: () => z(`fleet/vehicles/${t.id}`),
125
- children: /* @__PURE__ */ E("div", {
126
- className: "flex items-center justify-between",
127
- children: [/* @__PURE__ */ E("div", {
128
- className: "flex items-center gap-3",
129
- children: [/* @__PURE__ */ T("div", {
130
- className: "w-10 h-10 rounded-lg bg-action-primary-bg/10 flex items-center justify-center",
131
- children: /* @__PURE__ */ T(m, {
132
- size: 20,
133
- className: "text-primary"
134
- })
135
- }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ E("div", {
136
- className: "flex items-center gap-2",
137
- children: [/* @__PURE__ */ T("span", {
138
- className: "font-medium",
139
- children: t.vehicleNumber
140
- }), /* @__PURE__ */ T(S, {
141
- type: t.type,
142
- size: "sm"
143
- })]
144
- }), /* @__PURE__ */ E("p", {
145
- className: "text-sm text-text-secondary",
146
- children: [
147
- t.make,
148
- " ",
149
- t.model,
150
- " (",
151
- t.year,
152
- ")"
153
- ]
154
- })] })]
155
- }), /* @__PURE__ */ E("div", {
156
- className: "text-right",
157
- children: [/* @__PURE__ */ T(C, {
158
- status: t.status,
159
- type: "vehicle",
160
- size: "sm"
161
- }), t.fuelLevel !== void 0 && /* @__PURE__ */ E("div", {
162
- className: "mt-2 flex items-center gap-2",
163
- children: [
164
- /* @__PURE__ */ T(d, {
165
- size: 12,
166
- className: "text-text-secondary"
167
- }),
168
- /* @__PURE__ */ T(e, {
169
- value: t.fuelLevel,
170
- className: "w-16 h-2"
171
- }),
172
- /* @__PURE__ */ E("span", {
173
- className: "text-xs text-text-secondary",
174
- children: [t.fuelLevel, "%"]
175
- })
176
- ]
177
- })]
178
- })]
179
- })
180
- }, t.id))
181
- })
182
- }) })
183
- }), /* @__PURE__ */ T(t, {
184
- title: N("movethewheels.fleet.drivers.title", "Drivers"),
185
- actions: /* @__PURE__ */ E(l, {
186
- variant: "ghost",
187
- size: "sm",
188
- onClick: () => z("fleet/drivers"),
189
- children: [
190
- N("movethewheels.fleet.common.viewAll", "View all"),
191
- " ",
192
- /* @__PURE__ */ T(u, { size: 16 })
193
- ]
194
- }),
195
- children: /* @__PURE__ */ T(n, { children: /* @__PURE__ */ T(r, {
196
- className: "p-0",
197
- children: /* @__PURE__ */ T("div", {
198
- className: "divide-y",
199
- children: R.slice(0, 5).map((e) => /* @__PURE__ */ T("div", {
200
- className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
201
- onClick: () => z(`fleet/drivers/${e.id}`),
202
- children: /* @__PURE__ */ E("div", {
203
- className: "flex items-center justify-between",
204
- children: [/* @__PURE__ */ E("div", {
205
- className: "flex items-center gap-3",
206
- children: [/* @__PURE__ */ T(s, { children: /* @__PURE__ */ T(c, { children: e.fullName.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
207
- className: "font-medium",
208
- children: e.fullName
209
- }), /* @__PURE__ */ E("p", {
210
- className: "text-sm text-text-secondary",
211
- children: [
212
- e.employeeId,
213
- " - ",
214
- e.completedOrders,
215
- " ",
216
- N("movethewheels.fleet.drivers.deliveries", "deliveries")
217
- ]
218
- })] })]
219
- }), /* @__PURE__ */ E("div", {
220
- className: "text-right",
221
- children: [/* @__PURE__ */ T(C, {
222
- status: e.status,
223
- type: "driver",
224
- size: "sm"
225
- }), /* @__PURE__ */ E("div", {
226
- className: "mt-1 flex items-center gap-1 justify-end",
227
- children: [/* @__PURE__ */ T(p, {
228
- size: 12,
229
- className: "text-yellow-500 fill-yellow-500"
230
- }), /* @__PURE__ */ T("span", {
231
- className: "text-sm font-medium",
232
- children: e.ratings.overall.toFixed(1)
233
- })]
234
- })]
235
- })]
236
- })
237
- }, e.id))
238
- })
239
- }) })
240
- })]
241
- }),
242
- /* @__PURE__ */ E("div", {
243
- className: "grid grid-cols-1 md:grid-cols-2 gap-6",
244
- children: [/* @__PURE__ */ E(O, {
245
- className: "space-y-4",
246
- children: [/* @__PURE__ */ T("h2", {
247
- className: "text-base font-semibold text-text-primary",
248
- children: N("movethewheels.fleet.status.vehicleTitle", "Vehicle Status")
249
- }), /* @__PURE__ */ T("div", {
250
- className: "space-y-4",
251
- children: Object.entries(I.vehiclesByStatus).map(([t, n]) => /* @__PURE__ */ E("div", {
252
- className: "flex items-center justify-between",
253
- children: [/* @__PURE__ */ T("div", {
254
- className: "flex items-center gap-3",
255
- children: /* @__PURE__ */ T(C, {
256
- status: t,
257
- type: "vehicle"
258
- })
259
- }), /* @__PURE__ */ E("div", {
260
- className: "flex items-center gap-3",
261
- children: [/* @__PURE__ */ T("span", {
262
- className: "font-medium",
263
- children: n
264
- }), /* @__PURE__ */ T(e, {
265
- value: n / I.totalVehicles * 100,
266
- className: "w-24 h-2"
267
- })]
268
- })]
269
- }, t))
270
- })]
271
- }), /* @__PURE__ */ E(n, { children: [/* @__PURE__ */ T(a, { children: /* @__PURE__ */ T(i, { children: N("movethewheels.fleet.status.driverTitle", "Driver Status") }) }), /* @__PURE__ */ T(r, { children: /* @__PURE__ */ T("div", {
272
- className: "space-y-4",
273
- children: Object.entries(I.driversByStatus).map(([t, n]) => /* @__PURE__ */ E("div", {
274
- className: "flex items-center justify-between",
275
- children: [/* @__PURE__ */ T("div", {
276
- className: "flex items-center gap-3",
277
- children: /* @__PURE__ */ T(C, {
278
- status: t,
279
- type: "driver"
280
- })
281
- }), /* @__PURE__ */ E("div", {
282
- className: "flex items-center gap-3",
283
- children: [/* @__PURE__ */ T("span", {
284
- className: "font-medium",
285
- children: n
286
- }), /* @__PURE__ */ T(e, {
287
- value: n / I.totalDrivers * 100,
288
- className: "w-24 h-2"
289
- })]
290
- })]
291
- }, t))
292
- }) })] })]
293
- }),
294
- I.vehiclesByStatus.maintenance > 0 && /* @__PURE__ */ E(n, {
295
- className: "border-status-warning-border",
296
- children: [/* @__PURE__ */ T(a, { children: /* @__PURE__ */ E(i, {
297
- className: "flex items-center gap-2 text-status-warning-text",
298
- children: [/* @__PURE__ */ T(f, { size: 18 }), N("movethewheels.fleet.maintenance.title", "Maintenance Required")]
299
- }) }), /* @__PURE__ */ T(r, { children: /* @__PURE__ */ T("div", {
300
- className: "space-y-3",
301
- children: L.filter((e) => e.status === "maintenance").map((e) => /* @__PURE__ */ E("div", {
302
- className: "flex items-center justify-between p-3 bg-status-warning-bg/10 rounded-lg",
303
- children: [/* @__PURE__ */ E("div", {
304
- className: "flex items-center gap-3",
305
- children: [/* @__PURE__ */ T(m, {
306
- size: 20,
307
- className: "text-status-warning-text"
308
- }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
309
- className: "font-medium",
310
- children: e.vehicleNumber
311
- }), /* @__PURE__ */ E("p", {
312
- className: "text-sm text-text-secondary",
313
- children: [
314
- e.make,
315
- " ",
316
- e.model
317
- ]
318
- })] })]
319
- }), /* @__PURE__ */ T(l, {
320
- variant: "outline",
321
- size: "sm",
322
- onClick: () => z(`fleet/vehicles/${e.id}`),
323
- children: N("movethewheels.fleet.maintenance.viewDetails", "View Details")
324
- })]
325
- }, e.id))
326
- }) })]
327
- })
328
- ]
329
- });
330
- }
331
- //#endregion
332
- export { M as default };
@@ -1,248 +0,0 @@
1
- import { d as e, f as t, g as n, h as r, i, it as a, l as o, u as s } from "./PageLayout-D3N8MCTm.js";
2
- import { t as c } from "./download-Dpa9vqoG.js";
3
- import { t as l } from "./file-text-C8Uioy11.js";
4
- import { jsx as u, jsxs as d } from "react/jsx-runtime";
5
- import { EmphasisPanel as f, IllustratedEmptyState as p, PagePurpose as m } from "@burdenoff/fe-libs/ui";
6
- //#region node_modules/lucide-react/dist/esm/icons/check.js
7
- var h = a("Check", [["path", {
8
- d: "M20 6 9 17l-5-5",
9
- key: "1gmf2c"
10
- }]]), g = a("FileSpreadsheet", [
11
- ["path", {
12
- d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
13
- key: "1rqfz7"
14
- }],
15
- ["path", {
16
- d: "M14 2v4a2 2 0 0 0 2 2h4",
17
- key: "tnqrlb"
18
- }],
19
- ["path", {
20
- d: "M8 13h2",
21
- key: "yr2amv"
22
- }],
23
- ["path", {
24
- d: "M14 13h2",
25
- key: "un5t4a"
26
- }],
27
- ["path", {
28
- d: "M8 17h2",
29
- key: "2yhykz"
30
- }],
31
- ["path", {
32
- d: "M14 17h2",
33
- key: "10kma7"
34
- }]
35
- ]), _ = a("Upload", [
36
- ["path", {
37
- d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
38
- key: "ih7n3h"
39
- }],
40
- ["polyline", {
41
- points: "17 8 12 3 7 8",
42
- key: "t8dd8p"
43
- }],
44
- ["line", {
45
- x1: "12",
46
- x2: "12",
47
- y1: "3",
48
- y2: "15",
49
- key: "widbto"
50
- }]
51
- ]);
52
- //#endregion
53
- //#region src/movethewheels/pages/ImportExportPage.tsx
54
- function v() {
55
- let a = [
56
- {
57
- name: "Orders",
58
- description: "Import orders from CSV or Excel",
59
- icon: g,
60
- format: "CSV, XLSX"
61
- },
62
- {
63
- name: "Customers",
64
- description: "Import customer database",
65
- icon: g,
66
- format: "CSV, XLSX"
67
- },
68
- {
69
- name: "Products",
70
- description: "Import product catalog",
71
- icon: g,
72
- format: "CSV, XLSX"
73
- },
74
- {
75
- name: "Inventory",
76
- description: "Import inventory levels",
77
- icon: g,
78
- format: "CSV, XLSX"
79
- }
80
- ], v = [
81
- {
82
- name: "Orders Report",
83
- description: "Export all orders data",
84
- formats: [
85
- "CSV",
86
- "Excel",
87
- "PDF"
88
- ]
89
- },
90
- {
91
- name: "Financial Report",
92
- description: "Export revenue and payments",
93
- formats: [
94
- "CSV",
95
- "Excel",
96
- "PDF"
97
- ]
98
- },
99
- {
100
- name: "Fleet Report",
101
- description: "Export vehicle and driver data",
102
- formats: ["CSV", "Excel"]
103
- },
104
- {
105
- name: "Analytics Report",
106
- description: "Export performance metrics",
107
- formats: [
108
- "CSV",
109
- "Excel",
110
- "PDF"
111
- ]
112
- }
113
- ], y = [
114
- {
115
- type: "export",
116
- name: "Orders Report",
117
- date: "2024-01-15",
118
- status: "completed"
119
- },
120
- {
121
- type: "import",
122
- name: "Customer Data",
123
- date: "2024-01-14",
124
- status: "completed"
125
- },
126
- {
127
- type: "export",
128
- name: "Financial Report",
129
- date: "2024-01-13",
130
- status: "completed"
131
- }
132
- ];
133
- return /* @__PURE__ */ d(i, {
134
- title: "Import / Export",
135
- subtitle: "Import and export your data",
136
- icon: /* @__PURE__ */ u(l, { size: 24 }),
137
- children: [
138
- /* @__PURE__ */ u(m, {
139
- icon: /* @__PURE__ */ u(l, { size: 18 }),
140
- children: "Move data in and out in bulk. Import orders, customers, products or inventory from CSV/Excel to onboard or migrate without re-keying, and export any dataset for accounting, BI tools or backups — no manual copy-paste required."
141
- }),
142
- /* @__PURE__ */ d("div", {
143
- className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
144
- children: [/* @__PURE__ */ d(f, {
145
- className: "space-y-4",
146
- children: [/* @__PURE__ */ d("h2", {
147
- className: "flex items-center gap-2 text-base font-semibold text-text-primary",
148
- children: [/* @__PURE__ */ u(_, { size: 18 }), " Import Data"]
149
- }), /* @__PURE__ */ u("div", {
150
- className: "space-y-4",
151
- children: a.map((e) => /* @__PURE__ */ d("div", {
152
- className: "flex items-center justify-between p-4 border rounded-lg hover:border-primary/50 transition-colors",
153
- children: [/* @__PURE__ */ d("div", {
154
- className: "flex items-center gap-3",
155
- children: [/* @__PURE__ */ u("div", {
156
- className: "w-10 h-10 rounded-lg bg-action-primary-bg/10 flex items-center justify-center",
157
- children: /* @__PURE__ */ u(e.icon, {
158
- size: 20,
159
- className: "text-primary"
160
- })
161
- }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
162
- className: "font-medium",
163
- children: e.name
164
- }), /* @__PURE__ */ u("p", {
165
- className: "text-sm text-text-secondary",
166
- children: e.description
167
- })] })]
168
- }), /* @__PURE__ */ d("div", {
169
- className: "text-right",
170
- children: [/* @__PURE__ */ u(o, {
171
- variant: "outline",
172
- children: e.format
173
- }), /* @__PURE__ */ u(s, {
174
- variant: "outline",
175
- size: "sm",
176
- className: "ml-2",
177
- children: /* @__PURE__ */ u(_, { size: 14 })
178
- })]
179
- })]
180
- }, e.name))
181
- })]
182
- }), /* @__PURE__ */ d(e, { children: [/* @__PURE__ */ u(r, { children: /* @__PURE__ */ d(n, {
183
- className: "flex items-center gap-2",
184
- children: [/* @__PURE__ */ u(c, { size: 18 }), " Export Data"]
185
- }) }), /* @__PURE__ */ u(t, {
186
- className: "space-y-4",
187
- children: v.map((e) => /* @__PURE__ */ d("div", {
188
- className: "flex items-center justify-between p-4 border rounded-lg hover:border-primary/50 transition-colors",
189
- children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
190
- className: "font-medium",
191
- children: e.name
192
- }), /* @__PURE__ */ u("p", {
193
- className: "text-sm text-text-secondary",
194
- children: e.description
195
- })] }), /* @__PURE__ */ u("div", {
196
- className: "flex gap-1",
197
- children: e.formats.map((e) => /* @__PURE__ */ u(s, {
198
- variant: "outline",
199
- size: "sm",
200
- children: e
201
- }, e))
202
- })]
203
- }, e.name))
204
- })] })]
205
- }),
206
- /* @__PURE__ */ d(e, { children: [/* @__PURE__ */ u(r, { children: /* @__PURE__ */ u(n, { children: "Recent Activity" }) }), /* @__PURE__ */ u(t, { children: y.length === 0 ? /* @__PURE__ */ u(p, {
207
- illustration: "empty-data",
208
- title: "No import or export activity yet",
209
- description: "Your recent imports and exports will show up here once you run one."
210
- }) : /* @__PURE__ */ u("div", {
211
- className: "space-y-3",
212
- children: y.map((e, t) => /* @__PURE__ */ d("div", {
213
- className: "flex items-center justify-between p-3 bg-bg-sunken/50 rounded-lg",
214
- children: [/* @__PURE__ */ d("div", {
215
- className: "flex items-center gap-3",
216
- children: [e.type === "import" ? /* @__PURE__ */ u(_, {
217
- size: 16,
218
- className: "text-primary"
219
- }) : /* @__PURE__ */ u(c, {
220
- size: 16,
221
- className: "text-primary"
222
- }), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
223
- className: "font-medium",
224
- children: e.name
225
- }), /* @__PURE__ */ d("p", {
226
- className: "text-sm text-text-secondary",
227
- children: [
228
- e.type === "import" ? "Imported" : "Exported",
229
- " on ",
230
- e.date
231
- ]
232
- })] })]
233
- }), /* @__PURE__ */ d(o, {
234
- variant: "default",
235
- className: "gap-1",
236
- children: [
237
- /* @__PURE__ */ u(h, { size: 12 }),
238
- " ",
239
- e.status
240
- ]
241
- })]
242
- }, t))
243
- }) })] })
244
- ]
245
- });
246
- }
247
- //#endregion
248
- export { v as default };