@burdenoff/microfe-movethewheels 2026.703.4 → 2026.703.6

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 (150) hide show
  1. package/dist/{AIAssistantPage-3YOnHO9Y.js → AIAssistantPage-BmILdHgO.js} +16 -15
  2. package/dist/AnalyticsPage-BSlsiSDE.js +194 -0
  3. package/dist/{CreateOrderPage-DRAgGo9i.js → CreateOrderPage-DaCgVaO3.js} +40 -40
  4. package/dist/{CustomerDetailsPage-BCeMmOFe.js → CustomerDetailsPage-DErpbafW.js} +71 -71
  5. package/dist/CustomersPage-C1lRU6xs.js +205 -0
  6. package/dist/DashboardPage-Q5-5EKAU.js +542 -0
  7. package/dist/{DataTable-XvUcTjwi.js → DataTable-KjzbwnRL.js} +31 -31
  8. package/dist/{DocumentsCard-U2lSe-cn.js → DocumentsCard-T9y6cv4-.js} +25 -25
  9. package/dist/{DriverDetailsPage-BQrYd_Lp.js → DriverDetailsPage-DnHGkDC7.js} +64 -64
  10. package/dist/DriversPage-C0ujWVOn.js +221 -0
  11. package/dist/FinancePage-CA2XEgsQ.js +175 -0
  12. package/dist/{FleetPage-3ZHsB-TN.js → FleetPage-DrvXW7wK.js} +22 -22
  13. package/dist/{FormError-cuLV2jVD.js → FormError-CRsMP7TQ.js} +1 -1
  14. package/dist/{ImportExportPage-C6f7DqhM.js → ImportExportPage-Cac9HjFx.js} +12 -12
  15. package/dist/InventoryPage-Ezf4gqKI.js +259 -0
  16. package/dist/LiveTrackingPage-CzbVwDqK.js +429 -0
  17. package/dist/{MarketplacePage-Bh_2ns4v.js → MarketplacePage-BHDmSQmo.js} +116 -116
  18. package/dist/MetricCard-DQlDNqmK.js +191 -0
  19. package/dist/{Notice-CSoDYKw9.js → Notice-GmA7JDR3.js} +2 -2
  20. package/dist/{OrderDetailsPage-zCj0lW0j.js → OrderDetailsPage-CR0Wc1aN.js} +58 -58
  21. package/dist/OrdersListPage-C8Bu6wXM.js +386 -0
  22. package/dist/{PageLayout-D4LDHJJq.js → PageLayout-DX1Ou6V6.js} +164 -134
  23. package/dist/{ProductDetailsPage-wsxAQkA0.js → ProductDetailsPage-B_ns2MOe.js} +55 -55
  24. package/dist/ProductsPage-c92BsEoA.js +186 -0
  25. package/dist/ReportsPage-CPLXtLT2.js +377 -0
  26. package/dist/{RouteDetailsPage-DyMJE9AS.js → RouteDetailsPage-DOfcRiFv.js} +208 -181
  27. package/dist/{RoutesPage-Dtc669yc.js → RoutesPage-BZGublby.js} +12 -12
  28. package/dist/{SettingsPage-CpH9xhQg.js → SettingsPage-5cweX_xh.js} +15 -15
  29. package/dist/Sparkline-zSXvG6vA.js +16729 -0
  30. package/dist/{StatusBadge-C87mDpDP.js → StatusBadge-oZjownr1.js} +7 -7
  31. package/dist/TrackingPage-Ln9qVflK.js +368 -0
  32. package/dist/{VehicleDetailsPage-DldYNsYV.js → VehicleDetailsPage-CrkzE0dN.js} +53 -53
  33. package/dist/VehiclesPage-CTQWH7af.js +184 -0
  34. package/dist/{WarehouseDetailsPage-CMG7or6G.js → WarehouseDetailsPage-CwDLaG65.js} +64 -64
  35. package/dist/WarehousesPage-KW02DvZg.js +182 -0
  36. package/dist/{arrow-left-n48Y-Wis.js → arrow-left-DJDw_Yqv.js} +1 -1
  37. package/dist/{arrow-right-Q3XQpTPR.js → arrow-right-Cb2fLTPJ.js} +1 -1
  38. package/dist/{arrow-up-xNF1zJUG.js → arrow-up-PxaOIyiT.js} +1 -1
  39. package/dist/{box-Eu05PXDh.js → box-hSJVtvGf.js} +1 -1
  40. package/dist/boxes-DDnxEkT5.js +54 -0
  41. package/dist/{chart-column-ouzgxIv_.js → chart-column-xXgAZvRl.js} +1 -1
  42. package/dist/charts-CfCwQg6o.js +2018 -0
  43. package/dist/{chevron-left-B2_r0Elx.js → chevron-left-dhEGJYdh.js} +1 -1
  44. package/dist/{chevron-right-eV4LjaSi.js → chevron-right-Cud2NDvm.js} +1 -1
  45. package/dist/chunk-BdsCSvBP.js +20 -0
  46. package/dist/{circle-alert-Bzh2DBSF.js → circle-alert-Rx0p3D5w.js} +1 -1
  47. package/dist/circle-check-BCxRFdFo.js +13 -0
  48. package/dist/{circle-check-big-CGMSpQmD.js → circle-check-big-BcIJ8xjx.js} +1 -1
  49. package/dist/{clock-Bl3ptexL.js → clock-B2_YxJgB.js} +1 -1
  50. package/dist/{dollar-sign-CAVU95SO.js → dollar-sign-CQmAICv4.js} +1 -1
  51. package/dist/{download-C5NbvVDc.js → download-CG4Tponq.js} +1 -1
  52. package/dist/{file-text-D-1uvLZG.js → file-text-CzH-zMub.js} +1 -1
  53. package/dist/{filter-DUfUg6BO.js → filter-C0u2Lwfn.js} +1 -1
  54. package/dist/{fuel-B6_lnKDs.js → fuel-C2KELcM-.js} +1 -1
  55. package/dist/index.css +2 -0
  56. package/dist/index.js +214 -225
  57. package/dist/{map-C-M-FQLR.js → map-FuPu5aTw.js} +1 -1
  58. package/dist/{map-pin-Dznl5l40.js → map-pin-czpLv9uy.js} +1 -1
  59. package/dist/mapMarkers-NCV9MRKR.js +28 -0
  60. package/dist/maps-D9m7PKrs.js +5070 -0
  61. package/dist/{navigation-BJSJl-VG.js → navigation-D5_pdCSS.js} +1 -1
  62. package/dist/{package-CcRttV2N.js → package-B0sdi6lU.js} +1 -1
  63. package/dist/{phone-DVSZHt_j.js → phone-V2nuzPu9.js} +1 -1
  64. package/dist/{plus-C_XZDwBz.js → plus-BqQxkfoU.js} +1 -1
  65. package/dist/{refresh-cw-CfgN67l3.js → refresh-cw-CEOAPEcV.js} +1 -1
  66. package/dist/route-CZWcW-Dw.js +22 -0
  67. package/dist/{save-DJE8Fpdv.js → save-DDFvrxWl.js} +1 -1
  68. package/dist/{search-D_VyGcZT.js → search-D7Ya6jxj.js} +1 -1
  69. package/dist/{square-pen-D-6JYrVQ.js → square-pen-DoZZS4Lw.js} +1 -1
  70. package/dist/{star-BpRlUZuU.js → star-B7PgVu5j.js} +1 -1
  71. package/dist/{store-B-8HMuyZ.js → store-YVzcIG4A.js} +1 -1
  72. package/dist/{trash-2-8vmv-XV_.js → trash-2-BegnBzwI.js} +1 -1
  73. package/dist/{trending-up-Dz6PqPRj.js → trending-up-DBd3XNdb.js} +1 -1
  74. package/dist/{triangle-alert-D7Y3J_4z.js → triangle-alert-Bxk3Kgs6.js} +1 -1
  75. package/dist/{truck-D-y2IDzv.js → truck-Clrn0oHp.js} +1 -1
  76. package/dist/{upload-CHZofOqb.js → upload-Df5JmMwH.js} +1 -1
  77. package/dist/{useAssistant-DVW4QgQb.js → useAssistant-Cb8nnIVC.js} +11 -28
  78. package/dist/{useCustomers-BPW4__PR.js → useCustomers-Dq2IR2HQ.js} +1 -1
  79. package/dist/{useFleet-ChBkxAd6.js → useFleet-CapnWBcA.js} +1 -1
  80. package/dist/{useImportExport-DrPDHEDK.js → useImportExport-BoGzrlJy.js} +1 -1
  81. package/dist/{useInventory-CAAVMRp6.js → useInventory-Ci6M2d9f.js} +1 -1
  82. package/dist/{useOrders-B465S2nt.js → useOrders-BuQU1OHX.js} +1 -1
  83. package/dist/{useReports-jQ3GpNOm.js → useReports-DIx8W7CO.js} +1 -1
  84. package/dist/{useRoutes-hS3d5-xr.js → useRoutes-D7EvI_pm.js} +1 -1
  85. package/dist/{useSettings-BB8X2RLh.js → useSettings-BhX251UQ.js} +6 -6
  86. package/dist/{useTracking-RjGz9PZG.js → useTracking-C40jmZ6W.js} +3 -3
  87. package/dist/{user-DzfTn4dE.js → user-BlcJrbtE.js} +1 -1
  88. package/dist/{user-check-BEKRCi7v.js → user-check-DtnQmimP.js} +1 -1
  89. package/dist/{users-CCrq-w0C.js → users-Cvwko-Dx.js} +1 -1
  90. package/dist/{warehouse-CaqfmMKh.js → warehouse-LWLVTk6G.js} +1 -1
  91. package/dist/{wrench-q_rgJfaP.js → wrench-Cme0RbyR.js} +1 -1
  92. package/dist/{x-tMeDMcCw.js → x-D8C9Pg5V.js} +1 -1
  93. package/package.json +5 -1
  94. package/src/movethewheels/components/GlassPanel.tsx +71 -0
  95. package/src/movethewheels/components/MetricCard.tsx +171 -73
  96. package/src/movethewheels/components/StatusBadge.tsx +7 -6
  97. package/src/movethewheels/components/charts/ChartShell.tsx +78 -0
  98. package/src/movethewheels/components/charts/Sparkline.tsx +85 -0
  99. package/src/movethewheels/components/charts/StatusDonut.tsx +115 -0
  100. package/src/movethewheels/components/charts/TrendChart.tsx +179 -0
  101. package/src/movethewheels/components/charts/VolumeBar.tsx +97 -0
  102. package/src/movethewheels/components/charts/chartTokens.ts +43 -0
  103. package/src/movethewheels/components/charts/index.ts +9 -0
  104. package/src/movethewheels/components/index.ts +44 -1
  105. package/src/movethewheels/components/maps/LogisticsMap.tsx +94 -0
  106. package/src/movethewheels/components/maps/MapCanvas.tsx +118 -0
  107. package/src/movethewheels/components/maps/RouteMap.tsx +71 -0
  108. package/src/movethewheels/components/maps/TrackingMap.tsx +102 -0
  109. package/src/movethewheels/components/maps/index.ts +16 -0
  110. package/src/movethewheels/components/maps/leaflet-setup.ts +124 -0
  111. package/src/movethewheels/components/maps/map-markers.css +121 -0
  112. package/src/movethewheels/hooks/useAnalytics.ts +14 -4
  113. package/src/movethewheels/pages/AnalyticsPage.tsx +93 -73
  114. package/src/movethewheels/pages/CreateOrderPage.tsx +4 -4
  115. package/src/movethewheels/pages/CustomersPage.tsx +29 -20
  116. package/src/movethewheels/pages/DashboardPage.tsx +238 -12
  117. package/src/movethewheels/pages/DriverDetailsPage.tsx +1 -1
  118. package/src/movethewheels/pages/DriversPage.tsx +35 -24
  119. package/src/movethewheels/pages/FinancePage.tsx +68 -30
  120. package/src/movethewheels/pages/InventoryPage.tsx +15 -3
  121. package/src/movethewheels/pages/LiveTrackingPage.tsx +124 -16
  122. package/src/movethewheels/pages/OrdersListPage.tsx +46 -38
  123. package/src/movethewheels/pages/ProductsPage.tsx +28 -24
  124. package/src/movethewheels/pages/ReportsPage.tsx +23 -0
  125. package/src/movethewheels/pages/RouteDetailsPage.tsx +46 -7
  126. package/src/movethewheels/pages/SettingsPage.tsx +2 -2
  127. package/src/movethewheels/pages/TrackingPage.tsx +76 -6
  128. package/src/movethewheels/pages/VehicleDetailsPage.tsx +1 -1
  129. package/src/movethewheels/pages/VehiclesPage.tsx +34 -24
  130. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +1 -1
  131. package/src/movethewheels/pages/WarehousesPage.tsx +28 -22
  132. package/src/movethewheels/types/index.ts +1 -1
  133. package/src/movethewheels/utils/graphqlClient.ts +81 -31
  134. package/src/movethewheels/utils/mapMarkers.ts +58 -0
  135. package/dist/AnalyticsPage-CMpI1070.js +0 -215
  136. package/dist/CustomersPage-CaNBMXmM.js +0 -172
  137. package/dist/DashboardPage-DIKlXde3.js +0 -387
  138. package/dist/DriversPage-PYmdFiby.js +0 -176
  139. package/dist/FinancePage-Cwh9Bw4M.js +0 -136
  140. package/dist/InventoryPage-DpiqVu1v.js +0 -253
  141. package/dist/LiveTrackingPage-FAzzlVnX.js +0 -379
  142. package/dist/MetricCard-CVBVpu7o.js +0 -146
  143. package/dist/OrdersListPage-CAMsuUck.js +0 -384
  144. package/dist/ProductsPage-DC5qDLfz.js +0 -180
  145. package/dist/ReportsPage-BwUJ37eO.js +0 -356
  146. package/dist/TrackingPage-DaNEFG_h.js +0 -325
  147. package/dist/VehiclesPage-BFw13iMt.js +0 -176
  148. package/dist/WarehousesPage-Wkytnt86.js +0 -173
  149. package/dist/useAnalytics-D7HW2XRb.js +0 -347
  150. /package/dist/{formatters-BQr-aR5W.js → formatters-FWJDwTFv.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { l as e, rt as t } from "./PageLayout-D4LDHJJq.js";
1
+ import { l as e, rt as t } from "./PageLayout-DX1Ou6V6.js";
2
2
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
3
  //#region src/movethewheels/constants/index.ts
4
4
  var i = {
@@ -75,10 +75,10 @@ function h({ status: i, type: a = "custom", customColors: o, size: s = "md", sho
75
75
  let g = i.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase());
76
76
  return /* @__PURE__ */ r(e, {
77
77
  variant: "outline",
78
- className: t("font-medium capitalize border-0 whitespace-nowrap inline-flex items-center", p.bg, p.text, m[s], f),
78
+ className: t("inline-flex items-center gap-1.5 whitespace-nowrap rounded-full border-0 font-medium capitalize", "ring-1 ring-inset ring-border-seam/60", p.bg, p.text, m[s], f),
79
79
  children: [c && /* @__PURE__ */ n("span", {
80
80
  "aria-hidden": "true",
81
- className: t("w-1.5 h-1.5 rounded-full mr-1.5 flex-shrink-0 motion-safe:animate-vc-glow-pulse", p.text.replace("text-", "bg-"))
81
+ className: t("h-1.5 w-1.5 flex-shrink-0 rounded-full motion-safe:animate-vc-glow-pulse", p.text.replace("text-", "bg-"))
82
82
  }), g]
83
83
  });
84
84
  }
@@ -86,7 +86,7 @@ function g({ priority: r, size: i = "md", className: a }) {
86
86
  let o = f[r];
87
87
  return /* @__PURE__ */ n(e, {
88
88
  variant: "outline",
89
- className: t("font-medium capitalize border-0 whitespace-nowrap", o.bg, o.text, m[i], a),
89
+ className: t("rounded-full font-medium capitalize border-0 whitespace-nowrap ring-1 ring-inset ring-border-seam/60", o.bg, o.text, m[i], a),
90
90
  children: r
91
91
  });
92
92
  }
@@ -103,7 +103,7 @@ function _({ type: r, size: i = "md", className: a }) {
103
103
  }[r];
104
104
  return /* @__PURE__ */ n(e, {
105
105
  variant: "outline",
106
- className: t("font-medium uppercase border-0 whitespace-nowrap", o.bg, o.text, m[i], a),
106
+ className: t("rounded-full font-medium uppercase border-0 whitespace-nowrap ring-1 ring-inset ring-border-seam/60", o.bg, o.text, m[i], a),
107
107
  children: r
108
108
  });
109
109
  }
@@ -128,14 +128,14 @@ function v({ status: r, size: i = "md", className: a }) {
128
128
  }[r];
129
129
  return /* @__PURE__ */ n(e, {
130
130
  variant: "outline",
131
- className: t("font-medium capitalize border-0 whitespace-nowrap", o.bg, o.text, m[i], a),
131
+ className: t("rounded-full font-medium capitalize border-0 whitespace-nowrap ring-1 ring-inset ring-border-seam/60", o.bg, o.text, m[i], a),
132
132
  children: r
133
133
  });
134
134
  }
