@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
@@ -0,0 +1,167 @@
1
+ import { i as e, o as t, s as n } from "./PageLayout-D3N8MCTm.js";
2
+ import { t as r } from "./DataTable-CD9ZhpLB.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, EmphasisPanel as _, PagePurpose as v } from "@burdenoff/fe-libs/ui";
15
+ //#region src/movethewheels/pages/DriversPage.tsx
16
+ function y() {
17
+ let { basePath: y, navigate: b } = l(), { drivers: x, totalDrivers: S, isLoading: C, refetch: w } = u(), T = (e) => b?.(p(y, e));
18
+ return /* @__PURE__ */ h(e, {
19
+ title: "Drivers",
20
+ subtitle: `${S} 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: () => w()
32
+ }, {
33
+ label: "Export",
34
+ icon: /* @__PURE__ */ m(i, { size: 16 }),
35
+ onSelect: () => {}
36
+ }]
37
+ }),
38
+ children: [
39
+ /* @__PURE__ */ m(v, {
40
+ icon: /* @__PURE__ */ m(c, { size: 18 }),
41
+ children: "Your delivery workforce. Track each driver's availability, performance rating, completed deliveries and license status here — open a driver to review their history before assigning them to an order or route."
42
+ }),
43
+ /* @__PURE__ */ h(_, { children: [/* @__PURE__ */ m("p", {
44
+ className: "text-sm font-medium text-text-secondary",
45
+ children: "Workforce at a glance"
46
+ }), /* @__PURE__ */ h("div", {
47
+ className: "mt-3 grid grid-cols-3 gap-4",
48
+ children: [
49
+ /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
50
+ className: "text-2xl font-bold text-text-primary tabular-nums",
51
+ children: S
52
+ }), /* @__PURE__ */ m("p", {
53
+ className: "text-xs text-text-secondary",
54
+ children: "Total drivers"
55
+ })] }),
56
+ /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
57
+ className: "text-2xl font-bold text-text-primary tabular-nums",
58
+ children: x.filter((e) => e.status === "available" || e.status === "busy").length
59
+ }), /* @__PURE__ */ m("p", {
60
+ className: "text-xs text-text-secondary",
61
+ children: "On duty / available"
62
+ })] }),
63
+ /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
64
+ className: "text-2xl font-bold text-text-primary tabular-nums",
65
+ children: x.length > 0 ? (x.reduce((e, t) => e + t.ratings.overall, 0) / x.length).toFixed(1) : "—"
66
+ }), /* @__PURE__ */ m("p", {
67
+ className: "text-xs text-text-secondary",
68
+ children: "Avg rating"
69
+ })] })
70
+ ]
71
+ })] }),
72
+ /* @__PURE__ */ m(r, {
73
+ columns: [
74
+ {
75
+ id: "driver",
76
+ header: "Driver",
77
+ cell: (e) => /* @__PURE__ */ h("div", {
78
+ className: "flex items-center gap-3",
79
+ children: [/* @__PURE__ */ m(t, { children: /* @__PURE__ */ m(n, { children: e.fullName.split(" ").map((e) => e[0]).join("") }) }), /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("p", {
80
+ className: "font-medium",
81
+ children: e.fullName
82
+ }), /* @__PURE__ */ m("p", {
83
+ className: "text-sm text-text-secondary",
84
+ children: e.employeeId
85
+ })] })]
86
+ })
87
+ },
88
+ {
89
+ id: "status",
90
+ header: "Status",
91
+ accessorKey: "status",
92
+ sortable: !0,
93
+ cell: (e) => /* @__PURE__ */ m(d, {
94
+ status: e.status,
95
+ type: "driver"
96
+ })
97
+ },
98
+ {
99
+ id: "rating",
100
+ header: "Rating",
101
+ cell: (e) => /* @__PURE__ */ h("div", {
102
+ className: "flex items-center gap-1",
103
+ children: [
104
+ /* @__PURE__ */ m(s, {
105
+ size: 14,
106
+ className: "text-yellow-500 fill-yellow-500"
107
+ }),
108
+ /* @__PURE__ */ m("span", {
109
+ className: "font-medium",
110
+ children: e.ratings.overall.toFixed(1)
111
+ }),
112
+ /* @__PURE__ */ h("span", {
113
+ className: "text-text-secondary text-sm",
114
+ children: [
115
+ "(",
116
+ e.ratings.totalRatings,
117
+ ")"
118
+ ]
119
+ })
120
+ ]
121
+ })
122
+ },
123
+ {
124
+ id: "deliveries",
125
+ header: "Deliveries",
126
+ accessorKey: "completedOrders",
127
+ sortable: !0,
128
+ cell: (e) => /* @__PURE__ */ m("span", {
129
+ className: "font-medium",
130
+ children: e.completedOrders.toLocaleString()
131
+ })
132
+ },
133
+ {
134
+ id: "license",
135
+ header: "License",
136
+ cell: (e) => /* @__PURE__ */ h("div", {
137
+ className: "text-sm",
138
+ children: [/* @__PURE__ */ m("p", { children: e.licenseType }), /* @__PURE__ */ h("p", {
139
+ className: "text-text-secondary",
140
+ children: ["Exp: ", f(e.licenseExpiry, "short")]
141
+ })]
142
+ })
143
+ },
144
+ {
145
+ id: "joined",
146
+ header: "Join Date",
147
+ accessorKey: "joinDate",
148
+ sortable: !0,
149
+ cell: (e) => f(e.joinDate, "short")
150
+ }
151
+ ],
152
+ data: x,
153
+ isLoading: C,
154
+ searchable: !0,
155
+ searchPlaceholder: "Search drivers...",
156
+ searchFields: ["fullName", "employeeId"],
157
+ onRowClick: (e) => T(`fleet/drivers/${e.id}`),
158
+ getRowId: (e) => e.id,
159
+ emptyIllustration: "empty-people",
160
+ emptyTitle: "No drivers yet",
161
+ emptyDescription: "Add drivers to start assigning deliveries and routes."
162
+ })
163
+ ]
164
+ });
165
+ }
166
+ //#endregion
167
+ export { y as default };
@@ -0,0 +1,158 @@
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
+ import { EmphasisPanel as v, IllustratedEmptyState as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
12
+ //#region node_modules/lucide-react/dist/esm/icons/credit-card.js
13
+ var x = a("CreditCard", [["rect", {
14
+ width: "20",
15
+ height: "14",
16
+ x: "2",
17
+ y: "5",
18
+ rx: "2",
19
+ key: "ynyp8z"
20
+ }], ["line", {
21
+ x1: "2",
22
+ x2: "22",
23
+ y1: "10",
24
+ y2: "10",
25
+ key: "1b3vmo"
26
+ }]]);
27
+ //#endregion
28
+ //#region src/movethewheels/pages/FinancePage.tsx
29
+ function S() {
30
+ let { analytics: a } = f(), { stats: S } = d(), C = S.totalRevenue * .15, w = S.totalRevenue * .85;
31
+ return /* @__PURE__ */ _(i, {
32
+ title: "Finance",
33
+ subtitle: "Financial overview and reports",
34
+ icon: /* @__PURE__ */ g(s, { size: 24 }),
35
+ headerActions: /* @__PURE__ */ _("div", {
36
+ className: "flex gap-2",
37
+ children: [/* @__PURE__ */ _(o, {
38
+ variant: "outline",
39
+ children: [/* @__PURE__ */ g(l, { size: 16 }), " Invoices"]
40
+ }), /* @__PURE__ */ _(o, {
41
+ variant: "outline",
42
+ children: [/* @__PURE__ */ g(c, { size: 16 }), " Export"]
43
+ })]
44
+ }),
45
+ children: [
46
+ /* @__PURE__ */ g(b, {
47
+ icon: /* @__PURE__ */ g(s, { size: 18 }),
48
+ children: "Follow the money behind your deliveries. See revenue earned, what's been collected versus still owed, and average order value — use it to chase pending payments, forecast cash flow, and confirm which shipments have actually been paid for."
49
+ }),
50
+ /* @__PURE__ */ _(p, {
51
+ columns: 4,
52
+ children: [
53
+ /* @__PURE__ */ g(m, {
54
+ treatment: "glass",
55
+ glow: !0,
56
+ label: "Total Revenue",
57
+ value: h(a.overview.totalRevenue),
58
+ icon: /* @__PURE__ */ g(s, { size: 20 }),
59
+ change: "+12.5%",
60
+ changeType: "positive",
61
+ trend: "up"
62
+ }),
63
+ /* @__PURE__ */ g(m, {
64
+ label: "Completed",
65
+ value: h(w),
66
+ icon: /* @__PURE__ */ g(u, { size: 20 }),
67
+ changeType: "positive"
68
+ }),
69
+ /* @__PURE__ */ g(m, {
70
+ label: "Pending",
71
+ value: h(C),
72
+ icon: /* @__PURE__ */ g(x, { size: 20 }),
73
+ changeType: "neutral"
74
+ }),
75
+ /* @__PURE__ */ g(m, {
76
+ label: "Avg Order Value",
77
+ value: h(S.avgOrderValue),
78
+ icon: /* @__PURE__ */ g(s, { size: 20 })
79
+ })
80
+ ]
81
+ }),
82
+ /* @__PURE__ */ _("div", {
83
+ className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
84
+ children: [/* @__PURE__ */ _(e, { children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(n, { children: "Revenue by Month" }) }), /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g("div", {
85
+ className: "space-y-4",
86
+ children: a.trends.revenue.map((e) => /* @__PURE__ */ _("div", {
87
+ className: "flex items-center justify-between p-3 bg-bg-sunken/50 rounded-lg",
88
+ children: [/* @__PURE__ */ _("span", {
89
+ className: "font-medium",
90
+ children: [e.month, " 2024"]
91
+ }), /* @__PURE__ */ g("span", {
92
+ className: "text-lg font-bold",
93
+ children: h(e.revenue)
94
+ })]
95
+ }, e.month))
96
+ }) })] }), /* @__PURE__ */ _(v, {
97
+ className: "space-y-4",
98
+ children: [/* @__PURE__ */ g("h2", {
99
+ className: "text-base font-semibold text-text-primary",
100
+ children: "Payment Status"
101
+ }), /* @__PURE__ */ _("div", {
102
+ className: "space-y-4",
103
+ children: [/* @__PURE__ */ _("div", {
104
+ className: "flex items-center justify-between p-4 bg-status-success-bg/10 rounded-lg",
105
+ children: [/* @__PURE__ */ _("div", {
106
+ className: "flex items-center gap-3",
107
+ children: [/* @__PURE__ */ g("div", {
108
+ className: "w-10 h-10 rounded-full bg-status-success-bg/20 flex items-center justify-center",
109
+ children: /* @__PURE__ */ g(u, {
110
+ size: 20,
111
+ className: "text-status-success-text"
112
+ })
113
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
114
+ className: "font-medium",
115
+ children: "Paid"
116
+ }), /* @__PURE__ */ _("p", {
117
+ className: "text-sm text-text-secondary",
118
+ children: [S.byStatus.delivered, " orders"]
119
+ })] })]
120
+ }), /* @__PURE__ */ g("span", {
121
+ className: "text-xl font-bold text-status-success-text",
122
+ children: h(w)
123
+ })]
124
+ }), /* @__PURE__ */ _("div", {
125
+ className: "flex items-center justify-between p-4 bg-status-warning-bg/10 rounded-lg",
126
+ children: [/* @__PURE__ */ _("div", {
127
+ className: "flex items-center gap-3",
128
+ children: [/* @__PURE__ */ g("div", {
129
+ className: "w-10 h-10 rounded-full bg-status-warning-bg/20 flex items-center justify-center",
130
+ children: /* @__PURE__ */ g(x, {
131
+ size: 20,
132
+ className: "text-status-warning-text"
133
+ })
134
+ }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
135
+ className: "font-medium",
136
+ children: "Pending"
137
+ }), /* @__PURE__ */ _("p", {
138
+ className: "text-sm text-text-secondary",
139
+ children: [S.byStatus.pending + S.byStatus.in_transit, " orders"]
140
+ })] })]
141
+ }), /* @__PURE__ */ g("span", {
142
+ className: "text-xl font-bold text-status-warning-text",
143
+ children: h(C)
144
+ })]
145
+ })]
146
+ })]
147
+ })]
148
+ }),
149
+ /* @__PURE__ */ _(e, { children: [/* @__PURE__ */ g(r, { children: /* @__PURE__ */ g(n, { children: "Recent Transactions" }) }), /* @__PURE__ */ g(t, { children: /* @__PURE__ */ g(y, {
150
+ illustration: "empty-data",
151
+ title: "No transactions yet",
152
+ description: "Once payments are processed, your transaction history will appear here. Connect a payment gateway to start recording transactions."
153
+ }) })] })
154
+ ]
155
+ });
156
+ }
157
+ //#endregion
158
+ export { S as default };
@@ -10,75 +10,107 @@ import { r as b, t as x } from "./MetricCard-B7yMyvMX.js";
10
10
  import { a as S, r as C } from "./StatusBadge-CijYQXtb.js";
11
11
  import { t as w } from "./navigation-BgnOfsVd.js";
12
12
  import { jsx as T, jsxs as E } from "react/jsx-runtime";
13
- import { CTAOverflowMenu as D } from "@burdenoff/fe-libs/ui";
14
- import { useI18n as O } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
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
15
  //#region src/movethewheels/pages/FleetPage.tsx
16
- function k() {
17
- let { t: k } = O(), A = (e, t) => {
18
- let n = k(e);
16
+ function M() {
17
+ let { t: M } = j(), N = (e, t) => {
18
+ let n = M(e);
19
19
  return n === e ? t : n;
20
- }, { basePath: j, navigate: M } = g(), { stats: N } = _(), { vehicles: P } = y(), { drivers: F } = v(), I = (e) => {
21
- M && M(w(j, e));
20
+ }, { basePath: P, navigate: F } = g(), { stats: I } = _(), { vehicles: L } = y(), { drivers: R } = v(), z = (e) => {
21
+ F && F(w(P, e));
22
22
  };
23
23
  return /* @__PURE__ */ E(o, {
24
- title: A("movethewheels.fleet.title", "Fleet Management"),
25
- subtitle: A("movethewheels.fleet.subtitle", "Manage your vehicles and drivers"),
24
+ title: N("movethewheels.fleet.title", "Fleet Management"),
25
+ subtitle: N("movethewheels.fleet.subtitle", "Manage your vehicles and drivers"),
26
26
  icon: /* @__PURE__ */ T(m, { size: 24 }),
27
27
  headerActions: /* @__PURE__ */ T(D, {
28
28
  primary: {
29
- label: A("movethewheels.fleet.actions.allVehicles", "All Vehicles"),
29
+ label: N("movethewheels.fleet.actions.allVehicles", "All Vehicles"),
30
30
  icon: /* @__PURE__ */ T(m, { size: 16 }),
31
- onSelect: () => I("fleet/vehicles")
31
+ onSelect: () => z("fleet/vehicles")
32
32
  },
33
33
  actions: [{
34
- label: A("movethewheels.fleet.actions.allDrivers", "All Drivers"),
34
+ label: N("movethewheels.fleet.actions.allDrivers", "All Drivers"),
35
35
  icon: /* @__PURE__ */ T(h, { size: 16 }),
36
- onSelect: () => I("fleet/drivers")
36
+ onSelect: () => z("fleet/drivers")
37
37
  }]
38
38
  }),
39
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
+ }),
40
70
  /* @__PURE__ */ E(b, {
41
71
  columns: 4,
42
72
  children: [
43
73
  /* @__PURE__ */ T(x, {
44
- label: A("movethewheels.fleet.metrics.totalVehicles", "Total Vehicles"),
45
- value: N.totalVehicles,
74
+ label: N("movethewheels.fleet.metrics.totalVehicles", "Total Vehicles"),
75
+ value: I.totalVehicles,
46
76
  icon: /* @__PURE__ */ T(m, { size: 20 }),
47
- subtitle: `${N.vehiclesByStatus.available} ${A("movethewheels.fleet.metrics.available", "available")}`,
48
- onClick: () => I("fleet/vehicles")
77
+ subtitle: `${I.vehiclesByStatus.available} ${N("movethewheels.fleet.metrics.available", "available")}`,
78
+ onClick: () => z("fleet/vehicles")
49
79
  }),
50
80
  /* @__PURE__ */ T(x, {
51
- label: A("movethewheels.fleet.metrics.totalDrivers", "Total Drivers"),
52
- value: N.totalDrivers,
81
+ label: N("movethewheels.fleet.metrics.totalDrivers", "Total Drivers"),
82
+ value: I.totalDrivers,
53
83
  icon: /* @__PURE__ */ T(h, { size: 20 }),
54
- subtitle: `${N.driversByStatus.available} ${A("movethewheels.fleet.metrics.available", "available")}`,
55
- onClick: () => I("fleet/drivers")
84
+ subtitle: `${I.driversByStatus.available} ${N("movethewheels.fleet.metrics.available", "available")}`,
85
+ onClick: () => z("fleet/drivers")
56
86
  }),
57
87
  /* @__PURE__ */ T(x, {
58
- label: A("movethewheels.fleet.metrics.utilization", "Fleet Utilization"),
59
- value: `${N.utilization.toFixed(0)}%`,
88
+ treatment: "glass",
89
+ glow: !0,
90
+ label: N("movethewheels.fleet.metrics.utilization", "Fleet Utilization"),
91
+ value: `${I.utilization.toFixed(0)}%`,
60
92
  icon: /* @__PURE__ */ T(m, { size: 20 }),
61
- changeType: N.utilization >= 70 ? "positive" : "neutral"
93
+ changeType: I.utilization >= 70 ? "positive" : "neutral"
62
94
  }),
63
95
  /* @__PURE__ */ T(x, {
64
- label: A("movethewheels.fleet.metrics.avgDriverRating", "Avg Driver Rating"),
65
- value: N.avgDriverRating.toFixed(1),
96
+ label: N("movethewheels.fleet.metrics.avgDriverRating", "Avg Driver Rating"),
97
+ value: I.avgDriverRating.toFixed(1),
66
98
  icon: /* @__PURE__ */ T(p, { size: 20 }),
67
- subtitle: A("movethewheels.fleet.metrics.outOfFive", "out of 5"),
68
- changeType: N.avgDriverRating >= 4.5 ? "positive" : "neutral"
99
+ subtitle: N("movethewheels.fleet.metrics.outOfFive", "out of 5"),
100
+ changeType: I.avgDriverRating >= 4.5 ? "positive" : "neutral"
69
101
  })
70
102
  ]
71
103
  }),
72
104
  /* @__PURE__ */ E("div", {
73
105
  className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
74
106
  children: [/* @__PURE__ */ T(t, {
75
- title: A("movethewheels.fleet.vehicles.title", "Vehicles"),
107
+ title: N("movethewheels.fleet.vehicles.title", "Vehicles"),
76
108
  actions: /* @__PURE__ */ E(l, {
77
109
  variant: "ghost",
78
110
  size: "sm",
79
- onClick: () => I("fleet/vehicles"),
111
+ onClick: () => z("fleet/vehicles"),
80
112
  children: [
81
- A("movethewheels.fleet.common.viewAll", "View all"),
113
+ N("movethewheels.fleet.common.viewAll", "View all"),
82
114
  " ",
83
115
  /* @__PURE__ */ T(u, { size: 16 })
84
116
  ]
@@ -87,9 +119,9 @@ function k() {
87
119
  className: "p-0",
88
120
  children: /* @__PURE__ */ T("div", {
89
121
  className: "divide-y",
90
- children: P.slice(0, 5).map((t) => /* @__PURE__ */ T("div", {
122
+ children: L.slice(0, 5).map((t) => /* @__PURE__ */ T("div", {
91
123
  className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
92
- onClick: () => I(`fleet/vehicles/${t.id}`),
124
+ onClick: () => z(`fleet/vehicles/${t.id}`),
93
125
  children: /* @__PURE__ */ E("div", {
94
126
  className: "flex items-center justify-between",
95
127
  children: [/* @__PURE__ */ E("div", {
@@ -149,13 +181,13 @@ function k() {
149
181
  })
150
182
  }) })
151
183
  }), /* @__PURE__ */ T(t, {
152
- title: A("movethewheels.fleet.drivers.title", "Drivers"),
184
+ title: N("movethewheels.fleet.drivers.title", "Drivers"),
153
185
  actions: /* @__PURE__ */ E(l, {
154
186
  variant: "ghost",
155
187
  size: "sm",
156
- onClick: () => I("fleet/drivers"),
188
+ onClick: () => z("fleet/drivers"),
157
189
  children: [
158
- A("movethewheels.fleet.common.viewAll", "View all"),
190
+ N("movethewheels.fleet.common.viewAll", "View all"),
159
191
  " ",
160
192
  /* @__PURE__ */ T(u, { size: 16 })
161
193
  ]
@@ -164,9 +196,9 @@ function k() {
164
196
  className: "p-0",
165
197
  children: /* @__PURE__ */ T("div", {
166
198
  className: "divide-y",
167
- children: F.slice(0, 5).map((e) => /* @__PURE__ */ T("div", {
199
+ children: R.slice(0, 5).map((e) => /* @__PURE__ */ T("div", {
168
200
  className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
169
- onClick: () => I(`fleet/drivers/${e.id}`),
201
+ onClick: () => z(`fleet/drivers/${e.id}`),
170
202
  children: /* @__PURE__ */ E("div", {
171
203
  className: "flex items-center justify-between",
172
204
  children: [/* @__PURE__ */ E("div", {
@@ -181,7 +213,7 @@ function k() {
181
213
  " - ",
182
214
  e.completedOrders,
183
215
  " ",
184
- A("movethewheels.fleet.drivers.deliveries", "deliveries")
216
+ N("movethewheels.fleet.drivers.deliveries", "deliveries")
185
217
  ]
186
218
  })] })]
187
219
  }), /* @__PURE__ */ E("div", {
@@ -209,30 +241,36 @@ function k() {
209
241
  }),
210
242
  /* @__PURE__ */ E("div", {
211
243
  className: "grid grid-cols-1 md:grid-cols-2 gap-6",
212
- children: [/* @__PURE__ */ E(n, { children: [/* @__PURE__ */ T(a, { children: /* @__PURE__ */ T(i, { children: A("movethewheels.fleet.status.vehicleTitle", "Vehicle Status") }) }), /* @__PURE__ */ T(r, { children: /* @__PURE__ */ T("div", {
244
+ children: [/* @__PURE__ */ E(O, {
213
245
  className: "space-y-4",
214
- children: Object.entries(N.vehiclesByStatus).map(([t, n]) => /* @__PURE__ */ E("div", {
215
- className: "flex items-center justify-between",
216
- children: [/* @__PURE__ */ T("div", {
217
- className: "flex items-center gap-3",
218
- children: /* @__PURE__ */ T(C, {
219
- status: t,
220
- type: "vehicle"
221
- })
222
- }), /* @__PURE__ */ E("div", {
223
- className: "flex items-center gap-3",
224
- children: [/* @__PURE__ */ T("span", {
225
- className: "font-medium",
226
- children: n
227
- }), /* @__PURE__ */ T(e, {
228
- value: n / N.totalVehicles * 100,
229
- className: "w-24 h-2"
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
+ })]
230
268
  })]
231
- })]
232
- }, t))
233
- }) })] }), /* @__PURE__ */ E(n, { children: [/* @__PURE__ */ T(a, { children: /* @__PURE__ */ T(i, { children: A("movethewheels.fleet.status.driverTitle", "Driver Status") }) }), /* @__PURE__ */ T(r, { children: /* @__PURE__ */ T("div", {
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", {
234
272
  className: "space-y-4",
235
- children: Object.entries(N.driversByStatus).map(([t, n]) => /* @__PURE__ */ E("div", {
273
+ children: Object.entries(I.driversByStatus).map(([t, n]) => /* @__PURE__ */ E("div", {
236
274
  className: "flex items-center justify-between",
237
275
  children: [/* @__PURE__ */ T("div", {
238
276
  className: "flex items-center gap-3",
@@ -246,27 +284,27 @@ function k() {
246
284
  className: "font-medium",
247
285
  children: n
248
286
  }), /* @__PURE__ */ T(e, {
249
- value: n / N.totalDrivers * 100,
287
+ value: n / I.totalDrivers * 100,
250
288
  className: "w-24 h-2"
251
289
  })]
252
290
  })]
253
291
  }, t))
254
292
  }) })] })]
255
293
  }),
256
- N.vehiclesByStatus.maintenance > 0 && /* @__PURE__ */ E(n, {
257
- className: "border-yellow-200 dark:border-yellow-800",
294
+ I.vehiclesByStatus.maintenance > 0 && /* @__PURE__ */ E(n, {
295
+ className: "border-status-warning-border",
258
296
  children: [/* @__PURE__ */ T(a, { children: /* @__PURE__ */ E(i, {
259
- className: "flex items-center gap-2 text-yellow-600",
260
- children: [/* @__PURE__ */ T(f, { size: 18 }), A("movethewheels.fleet.maintenance.title", "Maintenance Required")]
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")]
261
299
  }) }), /* @__PURE__ */ T(r, { children: /* @__PURE__ */ T("div", {
262
300
  className: "space-y-3",
263
- children: P.filter((e) => e.status === "maintenance").map((e) => /* @__PURE__ */ E("div", {
264
- className: "flex items-center justify-between p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg",
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",
265
303
  children: [/* @__PURE__ */ E("div", {
266
304
  className: "flex items-center gap-3",
267
305
  children: [/* @__PURE__ */ T(m, {
268
306
  size: 20,
269
- className: "text-yellow-600"
307
+ className: "text-status-warning-text"
270
308
  }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
271
309
  className: "font-medium",
272
310
  children: e.vehicleNumber
@@ -281,8 +319,8 @@ function k() {
281
319
  }), /* @__PURE__ */ T(l, {
282
320
  variant: "outline",
283
321
  size: "sm",
284
- onClick: () => I(`fleet/vehicles/${e.id}`),
285
- children: A("movethewheels.fleet.maintenance.viewDetails", "View Details")
322
+ onClick: () => z(`fleet/vehicles/${e.id}`),
323
+ children: N("movethewheels.fleet.maintenance.viewDetails", "View Details")
286
324
  })]
287
325
  }, e.id))
288
326
  }) })]
@@ -291,4 +329,4 @@ function k() {
291
329
  });
292
330
  }
293
331
  //#endregion
294
- export { k as default };
332
+ export { M as default };