@burdenoff/microfe-movethewheels 2026.625.1 → 2026.626.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AIAssistantPage-CNyoKtID.js → AIAssistantPage-AvsMbunM.js} +35 -29
- package/dist/{AnalyticsPage-Ck615ox7.js → AnalyticsPage-CCLfHgQZ.js} +36 -25
- package/dist/CreateOrderPage-CjlnEtk3.js +510 -0
- package/dist/CustomerDetailsPage-I6cdDHUi.js +265 -0
- package/dist/CustomersPage-CGGfD4ki.js +163 -0
- package/dist/{DashboardPage-DTmyuC11.js → DashboardPage-D2HRqwg9.js} +93 -89
- package/dist/DataTable-CD9ZhpLB.js +249 -0
- package/dist/DriverDetailsPage-rg_pGNuP.js +330 -0
- package/dist/DriversPage-DKiynISH.js +167 -0
- package/dist/FinancePage-Vg8WPs38.js +158 -0
- package/dist/{FleetPage-DCfOmBa2.js → FleetPage-DddXt8r8.js} +109 -71
- package/dist/ImportExportPage-BW6qO3kc.js +248 -0
- package/dist/{InventoryPage-BW0QXWuf.js → InventoryPage-rMGuaJN-.js} +74 -70
- package/dist/LiveTrackingPage-DQ1q4Id3.js +375 -0
- package/dist/MarketplacePage-DKrXAv62.js +219 -0
- package/dist/OrderDetailsPage-CFASgsYX.js +431 -0
- package/dist/OrdersListPage-BHeT8S5o.js +309 -0
- package/dist/ProductDetailsPage-CFGcbaHo.js +195 -0
- package/dist/ProductsPage--xEpbQ8A.js +171 -0
- package/dist/{ReportsPage-Df3hciPy.js → ReportsPage-Bb7_90rK.js} +53 -45
- package/dist/RouteDetailsPage-CVtDVb1N.js +282 -0
- package/dist/RoutesPage-s57PtgcQ.js +163 -0
- package/dist/SettingsPage-BYNCBOpN.js +298 -0
- package/dist/{TrackingPage-CU0Vk4mx.js → TrackingPage-CcRc_dva.js} +77 -72
- package/dist/VehicleDetailsPage-3YDMPsPs.js +220 -0
- package/dist/VehiclesPage-UlxPWP9K.js +167 -0
- package/dist/WarehouseDetailsPage-Db7KeN-d.js +238 -0
- package/dist/WarehousesPage-CuTO-OPp.js +164 -0
- package/dist/index.js +2 -2
- package/package.json +2 -2
- package/src/movethewheels/components/DataTable.tsx +37 -2
- package/src/movethewheels/components/MetricCard.tsx +3 -1
- package/src/movethewheels/pages/AIAssistantPage.tsx +11 -3
- package/src/movethewheels/pages/AnalyticsPage.tsx +31 -25
- package/src/movethewheels/pages/CreateOrderPage.tsx +56 -17
- package/src/movethewheels/pages/CustomerDetailsPage.tsx +63 -38
- package/src/movethewheels/pages/CustomersPage.tsx +40 -2
- package/src/movethewheels/pages/DashboardPage.tsx +8 -1
- package/src/movethewheels/pages/DriverDetailsPage.tsx +57 -26
- package/src/movethewheels/pages/DriversPage.tsx +37 -1
- package/src/movethewheels/pages/FinancePage.tsx +45 -41
- package/src/movethewheels/pages/FleetPage.tsx +68 -25
- package/src/movethewheels/pages/ImportExportPage.tsx +46 -29
- package/src/movethewheels/pages/InventoryPage.tsx +20 -23
- package/src/movethewheels/pages/LiveTrackingPage.tsx +58 -20
- package/src/movethewheels/pages/MarketplacePage.tsx +37 -3
- package/src/movethewheels/pages/OrderDetailsPage.tsx +74 -46
- package/src/movethewheels/pages/OrdersListPage.tsx +62 -1
- package/src/movethewheels/pages/ProductDetailsPage.tsx +36 -11
- package/src/movethewheels/pages/ProductsPage.tsx +33 -1
- package/src/movethewheels/pages/ReportsPage.tsx +23 -19
- package/src/movethewheels/pages/RouteDetailsPage.tsx +71 -31
- package/src/movethewheels/pages/RoutesPage.tsx +41 -5
- package/src/movethewheels/pages/SettingsPage.tsx +68 -26
- package/src/movethewheels/pages/TrackingPage.tsx +50 -47
- package/src/movethewheels/pages/VehicleDetailsPage.tsx +49 -24
- package/src/movethewheels/pages/VehiclesPage.tsx +33 -1
- package/src/movethewheels/pages/WarehouseDetailsPage.tsx +55 -30
- package/src/movethewheels/pages/WarehousesPage.tsx +42 -4
- package/dist/CreateOrderPage-C9Vb57Yn.js +0 -471
- package/dist/CustomerDetailsPage-BVkHRZvi.js +0 -239
- package/dist/CustomersPage-DhQg-6h_.js +0 -118
- package/dist/DataTable-CfWvFw5B.js +0 -239
- package/dist/DriverDetailsPage-DaaCQ-2O.js +0 -297
- package/dist/DriversPage-D0RMBB_t.js +0 -129
- package/dist/FinancePage-BUXqW1IM.js +0 -154
- package/dist/ImportExportPage-BM1BoRcE.js +0 -232
- package/dist/LiveTrackingPage-DqcGXdkw.js +0 -332
- package/dist/MarketplacePage-DFqsxNYU.js +0 -192
- package/dist/OrderDetailsPage-Dx1m3cVA.js +0 -398
- package/dist/OrdersListPage-DHYBGrWf.js +0 -256
- package/dist/ProductDetailsPage-DOXO90kb.js +0 -168
- package/dist/ProductsPage-RLMTwWN0.js +0 -133
- package/dist/RouteDetailsPage-xzFDeR-X.js +0 -240
- package/dist/RoutesPage-DDFy1QVi.js +0 -118
- package/dist/SettingsPage-JH_-UPbf.js +0 -247
- package/dist/VehicleDetailsPage-P4xDttKw.js +0 -194
- package/dist/VehiclesPage-tJZ64QKV.js +0 -129
- package/dist/WarehouseDetailsPage-Bt_w2Yf7.js +0 -215
- package/dist/WarehousesPage-HsPpEFeG.js +0 -126
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { d as e, f as t, g as n, h as r, i, it as a, l as o, u as s } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { t as c } from "./download-Dpa9vqoG.js";
|
|
3
|
+
import { t as l } from "./file-text-C8Uioy11.js";
|
|
4
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
5
|
+
import { EmphasisPanel as f, IllustratedEmptyState as p, PagePurpose as m } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
//#region node_modules/lucide-react/dist/esm/icons/check.js
|
|
7
|
+
var h = a("Check", [["path", {
|
|
8
|
+
d: "M20 6 9 17l-5-5",
|
|
9
|
+
key: "1gmf2c"
|
|
10
|
+
}]]), g = a("FileSpreadsheet", [
|
|
11
|
+
["path", {
|
|
12
|
+
d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
|
|
13
|
+
key: "1rqfz7"
|
|
14
|
+
}],
|
|
15
|
+
["path", {
|
|
16
|
+
d: "M14 2v4a2 2 0 0 0 2 2h4",
|
|
17
|
+
key: "tnqrlb"
|
|
18
|
+
}],
|
|
19
|
+
["path", {
|
|
20
|
+
d: "M8 13h2",
|
|
21
|
+
key: "yr2amv"
|
|
22
|
+
}],
|
|
23
|
+
["path", {
|
|
24
|
+
d: "M14 13h2",
|
|
25
|
+
key: "un5t4a"
|
|
26
|
+
}],
|
|
27
|
+
["path", {
|
|
28
|
+
d: "M8 17h2",
|
|
29
|
+
key: "2yhykz"
|
|
30
|
+
}],
|
|
31
|
+
["path", {
|
|
32
|
+
d: "M14 17h2",
|
|
33
|
+
key: "10kma7"
|
|
34
|
+
}]
|
|
35
|
+
]), _ = a("Upload", [
|
|
36
|
+
["path", {
|
|
37
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
|
38
|
+
key: "ih7n3h"
|
|
39
|
+
}],
|
|
40
|
+
["polyline", {
|
|
41
|
+
points: "17 8 12 3 7 8",
|
|
42
|
+
key: "t8dd8p"
|
|
43
|
+
}],
|
|
44
|
+
["line", {
|
|
45
|
+
x1: "12",
|
|
46
|
+
x2: "12",
|
|
47
|
+
y1: "3",
|
|
48
|
+
y2: "15",
|
|
49
|
+
key: "widbto"
|
|
50
|
+
}]
|
|
51
|
+
]);
|
|
52
|
+
//#endregion
|
|
53
|
+
//#region src/movethewheels/pages/ImportExportPage.tsx
|
|
54
|
+
function v() {
|
|
55
|
+
let a = [
|
|
56
|
+
{
|
|
57
|
+
name: "Orders",
|
|
58
|
+
description: "Import orders from CSV or Excel",
|
|
59
|
+
icon: g,
|
|
60
|
+
format: "CSV, XLSX"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "Customers",
|
|
64
|
+
description: "Import customer database",
|
|
65
|
+
icon: g,
|
|
66
|
+
format: "CSV, XLSX"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: "Products",
|
|
70
|
+
description: "Import product catalog",
|
|
71
|
+
icon: g,
|
|
72
|
+
format: "CSV, XLSX"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: "Inventory",
|
|
76
|
+
description: "Import inventory levels",
|
|
77
|
+
icon: g,
|
|
78
|
+
format: "CSV, XLSX"
|
|
79
|
+
}
|
|
80
|
+
], v = [
|
|
81
|
+
{
|
|
82
|
+
name: "Orders Report",
|
|
83
|
+
description: "Export all orders data",
|
|
84
|
+
formats: [
|
|
85
|
+
"CSV",
|
|
86
|
+
"Excel",
|
|
87
|
+
"PDF"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: "Financial Report",
|
|
92
|
+
description: "Export revenue and payments",
|
|
93
|
+
formats: [
|
|
94
|
+
"CSV",
|
|
95
|
+
"Excel",
|
|
96
|
+
"PDF"
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "Fleet Report",
|
|
101
|
+
description: "Export vehicle and driver data",
|
|
102
|
+
formats: ["CSV", "Excel"]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: "Analytics Report",
|
|
106
|
+
description: "Export performance metrics",
|
|
107
|
+
formats: [
|
|
108
|
+
"CSV",
|
|
109
|
+
"Excel",
|
|
110
|
+
"PDF"
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
], y = [
|
|
114
|
+
{
|
|
115
|
+
type: "export",
|
|
116
|
+
name: "Orders Report",
|
|
117
|
+
date: "2024-01-15",
|
|
118
|
+
status: "completed"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
type: "import",
|
|
122
|
+
name: "Customer Data",
|
|
123
|
+
date: "2024-01-14",
|
|
124
|
+
status: "completed"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: "export",
|
|
128
|
+
name: "Financial Report",
|
|
129
|
+
date: "2024-01-13",
|
|
130
|
+
status: "completed"
|
|
131
|
+
}
|
|
132
|
+
];
|
|
133
|
+
return /* @__PURE__ */ d(i, {
|
|
134
|
+
title: "Import / Export",
|
|
135
|
+
subtitle: "Import and export your data",
|
|
136
|
+
icon: /* @__PURE__ */ u(l, { size: 24 }),
|
|
137
|
+
children: [
|
|
138
|
+
/* @__PURE__ */ u(m, {
|
|
139
|
+
icon: /* @__PURE__ */ u(l, { size: 18 }),
|
|
140
|
+
children: "Move data in and out in bulk. Import orders, customers, products or inventory from CSV/Excel to onboard or migrate without re-keying, and export any dataset for accounting, BI tools or backups — no manual copy-paste required."
|
|
141
|
+
}),
|
|
142
|
+
/* @__PURE__ */ d("div", {
|
|
143
|
+
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
144
|
+
children: [/* @__PURE__ */ d(f, {
|
|
145
|
+
className: "space-y-4",
|
|
146
|
+
children: [/* @__PURE__ */ d("h2", {
|
|
147
|
+
className: "flex items-center gap-2 text-base font-semibold text-text-primary",
|
|
148
|
+
children: [/* @__PURE__ */ u(_, { size: 18 }), " Import Data"]
|
|
149
|
+
}), /* @__PURE__ */ u("div", {
|
|
150
|
+
className: "space-y-4",
|
|
151
|
+
children: a.map((e) => /* @__PURE__ */ d("div", {
|
|
152
|
+
className: "flex items-center justify-between p-4 border rounded-lg hover:border-primary/50 transition-colors",
|
|
153
|
+
children: [/* @__PURE__ */ d("div", {
|
|
154
|
+
className: "flex items-center gap-3",
|
|
155
|
+
children: [/* @__PURE__ */ u("div", {
|
|
156
|
+
className: "w-10 h-10 rounded-lg bg-action-primary-bg/10 flex items-center justify-center",
|
|
157
|
+
children: /* @__PURE__ */ u(e.icon, {
|
|
158
|
+
size: 20,
|
|
159
|
+
className: "text-primary"
|
|
160
|
+
})
|
|
161
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
162
|
+
className: "font-medium",
|
|
163
|
+
children: e.name
|
|
164
|
+
}), /* @__PURE__ */ u("p", {
|
|
165
|
+
className: "text-sm text-text-secondary",
|
|
166
|
+
children: e.description
|
|
167
|
+
})] })]
|
|
168
|
+
}), /* @__PURE__ */ d("div", {
|
|
169
|
+
className: "text-right",
|
|
170
|
+
children: [/* @__PURE__ */ u(o, {
|
|
171
|
+
variant: "outline",
|
|
172
|
+
children: e.format
|
|
173
|
+
}), /* @__PURE__ */ u(s, {
|
|
174
|
+
variant: "outline",
|
|
175
|
+
size: "sm",
|
|
176
|
+
className: "ml-2",
|
|
177
|
+
children: /* @__PURE__ */ u(_, { size: 14 })
|
|
178
|
+
})]
|
|
179
|
+
})]
|
|
180
|
+
}, e.name))
|
|
181
|
+
})]
|
|
182
|
+
}), /* @__PURE__ */ d(e, { children: [/* @__PURE__ */ u(r, { children: /* @__PURE__ */ d(n, {
|
|
183
|
+
className: "flex items-center gap-2",
|
|
184
|
+
children: [/* @__PURE__ */ u(c, { size: 18 }), " Export Data"]
|
|
185
|
+
}) }), /* @__PURE__ */ u(t, {
|
|
186
|
+
className: "space-y-4",
|
|
187
|
+
children: v.map((e) => /* @__PURE__ */ d("div", {
|
|
188
|
+
className: "flex items-center justify-between p-4 border rounded-lg hover:border-primary/50 transition-colors",
|
|
189
|
+
children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
190
|
+
className: "font-medium",
|
|
191
|
+
children: e.name
|
|
192
|
+
}), /* @__PURE__ */ u("p", {
|
|
193
|
+
className: "text-sm text-text-secondary",
|
|
194
|
+
children: e.description
|
|
195
|
+
})] }), /* @__PURE__ */ u("div", {
|
|
196
|
+
className: "flex gap-1",
|
|
197
|
+
children: e.formats.map((e) => /* @__PURE__ */ u(s, {
|
|
198
|
+
variant: "outline",
|
|
199
|
+
size: "sm",
|
|
200
|
+
children: e
|
|
201
|
+
}, e))
|
|
202
|
+
})]
|
|
203
|
+
}, e.name))
|
|
204
|
+
})] })]
|
|
205
|
+
}),
|
|
206
|
+
/* @__PURE__ */ d(e, { children: [/* @__PURE__ */ u(r, { children: /* @__PURE__ */ u(n, { children: "Recent Activity" }) }), /* @__PURE__ */ u(t, { children: y.length === 0 ? /* @__PURE__ */ u(p, {
|
|
207
|
+
illustration: "empty-data",
|
|
208
|
+
title: "No import or export activity yet",
|
|
209
|
+
description: "Your recent imports and exports will show up here once you run one."
|
|
210
|
+
}) : /* @__PURE__ */ u("div", {
|
|
211
|
+
className: "space-y-3",
|
|
212
|
+
children: y.map((e, t) => /* @__PURE__ */ d("div", {
|
|
213
|
+
className: "flex items-center justify-between p-3 bg-bg-sunken/50 rounded-lg",
|
|
214
|
+
children: [/* @__PURE__ */ d("div", {
|
|
215
|
+
className: "flex items-center gap-3",
|
|
216
|
+
children: [e.type === "import" ? /* @__PURE__ */ u(_, {
|
|
217
|
+
size: 16,
|
|
218
|
+
className: "text-primary"
|
|
219
|
+
}) : /* @__PURE__ */ u(c, {
|
|
220
|
+
size: 16,
|
|
221
|
+
className: "text-primary"
|
|
222
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("p", {
|
|
223
|
+
className: "font-medium",
|
|
224
|
+
children: e.name
|
|
225
|
+
}), /* @__PURE__ */ d("p", {
|
|
226
|
+
className: "text-sm text-text-secondary",
|
|
227
|
+
children: [
|
|
228
|
+
e.type === "import" ? "Imported" : "Exported",
|
|
229
|
+
" on ",
|
|
230
|
+
e.date
|
|
231
|
+
]
|
|
232
|
+
})] })]
|
|
233
|
+
}), /* @__PURE__ */ d(o, {
|
|
234
|
+
variant: "default",
|
|
235
|
+
className: "gap-1",
|
|
236
|
+
children: [
|
|
237
|
+
/* @__PURE__ */ u(h, { size: 12 }),
|
|
238
|
+
" ",
|
|
239
|
+
e.status
|
|
240
|
+
]
|
|
241
|
+
})]
|
|
242
|
+
}, t))
|
|
243
|
+
}) })] })
|
|
244
|
+
]
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
//#endregion
|
|
248
|
+
export { v as default };
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { M as e, a as t, d as n, f as r,
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { r as
|
|
8
|
-
import { n as
|
|
9
|
-
import { r as
|
|
10
|
-
import { n as
|
|
11
|
-
import { t as
|
|
12
|
-
import { jsx as
|
|
13
|
-
import { CTAOverflowMenu as C } from "@burdenoff/fe-libs/ui";
|
|
1
|
+
import { M as e, a as t, d as n, f as r, i, l as a, u as o } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { t as s } from "./chevron-right-BIFGi0UA.js";
|
|
3
|
+
import { t as c } from "./package-BE7U0wQE.js";
|
|
4
|
+
import { t as l } from "./plus-Dl1rLeJR.js";
|
|
5
|
+
import { t as u } from "./triangle-alert-BOhfGgmh.js";
|
|
6
|
+
import { t as d } from "./warehouse-D3WWDeTX.js";
|
|
7
|
+
import { r as f } from "./graphqlClient-CdJyR_ed.js";
|
|
8
|
+
import { n as p, t as m } from "./useInventory-Dwn18FPz.js";
|
|
9
|
+
import { r as h, t as g } from "./MetricCard-B7yMyvMX.js";
|
|
10
|
+
import { n as _ } from "./formatters-_vJlC-47.js";
|
|
11
|
+
import { t as v } from "./navigation-BgnOfsVd.js";
|
|
12
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
13
|
+
import { CTAOverflowMenu as x, EmphasisPanel as S, PagePurpose as C } from "@burdenoff/fe-libs/ui";
|
|
14
14
|
import { useI18n as w } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
15
15
|
//#region src/movethewheels/pages/InventoryPage.tsx
|
|
16
16
|
function T() {
|
|
17
17
|
let { t: T } = w(), E = (e, t) => {
|
|
18
18
|
let n = T(e);
|
|
19
19
|
return n === e ? t : n;
|
|
20
|
-
}, { basePath: D, navigate: O } =
|
|
21
|
-
return /* @__PURE__ */
|
|
20
|
+
}, { basePath: D, navigate: O } = f(), { inventory: k, products: A, warehouses: j } = m(), { stats: M } = p(), N = (e) => O?.(v(D, e)), P = k.filter((e) => e.availableQuantity <= e.reorderLevel);
|
|
21
|
+
return /* @__PURE__ */ b(i, {
|
|
22
22
|
title: E("movethewheels.inventory.title", "Inventory"),
|
|
23
23
|
subtitle: E("movethewheels.inventory.subtitle", "Manage your products and warehouses"),
|
|
24
|
-
icon: /* @__PURE__ */
|
|
25
|
-
headerActions: /* @__PURE__ */ x
|
|
24
|
+
icon: /* @__PURE__ */ y(c, { size: 24 }),
|
|
25
|
+
headerActions: /* @__PURE__ */ y(x, {
|
|
26
26
|
primary: {
|
|
27
27
|
label: E("movethewheels.inventory.actions.addProduct", "Add Product"),
|
|
28
|
-
icon: /* @__PURE__ */
|
|
28
|
+
icon: /* @__PURE__ */ y(l, { size: 16 }),
|
|
29
29
|
onSelect: () => {}
|
|
30
30
|
},
|
|
31
31
|
actions: [{
|
|
@@ -37,39 +37,43 @@ function T() {
|
|
|
37
37
|
}]
|
|
38
38
|
}),
|
|
39
39
|
children: [
|
|
40
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ y(C, {
|
|
41
|
+
icon: /* @__PURE__ */ y(c, { size: 18 }),
|
|
42
|
+
children: E("movethewheels.inventory.purpose", "A real-time view of what you have and where. Track stock value and quantities across warehouses, catch low-stock items before they run out, and drill into products or warehouses to manage what you can promise on an order.")
|
|
43
|
+
}),
|
|
44
|
+
/* @__PURE__ */ b(h, {
|
|
41
45
|
columns: 4,
|
|
42
46
|
children: [
|
|
43
|
-
/* @__PURE__ */
|
|
47
|
+
/* @__PURE__ */ y(g, {
|
|
44
48
|
label: E("movethewheels.inventory.metrics.totalProducts", "Total Products"),
|
|
45
49
|
value: M.totalProducts,
|
|
46
|
-
icon: /* @__PURE__ */
|
|
50
|
+
icon: /* @__PURE__ */ y(c, { size: 20 }),
|
|
47
51
|
onClick: () => N("inventory/products")
|
|
48
52
|
}),
|
|
49
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ y(g, {
|
|
50
54
|
label: E("movethewheels.inventory.metrics.totalItems", "Total Items"),
|
|
51
55
|
value: M.totalItems.toLocaleString(),
|
|
52
|
-
icon: /* @__PURE__ */
|
|
56
|
+
icon: /* @__PURE__ */ y(c, { size: 20 })
|
|
53
57
|
}),
|
|
54
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ y(g, {
|
|
55
59
|
label: E("movethewheels.inventory.metrics.inventoryValue", "Inventory Value"),
|
|
56
|
-
value:
|
|
57
|
-
icon: /* @__PURE__ */
|
|
60
|
+
value: _(M.totalValue),
|
|
61
|
+
icon: /* @__PURE__ */ y(c, { size: 20 })
|
|
58
62
|
}),
|
|
59
|
-
/* @__PURE__ */
|
|
63
|
+
/* @__PURE__ */ y(g, {
|
|
60
64
|
label: E("movethewheels.inventory.metrics.warehouses", "Warehouses"),
|
|
61
65
|
value: M.totalWarehouses,
|
|
62
|
-
icon: /* @__PURE__ */
|
|
66
|
+
icon: /* @__PURE__ */ y(d, { size: 20 }),
|
|
63
67
|
onClick: () => N("inventory/warehouses")
|
|
64
68
|
})
|
|
65
69
|
]
|
|
66
70
|
}),
|
|
67
|
-
P.length > 0 && /* @__PURE__ */ S
|
|
68
|
-
className: "
|
|
69
|
-
children: [/* @__PURE__ */
|
|
70
|
-
className: "flex items-center gap-2 text-
|
|
71
|
+
P.length > 0 && /* @__PURE__ */ b(S, {
|
|
72
|
+
className: "space-y-4",
|
|
73
|
+
children: [/* @__PURE__ */ b("h2", {
|
|
74
|
+
className: "flex items-center gap-2 text-base font-semibold text-status-warning-text",
|
|
71
75
|
children: [
|
|
72
|
-
/* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */ y(u, { size: 18 }),
|
|
73
77
|
E("movethewheels.inventory.lowStock.title", "Low Stock Alert"),
|
|
74
78
|
" (",
|
|
75
79
|
P.length,
|
|
@@ -77,32 +81,32 @@ function T() {
|
|
|
77
81
|
E("movethewheels.inventory.lowStock.items", "items"),
|
|
78
82
|
")"
|
|
79
83
|
]
|
|
80
|
-
})
|
|
84
|
+
}), /* @__PURE__ */ y("div", { children: /* @__PURE__ */ y("div", {
|
|
81
85
|
className: "space-y-3",
|
|
82
86
|
children: P.slice(0, 5).map((e) => {
|
|
83
87
|
let t = A.find((t) => t.id === e.productId);
|
|
84
|
-
return /* @__PURE__ */
|
|
85
|
-
className: "flex items-center justify-between p-3 bg-
|
|
86
|
-
children: [/* @__PURE__ */
|
|
88
|
+
return /* @__PURE__ */ b("div", {
|
|
89
|
+
className: "flex items-center justify-between p-3 bg-status-warning-bg/10 rounded-lg",
|
|
90
|
+
children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
87
91
|
className: "font-medium",
|
|
88
92
|
children: t?.name || E("movethewheels.inventory.lowStock.unknownProduct", "Unknown Product")
|
|
89
|
-
}), /* @__PURE__ */
|
|
93
|
+
}), /* @__PURE__ */ b("p", {
|
|
90
94
|
className: "text-sm text-text-secondary",
|
|
91
95
|
children: [
|
|
92
96
|
E("movethewheels.inventory.lowStock.sku", "SKU:"),
|
|
93
97
|
" ",
|
|
94
98
|
t?.sku
|
|
95
99
|
]
|
|
96
|
-
})] }), /* @__PURE__ */
|
|
100
|
+
})] }), /* @__PURE__ */ b("div", {
|
|
97
101
|
className: "text-right",
|
|
98
|
-
children: [/* @__PURE__ */
|
|
99
|
-
className: "font-medium text-
|
|
102
|
+
children: [/* @__PURE__ */ b("p", {
|
|
103
|
+
className: "font-medium text-status-warning-text",
|
|
100
104
|
children: [
|
|
101
105
|
e.availableQuantity,
|
|
102
106
|
" ",
|
|
103
107
|
E("movethewheels.inventory.lowStock.left", "left")
|
|
104
108
|
]
|
|
105
|
-
}), /* @__PURE__ */
|
|
109
|
+
}), /* @__PURE__ */ b("p", {
|
|
106
110
|
className: "text-sm text-text-secondary",
|
|
107
111
|
children: [
|
|
108
112
|
E("movethewheels.inventory.lowStock.reorderAt", "Reorder at:"),
|
|
@@ -115,50 +119,50 @@ function T() {
|
|
|
115
119
|
})
|
|
116
120
|
}) })]
|
|
117
121
|
}),
|
|
118
|
-
/* @__PURE__ */
|
|
122
|
+
/* @__PURE__ */ b("div", {
|
|
119
123
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
120
|
-
children: [/* @__PURE__ */
|
|
124
|
+
children: [/* @__PURE__ */ y(t, {
|
|
121
125
|
title: E("movethewheels.inventory.warehouses.title", "Warehouses"),
|
|
122
|
-
actions: /* @__PURE__ */
|
|
126
|
+
actions: /* @__PURE__ */ b(o, {
|
|
123
127
|
variant: "ghost",
|
|
124
128
|
size: "sm",
|
|
125
129
|
onClick: () => N("inventory/warehouses"),
|
|
126
130
|
children: [
|
|
127
131
|
E("movethewheels.inventory.common.viewAll", "View all"),
|
|
128
132
|
" ",
|
|
129
|
-
/* @__PURE__ */
|
|
133
|
+
/* @__PURE__ */ y(s, { size: 16 })
|
|
130
134
|
]
|
|
131
135
|
}),
|
|
132
|
-
children: /* @__PURE__ */
|
|
136
|
+
children: /* @__PURE__ */ y(n, { children: /* @__PURE__ */ y(r, {
|
|
133
137
|
className: "p-0",
|
|
134
|
-
children: /* @__PURE__ */
|
|
138
|
+
children: /* @__PURE__ */ y("div", {
|
|
135
139
|
className: "divide-y",
|
|
136
|
-
children: j.map((t) => /* @__PURE__ */
|
|
140
|
+
children: j.map((t) => /* @__PURE__ */ y("div", {
|
|
137
141
|
className: "p-4 hover:bg-bg-sunken/50 cursor-pointer",
|
|
138
142
|
onClick: () => N(`inventory/warehouses/${t.id}`),
|
|
139
|
-
children: /* @__PURE__ */
|
|
143
|
+
children: /* @__PURE__ */ b("div", {
|
|
140
144
|
className: "flex items-center justify-between",
|
|
141
|
-
children: [/* @__PURE__ */
|
|
145
|
+
children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
142
146
|
className: "font-medium",
|
|
143
147
|
children: t.name
|
|
144
|
-
}), /* @__PURE__ */
|
|
148
|
+
}), /* @__PURE__ */ b("p", {
|
|
145
149
|
className: "text-sm text-text-secondary",
|
|
146
150
|
children: [
|
|
147
151
|
t.address.city,
|
|
148
152
|
", ",
|
|
149
153
|
t.address.state
|
|
150
154
|
]
|
|
151
|
-
})] }), /* @__PURE__ */
|
|
155
|
+
})] }), /* @__PURE__ */ b("div", {
|
|
152
156
|
className: "text-right",
|
|
153
|
-
children: [/* @__PURE__ */
|
|
157
|
+
children: [/* @__PURE__ */ y(a, {
|
|
154
158
|
variant: t.isActive ? "default" : "secondary",
|
|
155
159
|
children: t.isActive ? E("movethewheels.inventory.warehouses.active", "Active") : E("movethewheels.inventory.warehouses.inactive", "Inactive")
|
|
156
|
-
}), /* @__PURE__ */
|
|
160
|
+
}), /* @__PURE__ */ b("div", {
|
|
157
161
|
className: "mt-2",
|
|
158
|
-
children: [/* @__PURE__ */
|
|
162
|
+
children: [/* @__PURE__ */ y("p", {
|
|
159
163
|
className: "text-xs text-text-secondary",
|
|
160
164
|
children: E("movethewheels.inventory.warehouses.utilization", "Utilization")
|
|
161
|
-
}), /* @__PURE__ */
|
|
165
|
+
}), /* @__PURE__ */ y(e, {
|
|
162
166
|
value: t.capacity.usedSpace / t.capacity.totalSpace * 100,
|
|
163
167
|
className: "w-24 h-2"
|
|
164
168
|
})]
|
|
@@ -168,39 +172,39 @@ function T() {
|
|
|
168
172
|
}, t.id))
|
|
169
173
|
})
|
|
170
174
|
}) })
|
|
171
|
-
}), /* @__PURE__ */
|
|
175
|
+
}), /* @__PURE__ */ y(t, {
|
|
172
176
|
title: E("movethewheels.inventory.products.title", "Recent Products"),
|
|
173
|
-
actions: /* @__PURE__ */
|
|
177
|
+
actions: /* @__PURE__ */ b(o, {
|
|
174
178
|
variant: "ghost",
|
|
175
179
|
size: "sm",
|
|
176
180
|
onClick: () => N("inventory/products"),
|
|
177
181
|
children: [
|
|
178
182
|
E("movethewheels.inventory.common.viewAll", "View all"),
|
|
179
183
|
" ",
|
|
180
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ y(s, { size: 16 })
|
|
181
185
|
]
|
|
182
186
|
}),
|
|
183
|
-
children: /* @__PURE__ */
|
|
187
|
+
children: /* @__PURE__ */ y(n, { children: /* @__PURE__ */ y(r, {
|
|
184
188
|
className: "p-0",
|
|
185
|
-
children: /* @__PURE__ */
|
|
189
|
+
children: /* @__PURE__ */ y("div", {
|
|
186
190
|
className: "divide-y",
|
|
187
|
-
children: A.slice(0, 5).map((e) => /* @__PURE__ */
|
|
191
|
+
children: A.slice(0, 5).map((e) => /* @__PURE__ */ y("div", {
|
|
188
192
|
className: "p-4 hover:bg-bg-sunken/50 cursor-pointer",
|
|
189
193
|
onClick: () => N(`inventory/products/${e.id}`),
|
|
190
|
-
children: /* @__PURE__ */
|
|
194
|
+
children: /* @__PURE__ */ b("div", {
|
|
191
195
|
className: "flex items-center justify-between",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
196
|
+
children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
193
197
|
className: "font-medium",
|
|
194
198
|
children: e.name
|
|
195
|
-
}), /* @__PURE__ */
|
|
199
|
+
}), /* @__PURE__ */ y("p", {
|
|
196
200
|
className: "text-sm text-text-secondary",
|
|
197
201
|
children: e.sku
|
|
198
|
-
})] }), /* @__PURE__ */
|
|
202
|
+
})] }), /* @__PURE__ */ b("div", {
|
|
199
203
|
className: "text-right",
|
|
200
|
-
children: [/* @__PURE__ */
|
|
204
|
+
children: [/* @__PURE__ */ y("p", {
|
|
201
205
|
className: "font-medium",
|
|
202
|
-
children:
|
|
203
|
-
}), /* @__PURE__ */
|
|
206
|
+
children: _(e.value)
|
|
207
|
+
}), /* @__PURE__ */ y(a, {
|
|
204
208
|
variant: "outline",
|
|
205
209
|
children: e.category
|
|
206
210
|
})]
|