135
135
  function y({ type: i, size: a = "md", className: o }) {
136
136
  return /* @__PURE__ */ r(e, {
137
137
  variant: "outline",
138
- className: t("font-medium capitalize whitespace-nowrap inline-flex items-center", m[a], o),
138
+ className: t("rounded-full font-medium capitalize whitespace-nowrap inline-flex items-center ring-1 ring-inset ring-border-seam/60", m[a], o),
139
139
  children: [/* @__PURE__ */ n("span", {
140
140
  className: "mr-1",
141
141
  children: {
@@ -0,0 +1,368 @@
1
+ import { A as e, d as t, f as n, g as r, h as i, i as a, lt as o, st as s, t as c, u as l } from "./PageLayout-DX1Ou6V6.js";
2
+ import { t as u } from "./circle-alert-Rx0p3D5w.js";
3
+ import { t as d } from "./circle-check-big-BcIJ8xjx.js";
4
+ import { t as f } from "./clock-B2_YxJgB.js";
5
+ import { t as p } from "./map-pin-czpLv9uy.js";
6
+ import { t as m } from "./package-B0sdi6lU.js";
7
+ import { t as h } from "./search-D7Ya6jxj.js";
8
+ import { t as g } from "./truck-Clrn0oHp.js";
9
+ import { i as _ } from "./useTracking-C40jmZ6W.js";
10
+ import { t as v } from "./maps-D9m7PKrs.js";
11
+ import { r as y } from "./StatusBadge-oZjownr1.js";
12
+ import { r as b, t as x } from "./formatters-FWJDwTFv.js";
13
+ import { n as S } from "./mapMarkers-NCV9MRKR.js";
14
+ import { useMemo as C, useState as w } from "react";
15
+ import { useSearchParams as T } from "react-router-dom";
16
+ import { jsx as E, jsxs as D } from "react/jsx-runtime";
17
+ import { EmphasisPanel as O, PagePurpose as k } from "@burdenoff/fe-libs/ui";
18
+ import { useI18n as A } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
19
+ //#region src/movethewheels/pages/TrackingPage.tsx
20
+ function j() {
21
+ let { t: j } = A(), M = (e, t) => {
22
+ let n = j(e);
23
+ return n === e ? t : n;
24
+ }, { basePath: N, navigate: P } = s(), [F] = T(), I = F.get("order") || "", [L, R] = w(I), [z, B] = w(I), { tracking: V, order: H, isLoading: U, error: W } = _(z || void 0), G = (e) => {
25
+ e.preventDefault(), B(L);
26
+ }, K = (e) => {
27
+ P && P(o(N, e));
28
+ }, q = C(() => {
29
+ if (!H) return null;
30
+ let e = S(H.pickupAddress), t = S(H.deliveryAddress), n = e ? {
31
+ ...e,
32
+ label: `Pickup · ${H.pickupAddress.city || "Origin"}`
33
+ } : null, r = t ? {
34
+ ...t,
35
+ label: `Delivery · ${H.deliveryAddress.city || "Destination"}`
36
+ } : null, i = H.timeline.map((e) => {
37
+ let t = e.location ? S(e.location) : null;
38
+ return t ? {
39
+ lat: t.lat,
40
+ lng: t.lng,
41
+ timestamp: new Date(e.timestamp).toISOString()
42
+ } : null;
43
+ }).filter((e) => e !== null), a = V ? S(V.currentLocation) : null, o = a ? {
44
+ ...a,
45
+ label: V?.currentLocation.address || "Current position"
46
+ } : null;
47
+ return {
48
+ origin: n,
49
+ destination: r,
50
+ trail: i,
51
+ current: o,
52
+ hasAny: !!(n || r || o || i.length > 0)
53
+ };
54
+ }, [H, V]);
55
+ return /* @__PURE__ */ D(a, {
56
+ title: M("movethewheels.tracking.title", "Track Shipment"),
57
+ subtitle: M("movethewheels.tracking.subtitle", "Enter a tracking number or order ID to track your shipment"),
58
+ icon: /* @__PURE__ */ E(p, { size: 24 }),
59
+ headerActions: /* @__PURE__ */ D(l, {
60
+ variant: "outline",
61
+ onClick: () => K("tracking/live"),
62
+ children: [/* @__PURE__ */ E(p, { size: 16 }), M("movethewheels.tracking.actions.liveMapView", "Live Map View")]
63
+ }),
64
+ children: [
65
+ /* @__PURE__ */ E(k, {
66
+ icon: /* @__PURE__ */ E(p, { size: 18 }),
67
+ children: M("movethewheels.tracking.purpose", "Look up any single shipment by its tracking number or order ID to see exactly where it is, its progress through pickup and delivery, the current location and any alerts — the same view you can share with a customer.")
68
+ }),
69
+ /* @__PURE__ */ E(t, { children: /* @__PURE__ */ E(n, {
70
+ className: "p-6",
71
+ children: /* @__PURE__ */ D("form", {
72
+ onSubmit: G,
73
+ className: "flex gap-4",
74
+ children: [/* @__PURE__ */ D("div", {
75
+ className: "flex-1 relative",
76
+ children: [/* @__PURE__ */ E(h, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-text-secondary" }), /* @__PURE__ */ E(e, {
77
+ value: L,
78
+ onChange: (e) => R(e.target.value),
79
+ placeholder: M("movethewheels.tracking.search.placeholder", "Enter tracking number or order ID (e.g., order-1 or TRK123456789)"),
80
+ className: "pl-10 h-12 text-lg"
81
+ })]
82
+ }), /* @__PURE__ */ E(l, {
83
+ type: "submit",
84
+ size: "lg",
85
+ disabled: !L || U,
86
+ children: U ? M("movethewheels.tracking.search.searching", "Searching...") : M("movethewheels.tracking.search.track", "Track")
87
+ })]
88
+ })
89
+ }) }),
90
+ W && /* @__PURE__ */ E(t, {
91
+ className: "border-status-error-border",
92
+ children: /* @__PURE__ */ E(n, {
93
+ className: "p-6",
94
+ children: /* @__PURE__ */ D("div", {
95
+ className: "flex items-center gap-4",
96
+ children: [/* @__PURE__ */ E(u, { className: "w-8 h-8 text-status-error-text" }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
97
+ className: "font-medium text-status-error-text",
98
+ children: M("movethewheels.tracking.error.title", "Unable to find shipment")
99
+ }), /* @__PURE__ */ E("p", {
100
+ className: "text-sm text-text-secondary",
101
+ children: M("movethewheels.tracking.error.description", "Please check the tracking number and try again")
102
+ })] })]
103
+ })
104
+ })
105
+ }),
106
+ !z && !W && /* @__PURE__ */ E(c, {
107
+ illustration: "onboarding",
108
+ title: M("movethewheels.tracking.empty.title", "Enter a tracking number"),
109
+ description: M("movethewheels.tracking.empty.description", "Use your tracking number or order ID to see the current status of your shipment")
110
+ }),
111
+ H && V && /* @__PURE__ */ D("div", {
112
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
113
+ children: [/* @__PURE__ */ D("div", {
114
+ className: "lg:col-span-2 space-y-6",
115
+ children: [
116
+ /* @__PURE__ */ D(O, { children: [/* @__PURE__ */ D("div", {
117
+ className: "flex items-center justify-between mb-4",
118
+ children: [/* @__PURE__ */ D("h2", {
119
+ className: "flex items-center gap-2 text-base font-semibold text-text-primary",
120
+ children: [
121
+ /* @__PURE__ */ E(m, { size: 20 }),
122
+ M("movethewheels.tracking.orderLabel", "Order"),
123
+ " ",
124
+ H.orderNumber
125
+ ]
126
+ }), /* @__PURE__ */ E(y, {
127
+ status: H.status,
128
+ type: "order"
129
+ })]
130
+ }), /* @__PURE__ */ D("div", {
131
+ className: "grid grid-cols-2 md:grid-cols-4 gap-4",
132
+ children: [
133
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
134
+ className: "text-sm text-text-secondary",
135
+ children: M("movethewheels.tracking.details.trackingNumber", "Tracking Number")
136
+ }), /* @__PURE__ */ E("p", {
137
+ className: "font-mono font-medium",
138
+ children: H.trackingNumber
139
+ })] }),
140
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
141
+ className: "text-sm text-text-secondary",
142
+ children: M("movethewheels.tracking.details.estimatedDelivery", "Estimated Delivery")
143
+ }), /* @__PURE__ */ E("p", {
144
+ className: "font-medium",
145
+ children: V.estimatedArrival ? b(V.estimatedArrival, "full") : H.scheduledDelivery ? b(H.scheduledDelivery, "full") : M("movethewheels.tracking.details.tbd", "TBD")
146
+ })] }),
147
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
148
+ className: "text-sm text-text-secondary",
149
+ children: M("movethewheels.tracking.details.items", "Items")
150
+ }), /* @__PURE__ */ D("p", {
151
+ className: "font-medium",
152
+ children: [
153
+ H.items.length,
154
+ " ",
155
+ M("movethewheels.tracking.details.itemsSuffix", "items")
156
+ ]
157
+ })] }),
158
+ /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
159
+ className: "text-sm text-text-secondary",
160
+ children: M("movethewheels.tracking.details.lastUpdated", "Last Updated")
161
+ }), /* @__PURE__ */ E("p", {
162
+ className: "font-medium",
163
+ children: b(V.lastUpdated, "relative")
164
+ })] })
165
+ ]
166
+ })] }),
167
+ /* @__PURE__ */ D(t, { children: [/* @__PURE__ */ E(i, { children: /* @__PURE__ */ D(r, {
168
+ className: "flex items-center gap-2",
169
+ children: [/* @__PURE__ */ E(p, { size: 18 }), M("movethewheels.tracking.routeMap.title", "Route map")]
170
+ }) }), /* @__PURE__ */ E(n, { children: /* @__PURE__ */ E(v, {
171
+ className: "overflow-hidden rounded-lg border border-border-seam",
172
+ height: 320,
173
+ origin: q?.origin ?? null,
174
+ destination: q?.destination ?? null,
175
+ trail: q?.trail ?? [],
176
+ current: q?.current ?? null,
177
+ emptyMessage: M("movethewheels.tracking.routeMap.empty", "No location coordinates recorded for this shipment yet")
178
+ }) })] }),
179
+ /* @__PURE__ */ D(t, { children: [/* @__PURE__ */ E(i, { children: /* @__PURE__ */ D(r, {
180
+ className: "flex items-center gap-2",
181
+ children: [/* @__PURE__ */ E(f, { size: 18 }), M("movethewheels.tracking.progress.title", "Shipment Progress")]
182
+ }) }), /* @__PURE__ */ D(n, { children: [/* @__PURE__ */ E("div", {
183
+ className: "relative",
184
+ children: /* @__PURE__ */ E("div", {
185
+ className: "flex justify-between mb-4",
186
+ children: [
187
+ {
188
+ status: "confirmed",
189
+ label: M("movethewheels.tracking.progress.confirmed", "Confirmed"),
190
+ icon: d
191
+ },
192
+ {
193
+ status: "picked_up",
194
+ label: M("movethewheels.tracking.progress.pickedUp", "Picked Up"),
195
+ icon: m
196
+ },
197
+ {
198
+ status: "in_transit",
199
+ label: M("movethewheels.tracking.progress.inTransit", "In Transit"),
200
+ icon: g
201
+ },
202
+ {
203
+ status: "delivered",
204
+ label: M("movethewheels.tracking.progress.delivered", "Delivered"),
205
+ icon: p
206
+ }
207
+ ].map((e, t) => {
208
+ let n = [
209
+ "pending",
210
+ "confirmed",
211
+ "assigned",
212
+ "picked_up",
213
+ "in_transit",
214
+ "out_for_delivery",
215
+ "delivered"
216
+ ], r = n.indexOf(H.status), i = n.indexOf(e.status) <= r, a = e.status === H.status || H.status === "out_for_delivery" && e.status === "in_transit";
217
+ return /* @__PURE__ */ D("div", {
218
+ className: "flex flex-col items-center flex-1",
219
+ children: [
220
+ /* @__PURE__ */ E("div", {
221
+ className: `w-10 h-10 rounded-full flex items-center justify-center ${i ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-secondary"} ${a ? "ring-4 ring-primary/20" : ""}`,
222
+ children: /* @__PURE__ */ E(e.icon, { size: 20 })
223
+ }),
224
+ /* @__PURE__ */ E("p", {
225
+ className: `text-xs mt-2 text-center ${i ? "font-medium" : "text-text-secondary"}`,
226
+ children: e.label
227
+ }),
228
+ t < 3 && /* @__PURE__ */ E("div", {
229
+ className: `absolute top-5 h-0.5 ${i ? "bg-action-primary-bg" : "bg-bg-sunken"}`,
230
+ style: {
231
+ left: `calc(${(t + .5) * 25}% + 20px)`,
232
+ width: "calc(25% - 40px)"
233
+ }
234
+ })
235
+ ]
236
+ }, e.status);
237
+ })
238
+ })
239
+ }), /* @__PURE__ */ E("div", {
240
+ className: "mt-8 space-y-4",
241
+ children: H.timeline.slice().reverse().map((e, t) => /* @__PURE__ */ D("div", {
242
+ className: "flex gap-4",
243
+ children: [/* @__PURE__ */ D("div", {
244
+ className: "relative",
245
+ children: [/* @__PURE__ */ E("div", { className: `w-3 h-3 rounded-full ${t === 0 ? "bg-action-primary-bg" : "bg-bg-sunken"}` }), t < H.timeline.length - 1 && /* @__PURE__ */ E("div", { className: "absolute top-3 left-1.5 w-px h-8 -ml-px bg-border" })]
246
+ }), /* @__PURE__ */ D("div", {
247
+ className: "flex-1 pb-4",
248
+ children: [
249
+ /* @__PURE__ */ D("div", {
250
+ className: "flex items-center gap-2",
251
+ children: [/* @__PURE__ */ E(y, {
252
+ status: e.status,
253
+ type: "order",
254
+ size: "sm"
255
+ }), /* @__PURE__ */ E("span", {
256
+ className: "text-sm text-text-secondary",
257
+ children: b(e.timestamp, "full")
258
+ })]
259
+ }),
260
+ e.notes && /* @__PURE__ */ E("p", {
261
+ className: "text-sm mt-1",
262
+ children: e.notes
263
+ }),
264
+ e.location && /* @__PURE__ */ D("p", {
265
+ className: "text-xs text-text-secondary mt-1",
266
+ children: [/* @__PURE__ */ E(p, {
267
+ size: 12,
268
+ className: "inline mr-1"
269
+ }), x(e.location)]
270
+ })
271
+ ]
272
+ })]
273
+ }, t))
274
+ })] })] }),
275
+ V.alerts && V.alerts.length > 0 && /* @__PURE__ */ D(t, { children: [/* @__PURE__ */ E(i, { children: /* @__PURE__ */ D(r, {
276
+ className: "flex items-center gap-2",
277
+ children: [/* @__PURE__ */ E(u, { size: 18 }), M("movethewheels.tracking.alerts.title", "Alerts")]
278
+ }) }), /* @__PURE__ */ E(n, { children: /* @__PURE__ */ E("div", {
279
+ className: "space-y-3",
280
+ children: V.alerts.map((e) => /* @__PURE__ */ D("div", {
281
+ className: `flex items-start gap-3 p-3 rounded-lg ${e.severity === "critical" ? "bg-status-error-bg-subtle" : (e.severity, "bg-status-warning-bg-subtle")}`,
282
+ children: [/* @__PURE__ */ E(u, {
283
+ size: 16,
284
+ className: e.severity === "critical" ? "text-status-error-text" : (e.severity, "text-status-warning-text")
285
+ }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("p", {
286
+ className: "text-sm font-medium",
287
+ children: e.message
288
+ }), /* @__PURE__ */ D("p", {
289
+ className: "text-xs text-text-secondary",
290
+ children: [b(e.timestamp, "relative"), e.resolvedAt && ` - ${M("movethewheels.tracking.alerts.resolved", "Resolved")}`]
291
+ })] })]
292
+ }, e.id))
293
+ }) })] })
294
+ ]
295
+ }), /* @__PURE__ */ D("div", {
296
+ className: "space-y-6",
297
+ children: [
298
+ /* @__PURE__ */ D(t, { children: [/* @__PURE__ */ E(i, { children: /* @__PURE__ */ D(r, {
299
+ className: "flex items-center gap-2",
300
+ children: [/* @__PURE__ */ E(p, { size: 18 }), M("movethewheels.tracking.location.title", "Current Location")]
301
+ }) }), /* @__PURE__ */ D(n, { children: [
302
+ q?.current ? /* @__PURE__ */ E(v, {
303
+ className: "mb-4 overflow-hidden rounded-lg border border-border-seam",
304
+ height: 180,
305
+ current: q.current,
306
+ destination: q.destination ?? null,
307
+ trail: q.trail
308
+ }) : /* @__PURE__ */ D("div", {
309
+ className: "mb-4 rounded-lg bg-bg-sunken p-4 text-center text-text-secondary",
310
+ children: [/* @__PURE__ */ E(p, {
311
+ size: 28,
312
+ className: "mx-auto mb-2 opacity-60"
313
+ }), /* @__PURE__ */ E("p", {
314
+ className: "text-sm",
315
+ children: M("movethewheels.tracking.location.noFix", "No live position fix yet")
316
+ })]
317
+ }),
318
+ /* @__PURE__ */ E("p", {
319
+ className: "text-sm",
320
+ children: V.currentLocation.address || M("movethewheels.tracking.location.updating", "Location updating...")
321
+ }),
322
+ /* @__PURE__ */ D("p", {
323
+ className: "text-xs text-text-secondary mt-1",
324
+ children: [
325
+ M("movethewheels.tracking.location.updated", "Updated"),
326
+ " ",
327
+ b(V.currentLocation.timestamp || /* @__PURE__ */ new Date(), "relative")
328
+ ]
329
+ })
330
+ ] })] }),
331
+ /* @__PURE__ */ D(t, { children: [/* @__PURE__ */ E(i, { children: /* @__PURE__ */ E(r, { children: M("movethewheels.tracking.deliveryAddress.title", "Delivery Address") }) }), /* @__PURE__ */ D(n, { children: [/* @__PURE__ */ E("p", {
332
+ className: "text-sm",
333
+ children: H.customerInfo.name
334
+ }), /* @__PURE__ */ E("p", {
335
+ className: "text-sm text-text-secondary mt-2",
336
+ children: x(H.deliveryAddress)
337
+ })] })] }),
338
+ /* @__PURE__ */ E(t, { children: /* @__PURE__ */ D(n, {
339
+ className: "p-4 space-y-2",
340
+ children: [/* @__PURE__ */ E(l, {
341
+ variant: "outline",
342
+ className: "w-full",
343
+ onClick: () => K(`orders/${H.id}`),
344
+ children: M("movethewheels.tracking.actions.viewOrderDetails", "View Order Details")
345
+ }), /* @__PURE__ */ E(l, {
346
+ variant: "outline",
347
+ className: "w-full",
348
+ children: M("movethewheels.tracking.actions.contactDriver", "Contact Driver")
349
+ })]
350
+ }) })
351
+ ]
352
+ })]
353
+ }),
354
+ z && !H && !U && !W && /* @__PURE__ */ E(c, {
355
+ illustration: "empty-search",
356
+ title: M("movethewheels.tracking.notFound.title", "Shipment not found"),
357
+ description: `${M("movethewheels.tracking.notFound.descriptionPrefix", "No shipment found with tracking number")} "${z}"`,
358
+ action: /* @__PURE__ */ E(l, {
359
+ variant: "outline",
360
+ onClick: () => R(""),
361
+ children: M("movethewheels.tracking.notFound.tryAnother", "Try another number")
362
+ })
363
+ })
364
+ ]
365
+ });
366
+ }
367
+ //#endregion
368
+ export { j as default };
@@ -1,16 +1,16 @@
1
- import { A as e, F as t, I as n, L as r, M as i, P as a, R as o, ct as s, d as c, f as l, g as u, h as d, i as f, j as p, n as m, ot as h, r as g, u as _ } from "./PageLayout-D4LDHJJq.js";
2
- import { t as v } from "./arrow-left-n48Y-Wis.js";
3
- import { t as y } from "./DocumentsCard-U2lSe-cn.js";
4
- import { t as b } from "./fuel-B6_lnKDs.js";
5
- import { t as x } from "./map-pin-Dznl5l40.js";
6
- import { t as S } from "./save-DJE8Fpdv.js";
7
- import { t as C } from "./square-pen-D-6JYrVQ.js";
8
- import { t as w } from "./truck-D-y2IDzv.js";
9
- import { t as T } from "./wrench-q_rgJfaP.js";
10
- import { a as E, r as D } from "./useFleet-ChBkxAd6.js";
11
- import { a as O, r as k } from "./StatusBadge-C87mDpDP.js";
12
- import { t as A } from "./FormError-cuLV2jVD.js";
13
- import { r as j } from "./formatters-BQr-aR5W.js";
1
+ import { A as e, F as t, I as n, L as r, M as i, P as a, R as o, d as s, f as c, g as l, h as u, i as d, j as f, lt as p, n as m, r as h, st as g, u as _ } from "./PageLayout-DX1Ou6V6.js";
2
+ import { t as v } from "./arrow-left-DJDw_Yqv.js";
3
+ import { t as y } from "./DocumentsCard-T9y6cv4-.js";
4
+ import { t as b } from "./fuel-C2KELcM-.js";
5
+ import { t as x } from "./map-pin-czpLv9uy.js";
6
+ import { t as S } from "./save-DDFvrxWl.js";
7
+ import { t as C } from "./square-pen-DoZZS4Lw.js";
8
+ import { t as w } from "./truck-Clrn0oHp.js";
9
+ import { t as T } from "./wrench-Cme0RbyR.js";
10
+ import { a as E, r as D } from "./useFleet-CapnWBcA.js";
11
+ import { a as O, r as k } from "./StatusBadge-oZjownr1.js";
12
+ import { t as A } from "./FormError-CRsMP7TQ.js";
13
+ import { r as j } from "./formatters-FWJDwTFv.js";
14
14
  import { useState as M } from "react";
