@burdenoff/microfe-movethewheels 2026.1031.2 → 2026.1031.4
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/MoveTheWheelsRoot.js +121 -104
- package/dist/MoveTheWheelsRoutes.js +142 -133
- package/dist/components/DocumentsCard.js +11 -11
- package/dist/components/ProofOfDeliveryCard.js +13 -13
- package/dist/components/ShipmentRiskDialog.js +24 -24
- package/dist/components/ShippingQuoteResults.js +46 -46
- package/dist/components/TrackingAlertList.js +17 -17
- package/dist/generated/tracking-quality-operations.d.ts +140 -0
- package/dist/hooks/useEntityImport.js +68 -0
- package/dist/hooks/useOrderDispatch.js +17 -17
- package/dist/movethewheels/hooks/useEntityImport.d.ts +19 -0
- package/dist/movethewheels/pages/ImportExportPage.d.ts +9 -0
- package/dist/movethewheels/pages/SettingsPage.d.ts +1 -0
- package/dist/movethewheels/providers/ModuleSettingsProvider.d.ts +17 -0
- package/dist/movethewheels/utils/entityImport.d.ts +109 -0
- package/dist/movethewheels/utils/formatters.d.ts +23 -3
- package/dist/movethewheels/utils/moduleSettings.d.ts +52 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down-up.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/bell.js +11 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js +30 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/file-up.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/key-round.js +14 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/plug.js +22 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.js +11 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.js +13 -0
- package/dist/pages/AnalyticsPage.js +27 -27
- package/dist/pages/CreateOrderPage.js +340 -317
- package/dist/pages/CustomerDetailsPage.js +246 -246
- package/dist/pages/CustomersPage.js +88 -79
- package/dist/pages/DashboardPage.js +24 -24
- package/dist/pages/DeliveryCapturePage.js +74 -74
- package/dist/pages/DriverDetailsPage.js +337 -337
- package/dist/pages/DriversPage.js +119 -110
- package/dist/pages/FinancePage.js +26 -26
- package/dist/pages/ImportExportPage.js +435 -0
- package/dist/pages/InventoryPage.js +28 -28
- package/dist/pages/LiveTrackingPage.js +108 -108
- package/dist/pages/MarketplacePage.js +44 -44
- package/dist/pages/OrderDetailsPage.js +306 -306
- package/dist/pages/OrdersListPage.js +27 -27
- package/dist/pages/ProductDetailsPage.js +89 -89
- package/dist/pages/ProductsPage.js +86 -77
- package/dist/pages/RouteDetailsPage.js +282 -285
- package/dist/pages/RoutesPage.js +78 -78
- package/dist/pages/SettingsPage.js +459 -0
- package/dist/pages/TrackingPage.js +41 -41
- package/dist/pages/VehicleDetailsPage.js +207 -207
- package/dist/pages/VehiclesPage.js +100 -90
- package/dist/pages/WarehouseDetailsPage.js +132 -132
- package/dist/pages/WarehousesPage.js +97 -88
- package/dist/providers/ModuleSettingsProvider.js +74 -0
- package/dist/utils/entityImport.js +73 -0
- package/dist/utils/formatters.js +53 -26
- package/dist/utils/moduleSettings.js +132 -0
- package/package.json +4 -2
- package/src/generated/tracking-quality-operations.ts +184 -0
- package/src/movethewheels/MoveTheWheelsRoot.tsx +22 -3
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +13 -0
- package/src/movethewheels/hooks/useEntityImport.ts +108 -0
- package/src/movethewheels/pages/CreateOrderPage.tsx +38 -6
- package/src/movethewheels/pages/CustomersPage.tsx +6 -1
- package/src/movethewheels/pages/DriversPage.tsx +6 -0
- package/src/movethewheels/pages/ImportExportPage.tsx +483 -0
- package/src/movethewheels/pages/ProductsPage.tsx +16 -3
- package/src/movethewheels/pages/RouteDetailsPage.tsx +3 -6
- package/src/movethewheels/pages/RoutesPage.tsx +2 -2
- package/src/movethewheels/pages/SettingsPage.tsx +516 -0
- package/src/movethewheels/pages/VehicleDetailsPage.tsx +4 -2
- package/src/movethewheels/pages/VehiclesPage.tsx +8 -1
- package/src/movethewheels/pages/WarehousesPage.tsx +6 -1
- package/src/movethewheels/providers/ModuleSettingsProvider.tsx +133 -0
- package/src/movethewheels/utils/entityImport.ts +239 -0
- package/src/movethewheels/utils/formatters.ts +69 -10
- package/src/movethewheels/utils/moduleSettings.ts +224 -0
|
@@ -4,91 +4,100 @@ import { Plus as n } from "../node_modules/lucide-react/dist/esm/icons/plus.js";
|
|
|
4
4
|
import { RefreshCw as r } from "../node_modules/lucide-react/dist/esm/icons/refresh-cw.js";
|
|
5
5
|
import { Thermometer as i } from "../node_modules/lucide-react/dist/esm/icons/thermometer.js";
|
|
6
6
|
import { TriangleAlert as a } from "../node_modules/lucide-react/dist/esm/icons/triangle-alert.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
7
|
+
import { Upload as o } from "../node_modules/lucide-react/dist/esm/icons/upload.js";
|
|
8
|
+
import { joinPath as s } from "../utils/navigation.js";
|
|
9
|
+
import { useMoveTheWheels as c } from "../providers/MoveTheWheelsProvider.js";
|
|
10
|
+
import { formatCurrency as l, formatWeight as u } from "../utils/formatters.js";
|
|
11
|
+
import { useProductStats as d, useProducts as f } from "../hooks/useInventory.js";
|
|
12
|
+
import { Badge as p } from "../components/ui.js";
|
|
13
|
+
import { PageLayout as m } from "../components/PageLayout.js";
|
|
14
|
+
import { MetricCard as h, MetricGrid as g } from "../components/MetricCard.js";
|
|
15
|
+
import { DataTable as _ } from "../components/DataTable.js";
|
|
16
|
+
import { useDebouncedValue as v } from "../hooks/useDebouncedValue.js";
|
|
17
|
+
import { useEntityExport as y } from "../hooks/useEntityExport.js";
|
|
18
|
+
import { ExportStatusBanner as b } from "../components/ExportStatusBanner.js";
|
|
19
|
+
import { useState as x } from "react";
|
|
20
|
+
import { jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
21
|
+
import { CTAOverflowMenu as w, PagePurpose as T } from "@burdenoff/fe-libs/ui";
|
|
21
22
|
//#region src/movethewheels/pages/ProductsPage.tsx
|
|
22
|
-
function
|
|
23
|
-
let { basePath:
|
|
24
|
-
limit:
|
|
25
|
-
offset:
|
|
26
|
-
search:
|
|
27
|
-
}), { stats:
|
|
28
|
-
return /* @__PURE__ */
|
|
23
|
+
function E() {
|
|
24
|
+
let { basePath: E, navigate: D } = c(), { state: O, isExporting: k, startExport: A, dismiss: j } = y("products", "product"), [M, N] = x(0), [P, F] = x(25), [I, L] = x(""), R = v(I), { products: z, totalProducts: B, hasMore: V, isLoading: H, error: U, refetch: W } = f({
|
|
25
|
+
limit: P,
|
|
26
|
+
offset: M * P,
|
|
27
|
+
search: R
|
|
28
|
+
}), { stats: G } = d(), K = (e) => D?.(s(E, e));
|
|
29
|
+
return /* @__PURE__ */ C(m, {
|
|
29
30
|
title: "Products",
|
|
30
|
-
subtitle: `${
|
|
31
|
-
icon: /* @__PURE__ */
|
|
32
|
-
headerActions: /* @__PURE__ */
|
|
31
|
+
subtitle: `${G.total} products`,
|
|
32
|
+
icon: /* @__PURE__ */ S(t, { size: 24 }),
|
|
33
|
+
headerActions: /* @__PURE__ */ S(w, {
|
|
33
34
|
primary: {
|
|
34
35
|
label: "Add Product",
|
|
35
|
-
icon: /* @__PURE__ */
|
|
36
|
-
onSelect: () =>
|
|
36
|
+
icon: /* @__PURE__ */ S(n, { size: 16 }),
|
|
37
|
+
onSelect: () => K("inventory/products/new")
|
|
37
38
|
},
|
|
38
|
-
actions: [
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
39
|
+
actions: [
|
|
40
|
+
{
|
|
41
|
+
label: "Refresh",
|
|
42
|
+
icon: /* @__PURE__ */ S(r, { size: 16 }),
|
|
43
|
+
onSelect: () => W()
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
label: "Import",
|
|
47
|
+
icon: /* @__PURE__ */ S(o, { size: 16 }),
|
|
48
|
+
onSelect: () => K("import-export?entity=CARGO_ITEM")
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
label: k ? "Exporting…" : "Export",
|
|
52
|
+
icon: /* @__PURE__ */ S(e, { size: 16 }),
|
|
53
|
+
onSelect: A
|
|
54
|
+
}
|
|
55
|
+
]
|
|
47
56
|
}),
|
|
48
57
|
children: [
|
|
49
|
-
/* @__PURE__ */
|
|
50
|
-
icon: /* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ S(T, {
|
|
59
|
+
icon: /* @__PURE__ */ S(t, { size: 18 }),
|
|
51
60
|
children: "The catalog of items you ship. Each product's dimensions, weight, value and handling flags (fragile, hazardous, temperature-controlled) drive how it's packed, priced and routed — keep them accurate so shipments are quoted and handled correctly."
|
|
52
61
|
}),
|
|
53
|
-
/* @__PURE__ */ b
|
|
54
|
-
state:
|
|
55
|
-
onDismiss:
|
|
62
|
+
/* @__PURE__ */ S(b, {
|
|
63
|
+
state: O,
|
|
64
|
+
onDismiss: j
|
|
56
65
|
}),
|
|
57
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
|
|
58
67
|
className: "mb-3 text-sm font-medium text-text-secondary",
|
|
59
68
|
children: "Catalog at a glance"
|
|
60
|
-
}), /* @__PURE__ */
|
|
69
|
+
}), /* @__PURE__ */ C(g, {
|
|
61
70
|
columns: 3,
|
|
62
71
|
children: [
|
|
63
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ S(h, {
|
|
64
73
|
label: "Total products",
|
|
65
|
-
value:
|
|
66
|
-
icon: /* @__PURE__ */
|
|
74
|
+
value: G.total,
|
|
75
|
+
icon: /* @__PURE__ */ S(t, { size: 20 }),
|
|
67
76
|
accent: "brand"
|
|
68
77
|
}),
|
|
69
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ S(h, {
|
|
70
79
|
label: "Special handling",
|
|
71
|
-
value:
|
|
72
|
-
icon: /* @__PURE__ */
|
|
80
|
+
value: G.specialHandling,
|
|
81
|
+
icon: /* @__PURE__ */ S(a, { size: 20 }),
|
|
73
82
|
accent: "warning",
|
|
74
83
|
subtitle: "Fragile or hazardous"
|
|
75
84
|
}),
|
|
76
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ S(h, {
|
|
77
86
|
label: "Temp-controlled",
|
|
78
|
-
value:
|
|
79
|
-
icon: /* @__PURE__ */
|
|
87
|
+
value: G.temperatureControlled,
|
|
88
|
+
icon: /* @__PURE__ */ S(i, { size: 20 }),
|
|
80
89
|
accent: "blue"
|
|
81
90
|
})
|
|
82
91
|
]
|
|
83
92
|
})] }),
|
|
84
|
-
/* @__PURE__ */
|
|
93
|
+
/* @__PURE__ */ S(_, {
|
|
85
94
|
columns: [
|
|
86
95
|
{
|
|
87
96
|
id: "sku",
|
|
88
97
|
header: "SKU",
|
|
89
98
|
accessorKey: "sku",
|
|
90
99
|
sortable: !0,
|
|
91
|
-
cell: (e) => /* @__PURE__ */
|
|
100
|
+
cell: (e) => /* @__PURE__ */ S("span", {
|
|
92
101
|
className: "font-mono",
|
|
93
102
|
children: e.sku
|
|
94
103
|
})
|
|
@@ -98,10 +107,10 @@ function w() {
|
|
|
98
107
|
header: "Product Name",
|
|
99
108
|
accessorKey: "name",
|
|
100
109
|
sortable: !0,
|
|
101
|
-
cell: (e) => /* @__PURE__ */
|
|
110
|
+
cell: (e) => /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("p", {
|
|
102
111
|
className: "font-medium",
|
|
103
112
|
children: e.name
|
|
104
|
-
}), /* @__PURE__ */
|
|
113
|
+
}), /* @__PURE__ */ S("p", {
|
|
105
114
|
className: "text-sm text-text-secondary line-clamp-1",
|
|
106
115
|
children: e.description ?? "Not provided"
|
|
107
116
|
})] })
|
|
@@ -111,7 +120,7 @@ function w() {
|
|
|
111
120
|
header: "Category",
|
|
112
121
|
accessorKey: "category",
|
|
113
122
|
sortable: !0,
|
|
114
|
-
cell: (e) => /* @__PURE__ */
|
|
123
|
+
cell: (e) => /* @__PURE__ */ S(p, {
|
|
115
124
|
variant: "outline",
|
|
116
125
|
children: e.category ?? "Not provided"
|
|
117
126
|
})
|
|
@@ -126,35 +135,35 @@ function w() {
|
|
|
126
135
|
header: "Weight",
|
|
127
136
|
accessorKey: "weight",
|
|
128
137
|
sortable: !0,
|
|
129
|
-
cell: (e) => e.weight === void 0 ? "Not provided" :
|
|
138
|
+
cell: (e) => e.weight === void 0 ? "Not provided" : u(e.weight)
|
|
130
139
|
},
|
|
131
140
|
{
|
|
132
141
|
id: "value",
|
|
133
142
|
header: "Value",
|
|
134
143
|
accessorKey: "value",
|
|
135
144
|
sortable: !0,
|
|
136
|
-
cell: (e) => /* @__PURE__ */
|
|
145
|
+
cell: (e) => /* @__PURE__ */ S("span", {
|
|
137
146
|
className: "font-medium",
|
|
138
|
-
children: e.value === void 0 ? "Not provided" :
|
|
147
|
+
children: e.value === void 0 ? "Not provided" : l(e.value)
|
|
139
148
|
})
|
|
140
149
|
},
|
|
141
150
|
{
|
|
142
151
|
id: "flags",
|
|
143
152
|
header: "Flags",
|
|
144
|
-
cell: (e) => /* @__PURE__ */
|
|
153
|
+
cell: (e) => /* @__PURE__ */ C("div", {
|
|
145
154
|
className: "flex gap-1",
|
|
146
155
|
children: [
|
|
147
|
-
e.fragile && /* @__PURE__ */
|
|
156
|
+
e.fragile && /* @__PURE__ */ S(p, {
|
|
148
157
|
variant: "destructive",
|
|
149
158
|
className: "text-xs",
|
|
150
159
|
children: "Fragile"
|
|
151
160
|
}),
|
|
152
|
-
e.hazardous && /* @__PURE__ */
|
|
161
|
+
e.hazardous && /* @__PURE__ */ S(p, {
|
|
153
162
|
variant: "destructive",
|
|
154
163
|
className: "text-xs",
|
|
155
164
|
children: "Hazardous"
|
|
156
165
|
}),
|
|
157
|
-
e.temperatureControlled && /* @__PURE__ */
|
|
166
|
+
e.temperatureControlled && /* @__PURE__ */ S(p, {
|
|
158
167
|
variant: "secondary",
|
|
159
168
|
className: "text-xs",
|
|
160
169
|
children: "Temp Control"
|
|
@@ -163,10 +172,10 @@ function w() {
|
|
|
163
172
|
})
|
|
164
173
|
}
|
|
165
174
|
],
|
|
166
|
-
data:
|
|
167
|
-
isLoading:
|
|
168
|
-
error:
|
|
169
|
-
onRetry:
|
|
175
|
+
data: z,
|
|
176
|
+
isLoading: H,
|
|
177
|
+
error: U,
|
|
178
|
+
onRetry: W,
|
|
170
179
|
searchable: !0,
|
|
171
180
|
searchPlaceholder: "Search products...",
|
|
172
181
|
searchFields: [
|
|
@@ -174,20 +183,20 @@ function w() {
|
|
|
174
183
|
"sku",
|
|
175
184
|
"category"
|
|
176
185
|
],
|
|
177
|
-
searchQuery:
|
|
186
|
+
searchQuery: I,
|
|
178
187
|
onSearchQueryChange: (e) => {
|
|
179
|
-
|
|
188
|
+
L(e), N(0);
|
|
180
189
|
},
|
|
181
|
-
onRowClick: (e) =>
|
|
190
|
+
onRowClick: (e) => K(`inventory/products/${e.id}`),
|
|
182
191
|
getRowId: (e) => e.id,
|
|
183
|
-
pageIndex:
|
|
184
|
-
pageSize:
|
|
185
|
-
onPageChange:
|
|
192
|
+
pageIndex: M,
|
|
193
|
+
pageSize: P,
|
|
194
|
+
onPageChange: N,
|
|
186
195
|
onPageSizeChange: (e) => {
|
|
187
|
-
|
|
196
|
+
F(e), N(0);
|
|
188
197
|
},
|
|
189
|
-
totalItems:
|
|
190
|
-
hasNextPage:
|
|
198
|
+
totalItems: B,
|
|
199
|
+
hasNextPage: V,
|
|
191
200
|
emptyIllustration: "empty-files",
|
|
192
201
|
emptyTitle: "No products yet",
|
|
193
202
|
emptyDescription: "Add products to your catalog so they can be added to orders and stocked in warehouses."
|
|
@@ -196,4 +205,4 @@ function w() {
|
|
|
196
205
|
});
|
|
197
206
|
}
|
|
198
207
|
//#endregion
|
|
199
|
-
export {
|
|
208
|
+
export { E as default };
|