@burdenoff/microfe-movethewheels 2026.624.1 → 2026.625.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.
- package/dist/{AIAssistantPage-BrHX2lQn.js → AIAssistantPage-CNyoKtID.js} +4 -4
- package/dist/{AnalyticsPage-DI6Wcaw5.js → AnalyticsPage-Ck615ox7.js} +8 -8
- package/dist/{CreateOrderPage-DfkSi6JF.js → CreateOrderPage-C9Vb57Yn.js} +5 -5
- package/dist/{CustomerDetailsPage-DzAIu_tH.js → CustomerDetailsPage-BVkHRZvi.js} +9 -9
- package/dist/CustomersPage-DhQg-6h_.js +118 -0
- package/dist/{DashboardPage-3ZOnwg1a.js → DashboardPage-DTmyuC11.js} +118 -111
- package/dist/{DataTable-CZGz3SJu.js → DataTable-CfWvFw5B.js} +6 -6
- package/dist/{DriverDetailsPage-YuZSlPSV.js → DriverDetailsPage-DaaCQ-2O.js} +10 -10
- package/dist/DriversPage-D0RMBB_t.js +129 -0
- package/dist/{FinancePage-CnjUNXOb.js → FinancePage-BUXqW1IM.js} +6 -6
- package/dist/{FleetPage-CPS7r4J3.js → FleetPage-DCfOmBa2.js} +66 -65
- package/dist/{ImportExportPage-zNjs7xsV.js → ImportExportPage-BM1BoRcE.js} +3 -3
- package/dist/{InventoryPage-C9g5d3SW.js → InventoryPage-BW0QXWuf.js} +61 -66
- package/dist/{LiveTrackingPage-DoBvtdBG.js → LiveTrackingPage-DqcGXdkw.js} +8 -8
- package/dist/{MarketplacePage-BEj5hcBF.js → MarketplacePage-DFqsxNYU.js} +7 -7
- package/dist/MetricCard-B7yMyvMX.js +146 -0
- package/dist/{OrderDetailsPage-D-9lDZYU.js → OrderDetailsPage-Dx1m3cVA.js} +13 -13
- package/dist/{OrdersListPage-CJzHbgY3.js → OrdersListPage-DHYBGrWf.js} +76 -77
- package/dist/{PageLayout-xDTiBTDS.js → PageLayout-D3N8MCTm.js} +213 -195
- package/dist/{ProductDetailsPage-3rKtzXpy.js → ProductDetailsPage-DOXO90kb.js} +6 -6
- package/dist/{ProductsPage-B0P_wjBJ.js → ProductsPage-RLMTwWN0.js} +41 -39
- package/dist/{ReportsPage-B8OyWGzl.js → ReportsPage-Df3hciPy.js} +4 -4
- package/dist/{RouteDetailsPage-DGjKTUMj.js → RouteDetailsPage-xzFDeR-X.js} +8 -8
- package/dist/{RoutesPage-CpopY8xN.js → RoutesPage-DDFy1QVi.js} +32 -30
- package/dist/{SettingsPage-BvXSa3gi.js → SettingsPage-JH_-UPbf.js} +4 -4
- package/dist/{StatusBadge-C--7NhoW.js → StatusBadge-CijYQXtb.js} +5 -2
- package/dist/{TrackingPage-BldUm_g7.js → TrackingPage-CU0Vk4mx.js} +11 -11
- package/dist/{VehicleDetailsPage-Dqv--MVW.js → VehicleDetailsPage-P4xDttKw.js} +8 -8
- package/dist/{VehiclesPage-CCBHRDHu.js → VehiclesPage-tJZ64QKV.js} +42 -40
- package/dist/{WarehouseDetailsPage-ZObC_c7W.js → WarehouseDetailsPage-Bt_w2Yf7.js} +8 -8
- package/dist/{WarehousesPage-CpgZEVW9.js → WarehousesPage-HsPpEFeG.js} +37 -32
- package/dist/{arrow-left-Bk5GsGNk.js → arrow-left-CBpZKkpq.js} +1 -1
- package/dist/{box-BAMv2-7M.js → box-CAaiElsb.js} +1 -1
- package/dist/{chart-column-CAfkf4o6.js → chart-column-D1Ym15-S.js} +1 -1
- package/dist/{chevron-right-Czrt_Qew.js → chevron-right-BIFGi0UA.js} +1 -1
- package/dist/{circle-alert-CEuV9Pij.js → circle-alert-DjmNo5_L.js} +1 -1
- package/dist/{circle-check-big-Cx8aO6B-.js → circle-check-big-CjuPVo3_.js} +1 -1
- package/dist/{clock-Be95bq7_.js → clock-BjkdnddD.js} +1 -1
- package/dist/{dollar-sign-kJqItPli.js → dollar-sign-IB4O0wuQ.js} +1 -1
- package/dist/{download-caab0D3V.js → download-Dpa9vqoG.js} +1 -1
- package/dist/{file-text-b1qhrJn1.js → file-text-C8Uioy11.js} +1 -1
- package/dist/{filter-BWmLTZB-.js → filter-Da5OZaHI.js} +1 -1
- package/dist/index.js +16 -16
- package/dist/{map-CS2aFgyO.js → map-_Per4sT9.js} +1 -1
- package/dist/{map-pin-96FeqL7H.js → map-pin-BSaf5IDL.js} +1 -1
- package/dist/{navigation-i6UXEjTC.js → navigation-DaTbrhw2.js} +1 -1
- package/dist/{package-KhSi3xaT.js → package-BE7U0wQE.js} +1 -1
- package/dist/{phone-B-h3tbsr.js → phone-DV4StZiA.js} +1 -1
- package/dist/{plus-D2BYAzMn.js → plus-Dl1rLeJR.js} +1 -1
- package/dist/{refresh-cw-D5Sy01s-.js → refresh-cw-CWfERAit.js} +1 -1
- package/dist/{route-CBDXuwH9.js → route-Dp9JiN_E.js} +1 -1
- package/dist/{save-CMc7h-Vi.js → save-XH8vydOn.js} +1 -1
- package/dist/{search-DVrUQbOg.js → search-OxoIiL_C.js} +1 -1
- package/dist/{settings-BwzIRYv3.js → settings-3Rw5NwFF.js} +1 -1
- package/dist/{square-pen-DmW36Bau.js → square-pen-hLIbFQFV.js} +1 -1
- package/dist/{star-Cv2MzxZL.js → star-YsVV3MNQ.js} +1 -1
- package/dist/{store-CLH957vl.js → store-RCBl7HB-.js} +1 -1
- package/dist/{trending-up-l8M0BO_w.js → trending-up-C-85AwGT.js} +1 -1
- package/dist/{triangle-alert-BI45s6bH.js → triangle-alert-BOhfGgmh.js} +1 -1
- package/dist/{truck-DX3lNQkz.js → truck-CtDjNFbi.js} +1 -1
- package/dist/{user-D8EY1uvt.js → user-Dz5TJZFs.js} +1 -1
- package/dist/{users-CfG0J8wP.js → users-g2N0eL-Z.js} +1 -1
- package/dist/{warehouse-Dt_bAr82.js → warehouse-D3WWDeTX.js} +1 -1
- package/dist/{wrench-C50eI_Iy.js → wrench-CmxY1n4I.js} +1 -1
- package/package.json +2 -2
- package/src/movethewheels/components/DataTable.tsx +4 -4
- package/src/movethewheels/components/MetricCard.tsx +49 -20
- package/src/movethewheels/components/PageLayout.tsx +60 -5
- package/src/movethewheels/components/StatusBadge.tsx +2 -1
- package/src/movethewheels/pages/CustomersPage.tsx +13 -12
- package/src/movethewheels/pages/DashboardPage.tsx +55 -48
- package/src/movethewheels/pages/DriversPage.tsx +9 -12
- package/src/movethewheels/pages/FleetPage.tsx +15 -10
- package/src/movethewheels/pages/InventoryPage.tsx +18 -11
- package/src/movethewheels/pages/OrdersListPage.tsx +20 -14
- package/src/movethewheels/pages/ProductsPage.tsx +9 -12
- package/src/movethewheels/pages/RoutesPage.tsx +12 -9
- package/src/movethewheels/pages/TrackingPage.tsx +2 -2
- package/src/movethewheels/pages/VehiclesPage.tsx +9 -15
- package/src/movethewheels/pages/WarehousesPage.tsx +8 -9
- package/dist/CustomersPage-d21ixOYa.js +0 -119
- package/dist/DriversPage-BOhqEBTv.js +0 -127
- package/dist/MetricCard-DeHVeVwl.js +0 -135
|
@@ -1,82 +1,88 @@
|
|
|
1
|
-
import { M as e, a as t, d as n, f as r, g as i, h as a, i as o, l as s, u as c } from "./PageLayout-
|
|
2
|
-
import { t as l } from "./chevron-right-
|
|
3
|
-
import { t as u } from "./clock-
|
|
4
|
-
import { t as d } from "./dollar-sign-
|
|
5
|
-
import { t as f } from "./map-pin-
|
|
6
|
-
import { t as p } from "./package-
|
|
7
|
-
import { t as m } from "./trending-up-
|
|
8
|
-
import { t as h } from "./triangle-alert-
|
|
9
|
-
import { t as g } from "./truck-
|
|
10
|
-
import { t as _ } from "./users-
|
|
1
|
+
import { M as e, a as t, d as n, f as r, g as i, h as a, i as o, l as s, u as c } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { t as l } from "./chevron-right-BIFGi0UA.js";
|
|
3
|
+
import { t as u } from "./clock-BjkdnddD.js";
|
|
4
|
+
import { t as d } from "./dollar-sign-IB4O0wuQ.js";
|
|
5
|
+
import { t as f } from "./map-pin-BSaf5IDL.js";
|
|
6
|
+
import { t as p } from "./package-BE7U0wQE.js";
|
|
7
|
+
import { t as m } from "./trending-up-C-85AwGT.js";
|
|
8
|
+
import { t as h } from "./triangle-alert-BOhfGgmh.js";
|
|
9
|
+
import { t as g } from "./truck-CtDjNFbi.js";
|
|
10
|
+
import { t as _ } from "./users-g2N0eL-Z.js";
|
|
11
11
|
import { r as v } from "./graphqlClient-CdJyR_ed.js";
|
|
12
12
|
import { n as y, r as b } from "./useOrders-D_3_hGMp.js";
|
|
13
13
|
import { i as x } from "./useFleet-BdETplNE.js";
|
|
14
14
|
import { n as S } from "./useAnalytics-ph7eTIK6.js";
|
|
15
15
|
import { r as C } from "./useTracking-De2KIUNu.js";
|
|
16
|
-
import { r as w, t as T } from "./MetricCard-
|
|
17
|
-
import { r as E } from "./StatusBadge-
|
|
16
|
+
import { r as w, t as T } from "./MetricCard-B7yMyvMX.js";
|
|
17
|
+
import { r as E } from "./StatusBadge-CijYQXtb.js";
|
|
18
18
|
import { n as D, r as O } from "./formatters-_vJlC-47.js";
|
|
19
19
|
import { t as k } from "./navigation-BgnOfsVd.js";
|
|
20
20
|
import { jsx as A, jsxs as j } from "react/jsx-runtime";
|
|
21
|
-
import {
|
|
21
|
+
import { CTAOverflowMenu as M, EmphasisPanel as N } from "@burdenoff/fe-libs/ui";
|
|
22
|
+
import { useI18n as P } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
22
23
|
//#region src/movethewheels/pages/DashboardPage.tsx
|
|
23
|
-
function
|
|
24
|
-
let { t:
|
|
25
|
-
let n =
|
|
24
|
+
function F() {
|
|
25
|
+
let { t: F } = P(), I = (e, t) => {
|
|
26
|
+
let n = F(e);
|
|
26
27
|
return n === e ? t : n;
|
|
27
|
-
}, { basePath:
|
|
28
|
-
|
|
28
|
+
}, { basePath: L, navigate: R } = v(), { metrics: z } = S(), { orders: B } = b({ limit: 5 }), { stats: V } = y(), { stats: H } = x(), { activeDeliveries: U } = C(), W = (e) => {
|
|
29
|
+
R && R(k(L, e));
|
|
29
30
|
};
|
|
30
31
|
return /* @__PURE__ */ j(o, {
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
hero: !0,
|
|
33
|
+
titleAccent: I("movethewheels.dashboard.title", "Dashboard"),
|
|
34
|
+
title: I("movethewheels.dashboard.title", "Dashboard"),
|
|
35
|
+
subtitle: I("movethewheels.dashboard.subtitle", "Overview of your logistics operations"),
|
|
33
36
|
icon: /* @__PURE__ */ A(m, { size: 24 }),
|
|
34
|
-
headerActions: /* @__PURE__ */
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
headerActions: /* @__PURE__ */ A(M, {
|
|
38
|
+
primary: {
|
|
39
|
+
label: I("movethewheels.dashboard.actions.newOrder", "New Order"),
|
|
40
|
+
icon: /* @__PURE__ */ A(p, { size: 16 }),
|
|
41
|
+
onSelect: () => W("orders/new")
|
|
42
|
+
},
|
|
43
|
+
actions: [{
|
|
44
|
+
label: I("movethewheels.dashboard.actions.liveMap", "Live Map"),
|
|
45
|
+
icon: /* @__PURE__ */ A(f, { size: 16 }),
|
|
46
|
+
onSelect: () => W("tracking/live")
|
|
47
|
+
}]
|
|
44
48
|
}),
|
|
45
49
|
children: [
|
|
46
50
|
/* @__PURE__ */ j(w, {
|
|
47
51
|
columns: 4,
|
|
48
52
|
children: [
|
|
49
53
|
/* @__PURE__ */ A(T, {
|
|
50
|
-
label:
|
|
51
|
-
value:
|
|
54
|
+
label: I("movethewheels.dashboard.metrics.totalOrders", "Total Orders"),
|
|
55
|
+
value: z.orders.total,
|
|
52
56
|
icon: /* @__PURE__ */ A(p, { size: 20 }),
|
|
53
|
-
change: `+${
|
|
57
|
+
change: `+${z.orders.today} ${I("movethewheels.dashboard.metrics.today", "today")}`,
|
|
54
58
|
changeType: "positive",
|
|
55
59
|
trend: "up",
|
|
56
|
-
onClick: () =>
|
|
60
|
+
onClick: () => W("orders")
|
|
57
61
|
}),
|
|
58
62
|
/* @__PURE__ */ A(T, {
|
|
59
|
-
label:
|
|
60
|
-
value:
|
|
63
|
+
label: I("movethewheels.dashboard.metrics.activeDeliveries", "Active Deliveries"),
|
|
64
|
+
value: z.orders.inTransit,
|
|
61
65
|
icon: /* @__PURE__ */ A(g, { size: 20 }),
|
|
62
|
-
subtitle: `${
|
|
63
|
-
onClick: () =>
|
|
66
|
+
subtitle: `${z.orders.pending} ${I("movethewheels.dashboard.metrics.pending", "pending")}`,
|
|
67
|
+
onClick: () => W("tracking")
|
|
64
68
|
}),
|
|
65
69
|
/* @__PURE__ */ A(T, {
|
|
66
|
-
label:
|
|
67
|
-
value: `${
|
|
70
|
+
label: I("movethewheels.dashboard.metrics.fleetUtilization", "Fleet Utilization"),
|
|
71
|
+
value: `${z.fleet.activeVehicles}/${z.fleet.totalVehicles}`,
|
|
68
72
|
icon: /* @__PURE__ */ A(g, { size: 20 }),
|
|
69
|
-
subtitle: `${
|
|
70
|
-
onClick: () =>
|
|
73
|
+
subtitle: `${z.fleet.availableDrivers} ${I("movethewheels.dashboard.metrics.driversAvailable", "drivers available")}`,
|
|
74
|
+
onClick: () => W("fleet")
|
|
71
75
|
}),
|
|
72
76
|
/* @__PURE__ */ A(T, {
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
treatment: "glass",
|
|
78
|
+
glow: !0,
|
|
79
|
+
label: I("movethewheels.dashboard.metrics.revenue", "Revenue"),
|
|
80
|
+
value: D(z.revenue.total),
|
|
75
81
|
icon: /* @__PURE__ */ A(d, { size: 20 }),
|
|
76
82
|
change: "+12.5%",
|
|
77
83
|
changeType: "positive",
|
|
78
84
|
trend: "up",
|
|
79
|
-
onClick: () =>
|
|
85
|
+
onClick: () => W("analytics")
|
|
80
86
|
})
|
|
81
87
|
]
|
|
82
88
|
}),
|
|
@@ -85,38 +91,38 @@ function N() {
|
|
|
85
91
|
children: [
|
|
86
92
|
/* @__PURE__ */ A(T, {
|
|
87
93
|
size: "sm",
|
|
88
|
-
label:
|
|
89
|
-
value: `${
|
|
90
|
-
changeType:
|
|
94
|
+
label: I("movethewheels.dashboard.stats.onTimeDelivery", "On-Time Delivery"),
|
|
95
|
+
value: `${z.performance.onTimeDeliveryRate.toFixed(1)}%`,
|
|
96
|
+
changeType: z.performance.onTimeDeliveryRate >= 90 ? "positive" : "negative"
|
|
91
97
|
}),
|
|
92
98
|
/* @__PURE__ */ A(T, {
|
|
93
99
|
size: "sm",
|
|
94
|
-
label:
|
|
95
|
-
value: D(
|
|
100
|
+
label: I("movethewheels.dashboard.stats.avgOrderValue", "Avg Order Value"),
|
|
101
|
+
value: D(z.revenue.avgOrderValue)
|
|
96
102
|
}),
|
|
97
103
|
/* @__PURE__ */ A(T, {
|
|
98
104
|
size: "sm",
|
|
99
|
-
label:
|
|
100
|
-
value:
|
|
101
|
-
subtitle:
|
|
105
|
+
label: I("movethewheels.dashboard.stats.driverRating", "Driver Rating"),
|
|
106
|
+
value: z.performance.avgDriverRating.toFixed(1),
|
|
107
|
+
subtitle: I("movethewheels.dashboard.stats.outOfFive", "out of 5")
|
|
102
108
|
}),
|
|
103
109
|
/* @__PURE__ */ A(T, {
|
|
104
110
|
size: "sm",
|
|
105
|
-
label:
|
|
106
|
-
value:
|
|
111
|
+
label: I("movethewheels.dashboard.stats.deliveredToday", "Delivered Today"),
|
|
112
|
+
value: z.orders.delivered
|
|
107
113
|
})
|
|
108
114
|
]
|
|
109
115
|
}),
|
|
110
116
|
/* @__PURE__ */ j("div", {
|
|
111
117
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
112
118
|
children: [/* @__PURE__ */ A(t, {
|
|
113
|
-
title:
|
|
119
|
+
title: I("movethewheels.dashboard.recentOrders.title", "Recent Orders"),
|
|
114
120
|
actions: /* @__PURE__ */ j(c, {
|
|
115
121
|
variant: "ghost",
|
|
116
122
|
size: "sm",
|
|
117
|
-
onClick: () =>
|
|
123
|
+
onClick: () => W("orders"),
|
|
118
124
|
children: [
|
|
119
|
-
|
|
125
|
+
I("movethewheels.dashboard.common.viewAll", "View all"),
|
|
120
126
|
" ",
|
|
121
127
|
/* @__PURE__ */ A(l, { size: 16 })
|
|
122
128
|
]
|
|
@@ -125,9 +131,9 @@ function N() {
|
|
|
125
131
|
className: "p-0",
|
|
126
132
|
children: /* @__PURE__ */ j("div", {
|
|
127
133
|
className: "divide-y",
|
|
128
|
-
children: [
|
|
134
|
+
children: [B.slice(0, 5).map((e) => /* @__PURE__ */ A("div", {
|
|
129
135
|
className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
|
|
130
|
-
onClick: () =>
|
|
136
|
+
onClick: () => W(`orders/${e.id}`),
|
|
131
137
|
children: /* @__PURE__ */ j("div", {
|
|
132
138
|
className: "flex items-center justify-between",
|
|
133
139
|
children: [/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
@@ -148,20 +154,20 @@ function N() {
|
|
|
148
154
|
})]
|
|
149
155
|
})]
|
|
150
156
|
})
|
|
151
|
-
}, e.id)),
|
|
157
|
+
}, e.id)), B.length === 0 && /* @__PURE__ */ A("div", {
|
|
152
158
|
className: "p-8 text-center text-text-secondary",
|
|
153
|
-
children:
|
|
159
|
+
children: I("movethewheels.dashboard.recentOrders.empty", "No recent orders")
|
|
154
160
|
})]
|
|
155
161
|
})
|
|
156
162
|
}) })
|
|
157
163
|
}), /* @__PURE__ */ A(t, {
|
|
158
|
-
title:
|
|
164
|
+
title: I("movethewheels.dashboard.activeDeliveries.title", "Active Deliveries"),
|
|
159
165
|
actions: /* @__PURE__ */ j(c, {
|
|
160
166
|
variant: "ghost",
|
|
161
167
|
size: "sm",
|
|
162
|
-
onClick: () =>
|
|
168
|
+
onClick: () => W("tracking/live"),
|
|
163
169
|
children: [
|
|
164
|
-
|
|
170
|
+
I("movethewheels.dashboard.activeDeliveries.liveTracking", "Live tracking"),
|
|
165
171
|
" ",
|
|
166
172
|
/* @__PURE__ */ A(l, { size: 16 })
|
|
167
173
|
]
|
|
@@ -170,9 +176,9 @@ function N() {
|
|
|
170
176
|
className: "p-0",
|
|
171
177
|
children: /* @__PURE__ */ j("div", {
|
|
172
178
|
className: "divide-y",
|
|
173
|
-
children: [
|
|
179
|
+
children: [U.slice(0, 5).map((e) => e.order ? /* @__PURE__ */ A("div", {
|
|
174
180
|
className: "p-4 hover:bg-bg-sunken/50 cursor-pointer transition-colors",
|
|
175
|
-
onClick: () =>
|
|
181
|
+
onClick: () => W(`tracking?order=${e.order.id}`),
|
|
176
182
|
children: /* @__PURE__ */ j("div", {
|
|
177
183
|
className: "flex items-center justify-between",
|
|
178
184
|
children: [/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
@@ -180,7 +186,7 @@ function N() {
|
|
|
180
186
|
children: e.order.orderNumber
|
|
181
187
|
}), /* @__PURE__ */ A("p", {
|
|
182
188
|
className: "text-sm text-text-secondary",
|
|
183
|
-
children: e.driver?.fullName ||
|
|
189
|
+
children: e.driver?.fullName || I("movethewheels.dashboard.activeDeliveries.unassigned", "Unassigned")
|
|
184
190
|
})] }), /* @__PURE__ */ j("div", {
|
|
185
191
|
className: "text-right",
|
|
186
192
|
children: [/* @__PURE__ */ A(E, {
|
|
@@ -190,16 +196,16 @@ function N() {
|
|
|
190
196
|
}), /* @__PURE__ */ j("p", {
|
|
191
197
|
className: "text-sm text-text-secondary mt-1",
|
|
192
198
|
children: [
|
|
193
|
-
|
|
199
|
+
I("movethewheels.dashboard.activeDeliveries.eta", "ETA:"),
|
|
194
200
|
" ",
|
|
195
|
-
e.estimatedArrival ? O(e.estimatedArrival, "time") :
|
|
201
|
+
e.estimatedArrival ? O(e.estimatedArrival, "time") : I("movethewheels.dashboard.activeDeliveries.na", "N/A")
|
|
196
202
|
]
|
|
197
203
|
})]
|
|
198
204
|
})]
|
|
199
205
|
})
|
|
200
|
-
}, e.order.id) : null),
|
|
206
|
+
}, e.order.id) : null), U.length === 0 && /* @__PURE__ */ A("div", {
|
|
201
207
|
className: "p-8 text-center text-text-secondary",
|
|
202
|
-
children:
|
|
208
|
+
children: I("movethewheels.dashboard.activeDeliveries.empty", "No active deliveries")
|
|
203
209
|
})]
|
|
204
210
|
})
|
|
205
211
|
}) })
|
|
@@ -208,32 +214,32 @@ function N() {
|
|
|
208
214
|
/* @__PURE__ */ j("div", {
|
|
209
215
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
210
216
|
children: [
|
|
211
|
-
/* @__PURE__ */ j(
|
|
212
|
-
className: "text-base",
|
|
213
|
-
children: P("movethewheels.dashboard.orderStatus.title", "Order Status")
|
|
214
|
-
}) }), /* @__PURE__ */ A(r, {
|
|
217
|
+
/* @__PURE__ */ j(N, {
|
|
215
218
|
className: "space-y-4",
|
|
216
|
-
children: /* @__PURE__ */ A("
|
|
219
|
+
children: [/* @__PURE__ */ A("h2", {
|
|
220
|
+
className: "text-base font-semibold text-text-primary",
|
|
221
|
+
children: I("movethewheels.dashboard.orderStatus.title", "Order Status")
|
|
222
|
+
}), /* @__PURE__ */ A("div", {
|
|
217
223
|
className: "space-y-3",
|
|
218
224
|
children: [
|
|
219
225
|
{
|
|
220
226
|
status: "pending",
|
|
221
|
-
count:
|
|
227
|
+
count: V.byStatus.pending,
|
|
222
228
|
color: "bg-yellow-500"
|
|
223
229
|
},
|
|
224
230
|
{
|
|
225
231
|
status: "in_transit",
|
|
226
|
-
count:
|
|
232
|
+
count: V.byStatus.in_transit,
|
|
227
233
|
color: "bg-blue-500"
|
|
228
234
|
},
|
|
229
235
|
{
|
|
230
236
|
status: "delivered",
|
|
231
|
-
count:
|
|
237
|
+
count: V.byStatus.delivered,
|
|
232
238
|
color: "bg-green-500"
|
|
233
239
|
},
|
|
234
240
|
{
|
|
235
241
|
status: "cancelled",
|
|
236
|
-
count:
|
|
242
|
+
count: V.byStatus.cancelled,
|
|
237
243
|
color: "bg-red-500"
|
|
238
244
|
}
|
|
239
245
|
].map(({ status: e, count: t, color: n }) => /* @__PURE__ */ j("div", {
|
|
@@ -242,56 +248,57 @@ function N() {
|
|
|
242
248
|
className: "flex items-center gap-2",
|
|
243
249
|
children: [/* @__PURE__ */ A("div", { className: `w-2 h-2 rounded-full ${n}` }), /* @__PURE__ */ A("span", {
|
|
244
250
|
className: "text-sm capitalize",
|
|
245
|
-
children:
|
|
251
|
+
children: I(`movethewheels.dashboard.orderStatus.status.${e}`, e.replace("_", " "))
|
|
246
252
|
})]
|
|
247
253
|
}), /* @__PURE__ */ A(s, {
|
|
248
254
|
variant: "secondary",
|
|
255
|
+
className: "tabular-nums",
|
|
249
256
|
children: t
|
|
250
257
|
})]
|
|
251
258
|
}, e))
|
|
252
|
-
})
|
|
253
|
-
})
|
|
259
|
+
})]
|
|
260
|
+
}),
|
|
254
261
|
/* @__PURE__ */ j(n, { children: [/* @__PURE__ */ A(a, { children: /* @__PURE__ */ A(i, {
|
|
255
262
|
className: "text-base",
|
|
256
|
-
children:
|
|
263
|
+
children: I("movethewheels.dashboard.fleetStatus.title", "Fleet Status")
|
|
257
264
|
}) }), /* @__PURE__ */ j(r, {
|
|
258
265
|
className: "space-y-4",
|
|
259
266
|
children: [/* @__PURE__ */ j("div", {
|
|
260
267
|
className: "space-y-2",
|
|
261
268
|
children: [/* @__PURE__ */ j("div", {
|
|
262
269
|
className: "flex justify-between text-sm",
|
|
263
|
-
children: [/* @__PURE__ */ A("span", { children:
|
|
264
|
-
}), /* @__PURE__ */ A(e, { value:
|
|
270
|
+
children: [/* @__PURE__ */ A("span", { children: I("movethewheels.dashboard.fleetStatus.vehicleUtilization", "Vehicle Utilization") }), /* @__PURE__ */ j("span", { children: [H.utilization.toFixed(0), "%"] })]
|
|
271
|
+
}), /* @__PURE__ */ A(e, { value: H.utilization })]
|
|
265
272
|
}), /* @__PURE__ */ j("div", {
|
|
266
273
|
className: "grid grid-cols-2 gap-4 text-sm",
|
|
267
274
|
children: [
|
|
268
275
|
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
269
276
|
className: "text-text-secondary",
|
|
270
|
-
children:
|
|
277
|
+
children: I("movethewheels.dashboard.fleetStatus.available", "Available")
|
|
271
278
|
}), /* @__PURE__ */ A("p", {
|
|
272
279
|
className: "text-lg font-semibold text-green-600",
|
|
273
|
-
children:
|
|
280
|
+
children: H.vehiclesByStatus.available
|
|
274
281
|
})] }),
|
|
275
282
|
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
276
283
|
className: "text-text-secondary",
|
|
277
|
-
children:
|
|
284
|
+
children: I("movethewheels.dashboard.fleetStatus.inUse", "In Use")
|
|
278
285
|
}), /* @__PURE__ */ A("p", {
|
|
279
286
|
className: "text-lg font-semibold text-blue-600",
|
|
280
|
-
children:
|
|
287
|
+
children: H.vehiclesByStatus.assigned
|
|
281
288
|
})] }),
|
|
282
289
|
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
283
290
|
className: "text-text-secondary",
|
|
284
|
-
children:
|
|
291
|
+
children: I("movethewheels.dashboard.fleetStatus.maintenance", "Maintenance")
|
|
285
292
|
}), /* @__PURE__ */ A("p", {
|
|
286
293
|
className: "text-lg font-semibold text-yellow-600",
|
|
287
|
-
children:
|
|
294
|
+
children: H.vehiclesByStatus.maintenance
|
|
288
295
|
})] }),
|
|
289
296
|
/* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
290
297
|
className: "text-text-secondary",
|
|
291
|
-
children:
|
|
298
|
+
children: I("movethewheels.dashboard.fleetStatus.avgFuel", "Avg Fuel")
|
|
292
299
|
}), /* @__PURE__ */ j("p", {
|
|
293
300
|
className: "text-lg font-semibold",
|
|
294
|
-
children: [
|
|
301
|
+
children: [H.avgFuelLevel.toFixed(0), "%"]
|
|
295
302
|
})] })
|
|
296
303
|
]
|
|
297
304
|
})]
|
|
@@ -301,66 +308,66 @@ function N() {
|
|
|
301
308
|
children: [/* @__PURE__ */ A(h, {
|
|
302
309
|
size: 16,
|
|
303
310
|
className: "text-yellow-500"
|
|
304
|
-
}),
|
|
311
|
+
}), I("movethewheels.dashboard.alerts.title", "Alerts")]
|
|
305
312
|
}) }), /* @__PURE__ */ A(r, { children: /* @__PURE__ */ j("div", {
|
|
306
313
|
className: "space-y-3",
|
|
307
314
|
children: [
|
|
308
|
-
|
|
315
|
+
V.byStatus.pending > 5 && /* @__PURE__ */ j("div", {
|
|
309
316
|
className: "flex items-start gap-3 p-2 rounded bg-yellow-50 dark:bg-yellow-900/20",
|
|
310
317
|
children: [/* @__PURE__ */ A(u, {
|
|
311
318
|
size: 16,
|
|
312
319
|
className: "text-yellow-600 mt-0.5"
|
|
313
320
|
}), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
314
321
|
className: "text-sm font-medium",
|
|
315
|
-
children:
|
|
322
|
+
children: I("movethewheels.dashboard.alerts.pendingOrders.title", "Pending Orders")
|
|
316
323
|
}), /* @__PURE__ */ j("p", {
|
|
317
324
|
className: "text-xs text-text-secondary",
|
|
318
325
|
children: [
|
|
319
|
-
|
|
326
|
+
V.byStatus.pending,
|
|
320
327
|
" ",
|
|
321
|
-
|
|
328
|
+
I("movethewheels.dashboard.alerts.pendingOrders.description", "orders awaiting confirmation")
|
|
322
329
|
]
|
|
323
330
|
})] })]
|
|
324
331
|
}),
|
|
325
|
-
|
|
332
|
+
H.vehiclesByStatus.maintenance > 0 && /* @__PURE__ */ j("div", {
|
|
326
333
|
className: "flex items-start gap-3 p-2 rounded bg-orange-50 dark:bg-orange-900/20",
|
|
327
334
|
children: [/* @__PURE__ */ A(g, {
|
|
328
335
|
size: 16,
|
|
329
336
|
className: "text-orange-600 mt-0.5"
|
|
330
337
|
}), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
331
338
|
className: "text-sm font-medium",
|
|
332
|
-
children:
|
|
339
|
+
children: I("movethewheels.dashboard.alerts.maintenanceVehicles.title", "Vehicles in Maintenance")
|
|
333
340
|
}), /* @__PURE__ */ j("p", {
|
|
334
341
|
className: "text-xs text-text-secondary",
|
|
335
342
|
children: [
|
|
336
|
-
|
|
343
|
+
H.vehiclesByStatus.maintenance,
|
|
337
344
|
" ",
|
|
338
|
-
|
|
345
|
+
I("movethewheels.dashboard.alerts.maintenanceVehicles.description", "vehicles unavailable")
|
|
339
346
|
]
|
|
340
347
|
})] })]
|
|
341
348
|
}),
|
|
342
|
-
|
|
349
|
+
H.driversByStatus.offline > 0 && /* @__PURE__ */ j("div", {
|
|
343
350
|
className: "flex items-start gap-3 p-2 rounded bg-gray-50 dark:bg-gray-800",
|
|
344
351
|
children: [/* @__PURE__ */ A(_, {
|
|
345
352
|
size: 16,
|
|
346
353
|
className: "text-gray-600 mt-0.5"
|
|
347
354
|
}), /* @__PURE__ */ j("div", { children: [/* @__PURE__ */ A("p", {
|
|
348
355
|
className: "text-sm font-medium",
|
|
349
|
-
children:
|
|
356
|
+
children: I("movethewheels.dashboard.alerts.offlineDrivers.title", "Offline Drivers")
|
|
350
357
|
}), /* @__PURE__ */ j("p", {
|
|
351
358
|
className: "text-xs text-text-secondary",
|
|
352
359
|
children: [
|
|
353
|
-
|
|
360
|
+
H.driversByStatus.offline,
|
|
354
361
|
" ",
|
|
355
|
-
|
|
362
|
+
I("movethewheels.dashboard.alerts.offlineDrivers.description", "drivers currently offline")
|
|
356
363
|
]
|
|
357
364
|
})] })]
|
|
358
365
|
}),
|
|
359
|
-
|
|
366
|
+
V.byStatus.pending <= 5 && H.vehiclesByStatus.maintenance === 0 && H.driversByStatus.offline === 0 && /* @__PURE__ */ A("div", {
|
|
360
367
|
className: "text-center py-4 text-text-secondary",
|
|
361
368
|
children: /* @__PURE__ */ A("p", {
|
|
362
369
|
className: "text-sm",
|
|
363
|
-
children:
|
|
370
|
+
children: I("movethewheels.dashboard.alerts.allOperational", "All systems operational")
|
|
364
371
|
})
|
|
365
372
|
})
|
|
366
373
|
]
|
|
@@ -371,4 +378,4 @@ function N() {
|
|
|
371
378
|
});
|
|
372
379
|
}
|
|
373
380
|
//#endregion
|
|
374
|
-
export {
|
|
381
|
+
export { F as default };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as e, B as t, F as n, G as r, H as i, I as a, K as o, L as s, P as c, R as l, U as u, W as d, it as f, q as p, rt as m, u as h } from "./PageLayout-
|
|
2
|
-
import { t as g } from "./chevron-right-
|
|
3
|
-
import { t as _ } from "./search-
|
|
1
|
+
import { A as e, B as t, F as n, G as r, H as i, I as a, K as o, L as s, P as c, R as l, U as u, W as d, it as f, q as p, rt as m, u as h } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { t as g } from "./chevron-right-BIFGi0UA.js";
|
|
3
|
+
import { t as _ } from "./search-OxoIiL_C.js";
|
|
4
4
|
import { useMemo as v, useState as y } from "react";
|
|
5
5
|
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
6
6
|
//#region node_modules/lucide-react/dist/esm/icons/arrow-down.js
|
|
@@ -108,8 +108,8 @@ function O({ columns: f, data: O, isLoading: ee = !1, searchable: k = !1, search
|
|
|
108
108
|
className: "flex items-center gap-4",
|
|
109
109
|
children: /* @__PURE__ */ b(t, { className: "h-10 w-64" })
|
|
110
110
|
}), /* @__PURE__ */ b("div", {
|
|
111
|
-
className: "rounded-
|
|
112
|
-
children: /* @__PURE__ */ x(i, { children: [/* @__PURE__ */ b(o, { children: /* @__PURE__ */ b(p, { children: f.map((e) => /* @__PURE__ */ b(r, { children: /* @__PURE__ */ b(t, { className: "h-4 w-20" }) }, e.id)) }) }), /* @__PURE__ */ b(u, { children: Array.from({ length: 5 }).map((e, n) => /* @__PURE__ */ b(p, { children: f.map((e) => /* @__PURE__ */ b(d, { children: /* @__PURE__ */ b(t, { className: "h-4 w-full max-w-[100px]" }) }, e.id)) }, n)) })] })
|
|
111
|
+
className: "rounded-card border border-border-seam bg-bg-surface shadow-elevation-1",
|
|
112
|
+
children: /* @__PURE__ */ x(i, { children: [/* @__PURE__ */ b(o, { children: /* @__PURE__ */ b(p, { children: f.map((e) => /* @__PURE__ */ b(r, { children: /* @__PURE__ */ b(t, { className: "h-4 w-20 motion-safe:animate-vc-shimmer" }) }, e.id)) }) }), /* @__PURE__ */ b(u, { children: Array.from({ length: 5 }).map((e, n) => /* @__PURE__ */ b(p, { children: f.map((e) => /* @__PURE__ */ b(d, { children: /* @__PURE__ */ b(t, { className: "h-4 w-full max-w-[100px] motion-safe:animate-vc-shimmer" }) }, e.id)) }, n)) })] })
|
|
113
113
|
})]
|
|
114
114
|
}) : /* @__PURE__ */ x("div", {
|
|
115
115
|
className: m("space-y-4", R),
|
|
@@ -129,7 +129,7 @@ function O({ columns: f, data: O, isLoading: ee = !1, searchable: k = !1, search
|
|
|
129
129
|
})
|
|
130
130
|
}),
|
|
131
131
|
/* @__PURE__ */ b("div", {
|
|
132
|
-
className: "rounded-
|
|
132
|
+
className: "overflow-x-auto rounded-card border border-border-seam bg-bg-surface shadow-elevation-1",
|
|
133
133
|
children: /* @__PURE__ */ x(i, { children: [/* @__PURE__ */ b(o, { children: /* @__PURE__ */ b(p, { children: f.map((e) => /* @__PURE__ */ b(r, {
|
|
134
134
|
className: m(e.sortable && "cursor-pointer select-none hover:bg-bg-sunken/50", e.headerClassName),
|
|
135
135
|
onClick: () => e.sortable && te(e.id),
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { M as e, d as t, f as n, g as r, h as i, i as a, l as o, n as s, r as c, u as l } from "./PageLayout-
|
|
2
|
-
import { t as u } from "./arrow-left-
|
|
3
|
-
import { t as d } from "./clock-
|
|
4
|
-
import { t as f } from "./dollar-sign-
|
|
5
|
-
import { t as p } from "./file-text-
|
|
6
|
-
import { t as m } from "./map-pin-
|
|
7
|
-
import { t as h } from "./square-pen-
|
|
8
|
-
import { t as g } from "./star-
|
|
9
|
-
import { t as _ } from "./users-
|
|
1
|
+
import { M as e, d as t, f as n, g as r, h as i, i as a, l as o, n as s, r as c, u as l } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { t as u } from "./arrow-left-CBpZKkpq.js";
|
|
3
|
+
import { t as d } from "./clock-BjkdnddD.js";
|
|
4
|
+
import { t as f } from "./dollar-sign-IB4O0wuQ.js";
|
|
5
|
+
import { t as p } from "./file-text-C8Uioy11.js";
|
|
6
|
+
import { t as m } from "./map-pin-BSaf5IDL.js";
|
|
7
|
+
import { t as h } from "./square-pen-hLIbFQFV.js";
|
|
8
|
+
import { t as g } from "./star-YsVV3MNQ.js";
|
|
9
|
+
import { t as _ } from "./users-g2N0eL-Z.js";
|
|
10
10
|
import { r as v } from "./graphqlClient-CdJyR_ed.js";
|
|
11
11
|
import { t as y } from "./useFleet-BdETplNE.js";
|
|
12
|
-
import { r as b } from "./StatusBadge-
|
|
12
|
+
import { r as b } from "./StatusBadge-CijYQXtb.js";
|
|
13
13
|
import { n as x, r as S } from "./formatters-_vJlC-47.js";
|
|
14
14
|
import { t as C } from "./navigation-BgnOfsVd.js";
|
|
15
15
|
import { useParams as w } from "react-router-dom";
|