15
15
  import { useParams as N } from "react-router-dom";
16
16
  import { jsx as P, jsxs as F } from "react/jsx-runtime";
@@ -51,32 +51,32 @@ var z = [
51
51
  }
52
52
  ];
53
53
  function B() {
54
- let { basePath: i, navigate: c } = h(), { createVehicle: l } = D(), [u, d] = M({
54
+ let { basePath: i, navigate: s } = g(), { createVehicle: c } = D(), [l, u] = M({
55
55
  vehicleNumber: "",
56
56
  type: "VAN",
57
57
  make: "",
58
58
  model: "",
59
59
  licensePlate: ""
60
- }), [m, g] = M(!1), [y, b] = M(null), x = () => c?.(s(i, "fleet/vehicles")), C = async (e) => {
61
- if (e.preventDefault(), !u.vehicleNumber.trim()) {
60
+ }), [m, h] = M(!1), [y, b] = M(null), x = () => s?.(p(i, "fleet/vehicles")), C = async (e) => {
61
+ if (e.preventDefault(), !l.vehicleNumber.trim()) {
62
62
  b("Vehicle number is required.");
63
63
  return;
64
64
  }
65
- g(!0), b(null);
65
+ h(!0), b(null);
66
66
  try {
67
- let e = await l({
68
- vehicleNumber: u.vehicleNumber.trim(),
69
- type: u.type,
70
- make: u.make.trim() || void 0,
71
- model: u.model.trim() || void 0,
72
- licensePlate: u.licensePlate.trim() || void 0
67
+ let e = await c({
68
+ vehicleNumber: l.vehicleNumber.trim(),
69
+ type: l.type,
70
+ make: l.make.trim() || void 0,
71
+ model: l.model.trim() || void 0,
72
+ licensePlate: l.licensePlate.trim() || void 0
73
73
  });
74
- c?.(s(i, `fleet/vehicles/${e.id}`));
74
+ s?.(p(i, `fleet/vehicles/${e.id}`));
75
75
  } catch (e) {
76
- console.error("Failed to create vehicle:", e), b(e instanceof Error ? e.message : "Failed to create vehicle. Please try again."), g(!1);
76
+ console.error("Failed to create vehicle:", e), b(e instanceof Error ? e.message : "Failed to create vehicle. Please try again."), h(!1);
77
77
  }
78
78
  };
79
- return /* @__PURE__ */ F(f, {
79
+ return /* @__PURE__ */ F(d, {
80
80
  title: "Add Vehicle",
81
81
  subtitle: "Register a new vehicle in your fleet",
82
82
  icon: /* @__PURE__ */ P(w, { size: 24 }),
@@ -112,7 +112,7 @@ function B() {
112
112
  className: "grid grid-cols-1 md:grid-cols-2 gap-4",
113
113
  children: [/* @__PURE__ */ F("div", {
114
114
  className: "space-y-2",
115
- children: [/* @__PURE__ */ F(p, {
115
+ children: [/* @__PURE__ */ F(f, {
116
116
  htmlFor: "vehicleNumber",
117
117
  children: ["Vehicle Number ", /* @__PURE__ */ P("span", {
118
118
  className: "text-status-error-text",
@@ -120,8 +120,8 @@ function B() {
120
120
  })]
121
121
  }), /* @__PURE__ */ P(e, {
122
122
  id: "vehicleNumber",
123
- value: u.vehicleNumber,
124
- onChange: (e) => d((t) => ({
123
+ value: l.vehicleNumber,
124
+ onChange: (e) => u((t) => ({
125
125
  ...t,
126
126
  vehicleNumber: e.target.value
127
127
  })),
@@ -130,15 +130,15 @@ function B() {
130
130
  })]
131
131
  }), /* @__PURE__ */ F("div", {
132
132
  className: "space-y-2",
133
- children: [/* @__PURE__ */ F(p, {
133
+ children: [/* @__PURE__ */ F(f, {
134
134
  htmlFor: "type",
135
135
  children: ["Type ", /* @__PURE__ */ P("span", {
136
136
  className: "text-status-error-text",
137
137
  children: "*"
138
138
  })]
139
139
  }), /* @__PURE__ */ F(a, {
140
- value: u.type,
141
- onValueChange: (e) => d((t) => ({
140
+ value: l.type,
141
+ onValueChange: (e) => u((t) => ({
142
142
  ...t,
143
143
  type: e
144
144
  })),
@@ -156,13 +156,13 @@ function B() {
156
156
  children: [
157
157
  /* @__PURE__ */ F("div", {
158
158
  className: "space-y-2",
159
- children: [/* @__PURE__ */ P(p, {
159
+ children: [/* @__PURE__ */ P(f, {
160
160
  htmlFor: "make",
161
161
  children: "Make"
162
162
  }), /* @__PURE__ */ P(e, {
163
163
  id: "make",
164
- value: u.make,
165
- onChange: (e) => d((t) => ({
164
+ value: l.make,
165
+ onChange: (e) => u((t) => ({
166
166
  ...t,
167
167
  make: e.target.value
168
168
  })),
@@ -171,13 +171,13 @@ function B() {
171
171
  }),
172
172
  /* @__PURE__ */ F("div", {
173
173
  className: "space-y-2",
174
- children: [/* @__PURE__ */ P(p, {
174
+ children: [/* @__PURE__ */ P(f, {
175
175
  htmlFor: "model",
176
176
  children: "Model"
177
177
  }), /* @__PURE__ */ P(e, {
178
178
  id: "model",
179
- value: u.model,
180
- onChange: (e) => d((t) => ({
179
+ value: l.model,
180
+ onChange: (e) => u((t) => ({
181
181
  ...t,
182
182
  model: e.target.value
183
183
  })),
@@ -186,13 +186,13 @@ function B() {
186
186
  }),
187
187
  /* @__PURE__ */ F("div", {
188
188
  className: "space-y-2",
189
- children: [/* @__PURE__ */ P(p, {
189
+ children: [/* @__PURE__ */ P(f, {
190
190
  htmlFor: "licensePlate",
191
191
  children: "License Plate"
192
192
  }), /* @__PURE__ */ P(e, {
193
193
  id: "licensePlate",
194
- value: u.licensePlate,
195
- onChange: (e) => d((t) => ({
194
+ value: l.licensePlate,
195
+ onChange: (e) => u((t) => ({
196
196
  ...t,
197
197
  licensePlate: e.target.value
198
198
  })),
@@ -206,11 +206,11 @@ function B() {
206
206
  });
207
207
  }
208
208
  function V() {
209
- let { vehicleId: e } = N(), { basePath: t, navigate: n } = h(), { vehicle: r, isLoading: a, error: o, refetch: p } = E(e), S = () => n?.(s(t, "fleet/vehicles")), D = (e) => n?.(s(t, e));
210
- return e ? a ? /* @__PURE__ */ P(g, { message: "Loading vehicle details..." }) : o || !r ? /* @__PURE__ */ P(m, {
209
+ let { vehicleId: e } = N(), { basePath: t, navigate: n } = g(), { vehicle: r, isLoading: a, error: o, refetch: f } = E(e), S = () => n?.(p(t, "fleet/vehicles")), D = (e) => n?.(p(t, e));
210
+ return e ? a ? /* @__PURE__ */ P(h, { message: "Loading vehicle details..." }) : o || !r ? /* @__PURE__ */ P(m, {
211
211
  title: "Vehicle not found",
212
- onRetry: p
213
- }) : /* @__PURE__ */ F(f, {
212
+ onRetry: f
213
+ }) : /* @__PURE__ */ F(d, {
214
214
  title: r.vehicleNumber,
215
215
  subtitle: `${r.make} ${r.model} (${r.year})`,
216
216
  icon: /* @__PURE__ */ P(w, { size: 24 }),
@@ -291,8 +291,8 @@ function V() {
291
291
  })] })
292
292
  ]
293
293
  })] }),
294
- /* @__PURE__ */ F(c, { children: [/* @__PURE__ */ P(d, { children: /* @__PURE__ */ P(u, { children: "Capacity" }) }), /* @__PURE__ */ P(l, { children: /* @__PURE__ */ F("div", {
295
- className: "grid grid-cols-3 gap-6",
294
+ /* @__PURE__ */ F(s, { children: [/* @__PURE__ */ P(u, { children: /* @__PURE__ */ P(l, { children: "Capacity" }) }), /* @__PURE__ */ P(c, { children: /* @__PURE__ */ F("div", {
295
+ className: "grid grid-cols-1 sm:grid-cols-3 gap-6",
296
296
  children: [
297
297
  /* @__PURE__ */ F("div", { children: [/* @__PURE__ */ P("p", {
298
298
  className: "text-sm text-text-secondary",
@@ -331,10 +331,10 @@ function V() {
331
331
  }), /* @__PURE__ */ F("div", {
332
332
  className: "space-y-6",
333
333
  children: [
334
- /* @__PURE__ */ F(c, { children: [/* @__PURE__ */ P(d, { children: /* @__PURE__ */ F(u, {
334
+ /* @__PURE__ */ F(s, { children: [/* @__PURE__ */ P(u, { children: /* @__PURE__ */ F(l, {
335
335
  className: "flex items-center gap-2",
336
336
  children: [/* @__PURE__ */ P(b, { size: 18 }), " Fuel & Mileage"]
337
- }) }), /* @__PURE__ */ F(l, {
337
+ }) }), /* @__PURE__ */ F(c, {
338
338
  className: "space-y-4",
339
339
  children: [r.fuelLevel !== void 0 && /* @__PURE__ */ F("div", { children: [/* @__PURE__ */ F("div", {
340
340
  className: "flex justify-between text-sm mb-2",
@@ -354,10 +354,10 @@ function V() {
354
354
  ]
355
355
  })] })]
356
356
  })] }),
357
- /* @__PURE__ */ F(c, { children: [/* @__PURE__ */ P(d, { children: /* @__PURE__ */ F(u, {
357
+ /* @__PURE__ */ F(s, { children: [/* @__PURE__ */ P(u, { children: /* @__PURE__ */ F(l, {
358
358
  className: "flex items-center gap-2",
359
359
  children: [/* @__PURE__ */ P(T, { size: 18 }), " Maintenance"]
360
- }) }), /* @__PURE__ */ F(l, {
360
+ }) }), /* @__PURE__ */ F(c, {
361
361
  className: "space-y-3",
362
362
  children: [/* @__PURE__ */ F("div", { children: [/* @__PURE__ */ P("p", {
363
363
  className: "text-sm text-text-secondary",
@@ -373,10 +373,10 @@ function V() {
373
373
  children: r.nextMaintenance ? j(r.nextMaintenance) : "N/A"
374
374
  })] })]
375
375
  })] }),
376
- r.currentLocation && /* @__PURE__ */ F(c, { children: [/* @__PURE__ */ P(d, { children: /* @__PURE__ */ F(u, {
376
+ r.currentLocation && /* @__PURE__ */ F(s, { children: [/* @__PURE__ */ P(u, { children: /* @__PURE__ */ F(l, {
377
377
  className: "flex items-center gap-2",
378
378
  children: [/* @__PURE__ */ P(x, { size: 18 }), " Current Location"]
379
- }) }), /* @__PURE__ */ F(l, { children: [/* @__PURE__ */ P("p", {
379
+ }) }), /* @__PURE__ */ F(c, { children: [/* @__PURE__ */ P("p", {
380
380
  className: "text-sm",
381
381
  children: r.currentLocation.address || "Location updating..."
382
382
  }), /* @__PURE__ */ F("p", {