@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,298 @@
|
|
|
1
|
+
import { A as e, F as t, I as n, J as r, L as i, P as a, R as o, V as s, X as c, Y as l, Z as u, d, f, g as p, h as m, i as h, it as g, j as _, p as v, u as y } from "./PageLayout-D3N8MCTm.js";
|
|
2
|
+
import { n as b, t as x } from "./settings-3Rw5NwFF.js";
|
|
3
|
+
import { t as S } from "./save-XH8vydOn.js";
|
|
4
|
+
import { t as C } from "./user-Dz5TJZFs.js";
|
|
5
|
+
import { useState as w } from "react";
|
|
6
|
+
import { jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
7
|
+
import { EmphasisPanel as D, NextSteps as O, PagePurpose as k } from "@burdenoff/fe-libs/ui";
|
|
8
|
+
//#region node_modules/lucide-react/dist/esm/icons/bell.js
|
|
9
|
+
var A = g("Bell", [["path", {
|
|
10
|
+
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
11
|
+
key: "vwvbt9"
|
|
12
|
+
}], ["path", {
|
|
13
|
+
d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",
|
|
14
|
+
key: "11g9vi"
|
|
15
|
+
}]]), j = g("Shield", [["path", {
|
|
16
|
+
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
17
|
+
key: "oel41y"
|
|
18
|
+
}]]), M = g("Webhook", [
|
|
19
|
+
["path", {
|
|
20
|
+
d: "M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",
|
|
21
|
+
key: "q3hayz"
|
|
22
|
+
}],
|
|
23
|
+
["path", {
|
|
24
|
+
d: "m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",
|
|
25
|
+
key: "1go1hn"
|
|
26
|
+
}],
|
|
27
|
+
["path", {
|
|
28
|
+
d: "m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",
|
|
29
|
+
key: "qlwsc0"
|
|
30
|
+
}]
|
|
31
|
+
]);
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/movethewheels/pages/SettingsPage.tsx
|
|
34
|
+
function N() {
|
|
35
|
+
let [g, N] = w("general");
|
|
36
|
+
return /* @__PURE__ */ E(h, {
|
|
37
|
+
title: "Settings",
|
|
38
|
+
subtitle: "Manage your account and preferences",
|
|
39
|
+
icon: /* @__PURE__ */ T(x, { size: 24 }),
|
|
40
|
+
children: [
|
|
41
|
+
/* @__PURE__ */ T(k, {
|
|
42
|
+
icon: /* @__PURE__ */ T(x, { size: 18 }),
|
|
43
|
+
children: "Configure how MoveTheWheels works for your business — company details and localization, which notifications you receive, account security, and the integrations (maps, payments, messaging) that power deliveries. Set these once so the rest of the app behaves the way you expect."
|
|
44
|
+
}),
|
|
45
|
+
/* @__PURE__ */ T(O, {
|
|
46
|
+
storageKey: "movethewheels-settings",
|
|
47
|
+
steps: [
|
|
48
|
+
{
|
|
49
|
+
id: "company",
|
|
50
|
+
label: "Confirm company details & localization",
|
|
51
|
+
description: "Set your name, contact info, timezone, currency and language.",
|
|
52
|
+
icon: /* @__PURE__ */ T(C, { size: 16 }),
|
|
53
|
+
onClick: () => N("general")
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: "notifications",
|
|
57
|
+
label: "Choose your notifications",
|
|
58
|
+
description: "Decide which order, delivery and report emails you receive.",
|
|
59
|
+
icon: /* @__PURE__ */ T(A, { size: 16 }),
|
|
60
|
+
onClick: () => N("notifications")
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "security",
|
|
64
|
+
label: "Secure your account",
|
|
65
|
+
description: "Update your password and enable two-factor authentication.",
|
|
66
|
+
icon: /* @__PURE__ */ T(j, { size: 16 }),
|
|
67
|
+
onClick: () => N("security")
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: "integrations",
|
|
71
|
+
label: "Connect your tools",
|
|
72
|
+
description: "Link maps, payments and messaging providers.",
|
|
73
|
+
icon: /* @__PURE__ */ T(M, { size: 16 }),
|
|
74
|
+
onClick: () => N("integrations")
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}),
|
|
78
|
+
/* @__PURE__ */ E(r, {
|
|
79
|
+
value: g,
|
|
80
|
+
onValueChange: N,
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ E(c, {
|
|
83
|
+
className: "mb-6",
|
|
84
|
+
children: [
|
|
85
|
+
/* @__PURE__ */ E(u, {
|
|
86
|
+
value: "general",
|
|
87
|
+
children: [/* @__PURE__ */ T(C, { size: 16 }), " General"]
|
|
88
|
+
}),
|
|
89
|
+
/* @__PURE__ */ E(u, {
|
|
90
|
+
value: "notifications",
|
|
91
|
+
children: [/* @__PURE__ */ T(A, { size: 16 }), " Notifications"]
|
|
92
|
+
}),
|
|
93
|
+
/* @__PURE__ */ E(u, {
|
|
94
|
+
value: "security",
|
|
95
|
+
children: [/* @__PURE__ */ T(j, { size: 16 }), " Security"]
|
|
96
|
+
}),
|
|
97
|
+
/* @__PURE__ */ E(u, {
|
|
98
|
+
value: "integrations",
|
|
99
|
+
children: [/* @__PURE__ */ T(M, { size: 16 }), " Integrations"]
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
}),
|
|
103
|
+
/* @__PURE__ */ E(l, {
|
|
104
|
+
value: "general",
|
|
105
|
+
className: "space-y-6",
|
|
106
|
+
children: [/* @__PURE__ */ E(D, { children: [
|
|
107
|
+
/* @__PURE__ */ T("h2", {
|
|
108
|
+
className: "text-base font-semibold text-text-primary",
|
|
109
|
+
children: "Company Information"
|
|
110
|
+
}),
|
|
111
|
+
/* @__PURE__ */ T("p", {
|
|
112
|
+
className: "text-sm text-text-secondary mb-4",
|
|
113
|
+
children: "Basic company details"
|
|
114
|
+
}),
|
|
115
|
+
/* @__PURE__ */ E("div", {
|
|
116
|
+
className: "grid grid-cols-2 gap-4",
|
|
117
|
+
children: [
|
|
118
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Company Name" }), /* @__PURE__ */ T(e, { defaultValue: "QuickLogistics Pro" })] }),
|
|
119
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Contact Email" }), /* @__PURE__ */ T(e, { defaultValue: "contact@quicklogistics.com" })] }),
|
|
120
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Phone" }), /* @__PURE__ */ T(e, { defaultValue: "+1-555-QUICK" })] }),
|
|
121
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Website" }), /* @__PURE__ */ T(e, { defaultValue: "https://quicklogistics.com" })] })
|
|
122
|
+
]
|
|
123
|
+
})
|
|
124
|
+
] }), /* @__PURE__ */ E(d, { children: [/* @__PURE__ */ T(m, { children: /* @__PURE__ */ E(p, {
|
|
125
|
+
className: "flex items-center gap-2",
|
|
126
|
+
children: [/* @__PURE__ */ T(b, { size: 18 }), " Localization"]
|
|
127
|
+
}) }), /* @__PURE__ */ T(f, {
|
|
128
|
+
className: "space-y-4",
|
|
129
|
+
children: /* @__PURE__ */ E("div", {
|
|
130
|
+
className: "grid grid-cols-3 gap-4",
|
|
131
|
+
children: [
|
|
132
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Timezone" }), /* @__PURE__ */ E(a, {
|
|
133
|
+
defaultValue: "pst",
|
|
134
|
+
children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(o, {}) }), /* @__PURE__ */ E(t, { children: [
|
|
135
|
+
/* @__PURE__ */ T(n, {
|
|
136
|
+
value: "pst",
|
|
137
|
+
children: "Pacific Time (PST)"
|
|
138
|
+
}),
|
|
139
|
+
/* @__PURE__ */ T(n, {
|
|
140
|
+
value: "est",
|
|
141
|
+
children: "Eastern Time (EST)"
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ T(n, {
|
|
144
|
+
value: "utc",
|
|
145
|
+
children: "UTC"
|
|
146
|
+
})
|
|
147
|
+
] })]
|
|
148
|
+
})] }),
|
|
149
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Currency" }), /* @__PURE__ */ E(a, {
|
|
150
|
+
defaultValue: "usd",
|
|
151
|
+
children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(o, {}) }), /* @__PURE__ */ E(t, { children: [
|
|
152
|
+
/* @__PURE__ */ T(n, {
|
|
153
|
+
value: "usd",
|
|
154
|
+
children: "USD ($)"
|
|
155
|
+
}),
|
|
156
|
+
/* @__PURE__ */ T(n, {
|
|
157
|
+
value: "eur",
|
|
158
|
+
children: "EUR (€)"
|
|
159
|
+
}),
|
|
160
|
+
/* @__PURE__ */ T(n, {
|
|
161
|
+
value: "gbp",
|
|
162
|
+
children: "GBP (£)"
|
|
163
|
+
})
|
|
164
|
+
] })]
|
|
165
|
+
})] }),
|
|
166
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Language" }), /* @__PURE__ */ E(a, {
|
|
167
|
+
defaultValue: "en",
|
|
168
|
+
children: [/* @__PURE__ */ T(i, { children: /* @__PURE__ */ T(o, {}) }), /* @__PURE__ */ E(t, { children: [
|
|
169
|
+
/* @__PURE__ */ T(n, {
|
|
170
|
+
value: "en",
|
|
171
|
+
children: "English"
|
|
172
|
+
}),
|
|
173
|
+
/* @__PURE__ */ T(n, {
|
|
174
|
+
value: "es",
|
|
175
|
+
children: "Spanish"
|
|
176
|
+
}),
|
|
177
|
+
/* @__PURE__ */ T(n, {
|
|
178
|
+
value: "fr",
|
|
179
|
+
children: "French"
|
|
180
|
+
})
|
|
181
|
+
] })]
|
|
182
|
+
})] })
|
|
183
|
+
]
|
|
184
|
+
})
|
|
185
|
+
})] })]
|
|
186
|
+
}),
|
|
187
|
+
/* @__PURE__ */ T(l, {
|
|
188
|
+
value: "notifications",
|
|
189
|
+
className: "space-y-6",
|
|
190
|
+
children: /* @__PURE__ */ E(d, { children: [/* @__PURE__ */ T(m, { children: /* @__PURE__ */ T(p, { children: "Email Notifications" }) }), /* @__PURE__ */ T(f, {
|
|
191
|
+
className: "space-y-4",
|
|
192
|
+
children: [
|
|
193
|
+
{
|
|
194
|
+
label: "Order updates",
|
|
195
|
+
desc: "Receive notifications for order status changes"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
label: "Delivery alerts",
|
|
199
|
+
desc: "Get notified about delivery issues"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
label: "System notifications",
|
|
203
|
+
desc: "Important system updates and maintenance"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
label: "Weekly reports",
|
|
207
|
+
desc: "Receive weekly performance summary"
|
|
208
|
+
}
|
|
209
|
+
].map((e) => /* @__PURE__ */ E("div", {
|
|
210
|
+
className: "flex items-center justify-between",
|
|
211
|
+
children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T("p", {
|
|
212
|
+
className: "font-medium",
|
|
213
|
+
children: e.label
|
|
214
|
+
}), /* @__PURE__ */ T("p", {
|
|
215
|
+
className: "text-sm text-text-secondary",
|
|
216
|
+
children: e.desc
|
|
217
|
+
})] }), /* @__PURE__ */ T(s, { defaultChecked: !0 })]
|
|
218
|
+
}, e.label))
|
|
219
|
+
})] })
|
|
220
|
+
}),
|
|
221
|
+
/* @__PURE__ */ E(l, {
|
|
222
|
+
value: "security",
|
|
223
|
+
className: "space-y-6",
|
|
224
|
+
children: [/* @__PURE__ */ E(d, { children: [/* @__PURE__ */ T(m, { children: /* @__PURE__ */ T(p, { children: "Password" }) }), /* @__PURE__ */ E(f, {
|
|
225
|
+
className: "space-y-4",
|
|
226
|
+
children: [
|
|
227
|
+
/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Current Password" }), /* @__PURE__ */ T(e, { type: "password" })] }),
|
|
228
|
+
/* @__PURE__ */ E("div", {
|
|
229
|
+
className: "grid grid-cols-2 gap-4",
|
|
230
|
+
children: [/* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "New Password" }), /* @__PURE__ */ T(e, { type: "password" })] }), /* @__PURE__ */ E("div", { children: [/* @__PURE__ */ T(_, { children: "Confirm Password" }), /* @__PURE__ */ T(e, { type: "password" })] })]
|
|
231
|
+
}),
|
|
232
|
+
/* @__PURE__ */ T(y, { children: "Update Password" })
|
|
233
|
+
]
|
|
234
|
+
})] }), /* @__PURE__ */ E(d, { children: [/* @__PURE__ */ E(m, { children: [/* @__PURE__ */ T(p, { children: "Two-Factor Authentication" }), /* @__PURE__ */ T(v, { children: "Add an extra layer of security" })] }), /* @__PURE__ */ T(f, { children: /* @__PURE__ */ E("div", {
|
|
235
|
+
className: "flex items-center justify-between",
|
|
236
|
+
children: [/* @__PURE__ */ T("div", { children: /* @__PURE__ */ E("p", { children: ["Status: ", /* @__PURE__ */ T("span", {
|
|
237
|
+
className: "text-red-500 font-medium",
|
|
238
|
+
children: "Disabled"
|
|
239
|
+
})] }) }), /* @__PURE__ */ T(y, {
|
|
240
|
+
variant: "outline",
|
|
241
|
+
children: "Enable 2FA"
|
|
242
|
+
})]
|
|
243
|
+
}) })] })]
|
|
244
|
+
}),
|
|
245
|
+
/* @__PURE__ */ E(l, {
|
|
246
|
+
value: "integrations",
|
|
247
|
+
className: "space-y-6",
|
|
248
|
+
children: [/* @__PURE__ */ E(d, { children: [/* @__PURE__ */ E(m, { children: [/* @__PURE__ */ T(p, { children: "API Keys" }), /* @__PURE__ */ T(v, { children: "Manage your API access" })] }), /* @__PURE__ */ E(f, {
|
|
249
|
+
className: "space-y-4",
|
|
250
|
+
children: [/* @__PURE__ */ E("div", {
|
|
251
|
+
className: "p-4 bg-bg-sunken rounded-lg",
|
|
252
|
+
children: [/* @__PURE__ */ T("p", {
|
|
253
|
+
className: "font-medium",
|
|
254
|
+
children: "Production API Key"
|
|
255
|
+
}), /* @__PURE__ */ T("code", {
|
|
256
|
+
className: "text-sm",
|
|
257
|
+
children: "pk_live_••••••••••••••••"
|
|
258
|
+
})]
|
|
259
|
+
}), /* @__PURE__ */ T(y, {
|
|
260
|
+
variant: "outline",
|
|
261
|
+
children: "Generate New Key"
|
|
262
|
+
})]
|
|
263
|
+
})] }), /* @__PURE__ */ E(d, { children: [/* @__PURE__ */ T(m, { children: /* @__PURE__ */ T(p, { children: "Connected Services" }) }), /* @__PURE__ */ T(f, {
|
|
264
|
+
className: "space-y-3",
|
|
265
|
+
children: [
|
|
266
|
+
{
|
|
267
|
+
name: "Google Maps",
|
|
268
|
+
status: "Connected"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: "Stripe",
|
|
272
|
+
status: "Connected"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: "Twilio",
|
|
276
|
+
status: "Not Connected"
|
|
277
|
+
}
|
|
278
|
+
].map((e) => /* @__PURE__ */ E("div", {
|
|
279
|
+
className: "flex items-center justify-between p-3 border rounded-lg",
|
|
280
|
+
children: [/* @__PURE__ */ T("span", { children: e.name }), /* @__PURE__ */ T(y, {
|
|
281
|
+
variant: e.status === "Connected" ? "outline" : "default",
|
|
282
|
+
size: "sm",
|
|
283
|
+
children: e.status === "Connected" ? "Manage" : "Connect"
|
|
284
|
+
})]
|
|
285
|
+
}, e.name))
|
|
286
|
+
})] })]
|
|
287
|
+
})
|
|
288
|
+
]
|
|
289
|
+
}),
|
|
290
|
+
/* @__PURE__ */ T("div", {
|
|
291
|
+
className: "flex justify-end",
|
|
292
|
+
children: /* @__PURE__ */ E(y, { children: [/* @__PURE__ */ T(S, { size: 16 }), " Save Changes"] })
|
|
293
|
+
})
|
|
294
|
+
]
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
//#endregion
|
|
298
|
+
export { N as default };
|
|
@@ -14,49 +14,54 @@ import { t as b } from "./navigation-BgnOfsVd.js";
|
|
|
14
14
|
import { useState as x } from "react";
|
|
15
15
|
import { useSearchParams as S } from "react-router-dom";
|
|
16
16
|
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
17
|
-
import {
|
|
17
|
+
import { EmphasisPanel as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
|
|
18
|
+
import { useI18n as D } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
18
19
|
//#region src/movethewheels/pages/TrackingPage.tsx
|
|
19
|
-
function
|
|
20
|
-
let { t:
|
|
21
|
-
let n =
|
|
20
|
+
function O() {
|
|
21
|
+
let { t: O } = D(), k = (e, t) => {
|
|
22
|
+
let n = O(e);
|
|
22
23
|
return n === e ? t : n;
|
|
23
|
-
}, { basePath:
|
|
24
|
-
e.preventDefault(),
|
|
25
|
-
},
|
|
26
|
-
|
|
24
|
+
}, { basePath: A, navigate: j } = h(), [M] = S(), N = M.get("order") || "", [P, F] = x(N), [I, L] = x(N), { tracking: R, order: z, isLoading: B, error: V } = g(I || void 0), H = (e) => {
|
|
25
|
+
e.preventDefault(), L(P);
|
|
26
|
+
}, U = (e) => {
|
|
27
|
+
j && j(b(A, e));
|
|
27
28
|
};
|
|
28
29
|
return /* @__PURE__ */ w(a, {
|
|
29
|
-
title:
|
|
30
|
-
subtitle:
|
|
30
|
+
title: k("movethewheels.tracking.title", "Track Shipment"),
|
|
31
|
+
subtitle: k("movethewheels.tracking.subtitle", "Enter a tracking number or order ID to track your shipment"),
|
|
31
32
|
icon: /* @__PURE__ */ C(d, { size: 24 }),
|
|
32
33
|
headerActions: /* @__PURE__ */ w(s, {
|
|
33
34
|
variant: "outline",
|
|
34
|
-
onClick: () =>
|
|
35
|
-
children: [/* @__PURE__ */ C(d, { size: 16 }),
|
|
35
|
+
onClick: () => U("tracking/live"),
|
|
36
|
+
children: [/* @__PURE__ */ C(d, { size: 16 }), k("movethewheels.tracking.actions.liveMapView", "Live Map View")]
|
|
36
37
|
}),
|
|
37
38
|
children: [
|
|
39
|
+
/* @__PURE__ */ C(E, {
|
|
40
|
+
icon: /* @__PURE__ */ C(d, { size: 18 }),
|
|
41
|
+
children: k("movethewheels.tracking.purpose", "Look up any single shipment by its tracking number or order ID to see exactly where it is, its progress through pickup and delivery, the current location and any alerts — the same view you can share with a customer.")
|
|
42
|
+
}),
|
|
38
43
|
/* @__PURE__ */ C(t, { children: /* @__PURE__ */ C(n, {
|
|
39
44
|
className: "p-6",
|
|
40
45
|
children: /* @__PURE__ */ w("form", {
|
|
41
|
-
onSubmit:
|
|
46
|
+
onSubmit: H,
|
|
42
47
|
className: "flex gap-4",
|
|
43
48
|
children: [/* @__PURE__ */ w("div", {
|
|
44
49
|
className: "flex-1 relative",
|
|
45
50
|
children: [/* @__PURE__ */ C(p, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-text-secondary" }), /* @__PURE__ */ C(e, {
|
|
46
|
-
value:
|
|
47
|
-
onChange: (e) =>
|
|
48
|
-
placeholder:
|
|
51
|
+
value: P,
|
|
52
|
+
onChange: (e) => F(e.target.value),
|
|
53
|
+
placeholder: k("movethewheels.tracking.search.placeholder", "Enter tracking number or order ID (e.g., order-1 or TRK123456789)"),
|
|
49
54
|
className: "pl-10 h-12 text-lg"
|
|
50
55
|
})]
|
|
51
56
|
}), /* @__PURE__ */ C(s, {
|
|
52
57
|
type: "submit",
|
|
53
58
|
size: "lg",
|
|
54
|
-
disabled: !
|
|
55
|
-
children:
|
|
59
|
+
disabled: !P || B,
|
|
60
|
+
children: B ? k("movethewheels.tracking.search.searching", "Searching...") : k("movethewheels.tracking.search.track", "Track")
|
|
56
61
|
})]
|
|
57
62
|
})
|
|
58
63
|
}) }),
|
|
59
|
-
|
|
64
|
+
V && /* @__PURE__ */ C(t, {
|
|
60
65
|
className: "border-status-error-border",
|
|
61
66
|
children: /* @__PURE__ */ C(n, {
|
|
62
67
|
className: "p-6",
|
|
@@ -64,78 +69,78 @@ function E() {
|
|
|
64
69
|
className: "flex items-center gap-4",
|
|
65
70
|
children: [/* @__PURE__ */ C(c, { className: "w-8 h-8 text-status-error-text" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
66
71
|
className: "font-medium text-status-error-text",
|
|
67
|
-
children:
|
|
72
|
+
children: k("movethewheels.tracking.error.title", "Unable to find shipment")
|
|
68
73
|
}), /* @__PURE__ */ C("p", {
|
|
69
74
|
className: "text-sm text-text-secondary",
|
|
70
|
-
children:
|
|
75
|
+
children: k("movethewheels.tracking.error.description", "Please check the tracking number and try again")
|
|
71
76
|
})] })]
|
|
72
77
|
})
|
|
73
78
|
})
|
|
74
79
|
}),
|
|
75
|
-
!
|
|
80
|
+
!I && !V && /* @__PURE__ */ C(o, {
|
|
76
81
|
illustration: "onboarding",
|
|
77
|
-
title:
|
|
78
|
-
description:
|
|
82
|
+
title: k("movethewheels.tracking.empty.title", "Enter a tracking number"),
|
|
83
|
+
description: k("movethewheels.tracking.empty.description", "Use your tracking number or order ID to see the current status of your shipment")
|
|
79
84
|
}),
|
|
80
|
-
|
|
85
|
+
z && R && /* @__PURE__ */ w("div", {
|
|
81
86
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
82
87
|
children: [/* @__PURE__ */ w("div", {
|
|
83
88
|
className: "lg:col-span-2 space-y-6",
|
|
84
89
|
children: [
|
|
85
|
-
/* @__PURE__ */ w(
|
|
86
|
-
className: "flex items-center justify-between",
|
|
87
|
-
children: [/* @__PURE__ */ w(
|
|
88
|
-
className: "flex items-center gap-2",
|
|
90
|
+
/* @__PURE__ */ w(T, { children: [/* @__PURE__ */ w("div", {
|
|
91
|
+
className: "flex items-center justify-between mb-4",
|
|
92
|
+
children: [/* @__PURE__ */ w("h2", {
|
|
93
|
+
className: "flex items-center gap-2 text-base font-semibold text-text-primary",
|
|
89
94
|
children: [
|
|
90
95
|
/* @__PURE__ */ C(f, { size: 20 }),
|
|
91
|
-
|
|
96
|
+
k("movethewheels.tracking.orderLabel", "Order"),
|
|
92
97
|
" ",
|
|
93
|
-
|
|
98
|
+
z.orderNumber
|
|
94
99
|
]
|
|
95
100
|
}), /* @__PURE__ */ C(_, {
|
|
96
|
-
status:
|
|
101
|
+
status: z.status,
|
|
97
102
|
type: "order"
|
|
98
103
|
})]
|
|
99
|
-
})
|
|
104
|
+
}), /* @__PURE__ */ w("div", {
|
|
100
105
|
className: "grid grid-cols-2 md:grid-cols-4 gap-4",
|
|
101
106
|
children: [
|
|
102
107
|
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
103
108
|
className: "text-sm text-text-secondary",
|
|
104
|
-
children:
|
|
109
|
+
children: k("movethewheels.tracking.details.trackingNumber", "Tracking Number")
|
|
105
110
|
}), /* @__PURE__ */ C("p", {
|
|
106
111
|
className: "font-mono font-medium",
|
|
107
|
-
children:
|
|
112
|
+
children: z.trackingNumber
|
|
108
113
|
})] }),
|
|
109
114
|
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
110
115
|
className: "text-sm text-text-secondary",
|
|
111
|
-
children:
|
|
116
|
+
children: k("movethewheels.tracking.details.estimatedDelivery", "Estimated Delivery")
|
|
112
117
|
}), /* @__PURE__ */ C("p", {
|
|
113
118
|
className: "font-medium",
|
|
114
|
-
children:
|
|
119
|
+
children: R.estimatedArrival ? v(R.estimatedArrival, "full") : z.scheduledDelivery ? v(z.scheduledDelivery, "full") : k("movethewheels.tracking.details.tbd", "TBD")
|
|
115
120
|
})] }),
|
|
116
121
|
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
117
122
|
className: "text-sm text-text-secondary",
|
|
118
|
-
children:
|
|
123
|
+
children: k("movethewheels.tracking.details.items", "Items")
|
|
119
124
|
}), /* @__PURE__ */ w("p", {
|
|
120
125
|
className: "font-medium",
|
|
121
126
|
children: [
|
|
122
|
-
|
|
127
|
+
z.items.length,
|
|
123
128
|
" ",
|
|
124
|
-
|
|
129
|
+
k("movethewheels.tracking.details.itemsSuffix", "items")
|
|
125
130
|
]
|
|
126
131
|
})] }),
|
|
127
132
|
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
128
133
|
className: "text-sm text-text-secondary",
|
|
129
|
-
children:
|
|
134
|
+
children: k("movethewheels.tracking.details.lastUpdated", "Last Updated")
|
|
130
135
|
}), /* @__PURE__ */ C("p", {
|
|
131
136
|
className: "font-medium",
|
|
132
|
-
children: v(
|
|
137
|
+
children: v(R.lastUpdated, "relative")
|
|
133
138
|
})] })
|
|
134
139
|
]
|
|
135
|
-
})
|
|
140
|
+
})] }),
|
|
136
141
|
/* @__PURE__ */ w(t, { children: [/* @__PURE__ */ C(i, { children: /* @__PURE__ */ w(r, {
|
|
137
142
|
className: "flex items-center gap-2",
|
|
138
|
-
children: [/* @__PURE__ */ C(u, { size: 18 }),
|
|
143
|
+
children: [/* @__PURE__ */ C(u, { size: 18 }), k("movethewheels.tracking.progress.title", "Shipment Progress")]
|
|
139
144
|
}) }), /* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C("div", {
|
|
140
145
|
className: "relative",
|
|
141
146
|
children: /* @__PURE__ */ C("div", {
|
|
@@ -143,22 +148,22 @@ function E() {
|
|
|
143
148
|
children: [
|
|
144
149
|
{
|
|
145
150
|
status: "confirmed",
|
|
146
|
-
label:
|
|
151
|
+
label: k("movethewheels.tracking.progress.confirmed", "Confirmed"),
|
|
147
152
|
icon: l
|
|
148
153
|
},
|
|
149
154
|
{
|
|
150
155
|
status: "picked_up",
|
|
151
|
-
label:
|
|
156
|
+
label: k("movethewheels.tracking.progress.pickedUp", "Picked Up"),
|
|
152
157
|
icon: f
|
|
153
158
|
},
|
|
154
159
|
{
|
|
155
160
|
status: "in_transit",
|
|
156
|
-
label:
|
|
161
|
+
label: k("movethewheels.tracking.progress.inTransit", "In Transit"),
|
|
157
162
|
icon: m
|
|
158
163
|
},
|
|
159
164
|
{
|
|
160
165
|
status: "delivered",
|
|
161
|
-
label:
|
|
166
|
+
label: k("movethewheels.tracking.progress.delivered", "Delivered"),
|
|
162
167
|
icon: d
|
|
163
168
|
}
|
|
164
169
|
].map((e, t) => {
|
|
@@ -170,7 +175,7 @@ function E() {
|
|
|
170
175
|
"in_transit",
|
|
171
176
|
"out_for_delivery",
|
|
172
177
|
"delivered"
|
|
173
|
-
], r = n.indexOf(
|
|
178
|
+
], r = n.indexOf(z.status), i = n.indexOf(e.status) <= r, a = e.status === z.status || z.status === "out_for_delivery" && e.status === "in_transit";
|
|
174
179
|
return /* @__PURE__ */ w("div", {
|
|
175
180
|
className: "flex flex-col items-center flex-1",
|
|
176
181
|
children: [
|
|
@@ -195,11 +200,11 @@ function E() {
|
|
|
195
200
|
})
|
|
196
201
|
}), /* @__PURE__ */ C("div", {
|
|
197
202
|
className: "mt-8 space-y-4",
|
|
198
|
-
children:
|
|
203
|
+
children: z.timeline.slice().reverse().map((e, t) => /* @__PURE__ */ w("div", {
|
|
199
204
|
className: "flex gap-4",
|
|
200
205
|
children: [/* @__PURE__ */ w("div", {
|
|
201
206
|
className: "relative",
|
|
202
|
-
children: [/* @__PURE__ */ C("div", { className: `w-3 h-3 rounded-full ${t === 0 ? "bg-action-primary-bg" : "bg-bg-sunken"}` }), t <
|
|
207
|
+
children: [/* @__PURE__ */ C("div", { className: `w-3 h-3 rounded-full ${t === 0 ? "bg-action-primary-bg" : "bg-bg-sunken"}` }), t < z.timeline.length - 1 && /* @__PURE__ */ C("div", { className: "absolute top-3 left-1.5 w-px h-8 -ml-px bg-border" })]
|
|
203
208
|
}), /* @__PURE__ */ w("div", {
|
|
204
209
|
className: "flex-1 pb-4",
|
|
205
210
|
children: [
|
|
@@ -229,12 +234,12 @@ function E() {
|
|
|
229
234
|
})]
|
|
230
235
|
}, t))
|
|
231
236
|
})] })] }),
|
|
232
|
-
|
|
237
|
+
R.alerts && R.alerts.length > 0 && /* @__PURE__ */ w(t, { children: [/* @__PURE__ */ C(i, { children: /* @__PURE__ */ w(r, {
|
|
233
238
|
className: "flex items-center gap-2",
|
|
234
|
-
children: [/* @__PURE__ */ C(c, { size: 18 }),
|
|
239
|
+
children: [/* @__PURE__ */ C(c, { size: 18 }), k("movethewheels.tracking.alerts.title", "Alerts")]
|
|
235
240
|
}) }), /* @__PURE__ */ C(n, { children: /* @__PURE__ */ C("div", {
|
|
236
241
|
className: "space-y-3",
|
|
237
|
-
children:
|
|
242
|
+
children: R.alerts.map((e) => /* @__PURE__ */ w("div", {
|
|
238
243
|
className: `flex items-start gap-3 p-3 rounded-lg ${e.severity === "critical" ? "bg-red-50 dark:bg-red-900/20" : e.severity === "high" ? "bg-orange-50 dark:bg-orange-900/20" : "bg-yellow-50 dark:bg-yellow-900/20"}`,
|
|
239
244
|
children: [/* @__PURE__ */ C(c, {
|
|
240
245
|
size: 16,
|
|
@@ -244,7 +249,7 @@ function E() {
|
|
|
244
249
|
children: e.message
|
|
245
250
|
}), /* @__PURE__ */ w("p", {
|
|
246
251
|
className: "text-xs text-text-secondary",
|
|
247
|
-
children: [v(e.timestamp, "relative"), e.resolvedAt && ` - ${
|
|
252
|
+
children: [v(e.timestamp, "relative"), e.resolvedAt && ` - ${k("movethewheels.tracking.alerts.resolved", "Resolved")}`]
|
|
248
253
|
})] })]
|
|
249
254
|
}, e.id))
|
|
250
255
|
}) })] })
|
|
@@ -254,7 +259,7 @@ function E() {
|
|
|
254
259
|
children: [
|
|
255
260
|
/* @__PURE__ */ w(t, { children: [/* @__PURE__ */ C(i, { children: /* @__PURE__ */ w(r, {
|
|
256
261
|
className: "flex items-center gap-2",
|
|
257
|
-
children: [/* @__PURE__ */ C(d, { size: 18 }),
|
|
262
|
+
children: [/* @__PURE__ */ C(d, { size: 18 }), k("movethewheels.tracking.location.title", "Current Location")]
|
|
258
263
|
}) }), /* @__PURE__ */ w(n, { children: [
|
|
259
264
|
/* @__PURE__ */ C("div", {
|
|
260
265
|
className: "aspect-video bg-bg-sunken rounded-lg flex items-center justify-center mb-4",
|
|
@@ -265,58 +270,58 @@ function E() {
|
|
|
265
270
|
className: "mx-auto mb-2"
|
|
266
271
|
}), /* @__PURE__ */ C("p", {
|
|
267
272
|
className: "text-sm",
|
|
268
|
-
children:
|
|
273
|
+
children: k("movethewheels.tracking.location.mapView", "Map View")
|
|
269
274
|
})]
|
|
270
275
|
})
|
|
271
276
|
}),
|
|
272
277
|
/* @__PURE__ */ C("p", {
|
|
273
278
|
className: "text-sm",
|
|
274
|
-
children:
|
|
279
|
+
children: R.currentLocation.address || k("movethewheels.tracking.location.updating", "Location updating...")
|
|
275
280
|
}),
|
|
276
281
|
/* @__PURE__ */ w("p", {
|
|
277
282
|
className: "text-xs text-text-secondary mt-1",
|
|
278
283
|
children: [
|
|
279
|
-
|
|
284
|
+
k("movethewheels.tracking.location.updated", "Updated"),
|
|
280
285
|
" ",
|
|
281
|
-
v(
|
|
286
|
+
v(R.currentLocation.timestamp || /* @__PURE__ */ new Date(), "relative")
|
|
282
287
|
]
|
|
283
288
|
})
|
|
284
289
|
] })] }),
|
|
285
|
-
/* @__PURE__ */ w(t, { children: [/* @__PURE__ */ C(i, { children: /* @__PURE__ */ C(r, { children:
|
|
290
|
+
/* @__PURE__ */ w(t, { children: [/* @__PURE__ */ C(i, { children: /* @__PURE__ */ C(r, { children: k("movethewheels.tracking.deliveryAddress.title", "Delivery Address") }) }), /* @__PURE__ */ w(n, { children: [/* @__PURE__ */ C("p", {
|
|
286
291
|
className: "text-sm",
|
|
287
|
-
children:
|
|
292
|
+
children: z.customerInfo.name
|
|
288
293
|
}), /* @__PURE__ */ C("p", {
|
|
289
294
|
className: "text-sm text-text-secondary mt-2",
|
|
290
|
-
children: y(
|
|
295
|
+
children: y(z.deliveryAddress)
|
|
291
296
|
})] })] }),
|
|
292
297
|
/* @__PURE__ */ C(t, { children: /* @__PURE__ */ w(n, {
|
|
293
298
|
className: "p-4 space-y-2",
|
|
294
299
|
children: [/* @__PURE__ */ C(s, {
|
|
295
300
|
variant: "outline",
|
|
296
301
|
className: "w-full",
|
|
297
|
-
onClick: () =>
|
|
298
|
-
children:
|
|
302
|
+
onClick: () => U(`orders/${z.id}`),
|
|
303
|
+
children: k("movethewheels.tracking.actions.viewOrderDetails", "View Order Details")
|
|
299
304
|
}), /* @__PURE__ */ C(s, {
|
|
300
305
|
variant: "outline",
|
|
301
306
|
className: "w-full",
|
|
302
|
-
children:
|
|
307
|
+
children: k("movethewheels.tracking.actions.contactDriver", "Contact Driver")
|
|
303
308
|
})]
|
|
304
309
|
}) })
|
|
305
310
|
]
|
|
306
311
|
})]
|
|
307
312
|
}),
|
|
308
|
-
|
|
313
|
+
I && !z && !B && !V && /* @__PURE__ */ C(o, {
|
|
309
314
|
illustration: "empty-search",
|
|
310
|
-
title:
|
|
311
|
-
description: `${
|
|
315
|
+
title: k("movethewheels.tracking.notFound.title", "Shipment not found"),
|
|
316
|
+
description: `${k("movethewheels.tracking.notFound.descriptionPrefix", "No shipment found with tracking number")} "${I}"`,
|
|
312
317
|
action: /* @__PURE__ */ C(s, {
|
|
313
318
|
variant: "outline",
|
|
314
|
-
onClick: () =>
|
|
315
|
-
children:
|
|
319
|
+
onClick: () => F(""),
|
|
320
|
+
children: k("movethewheels.tracking.notFound.tryAnother", "Try another number")
|
|
316
321
|
})
|
|
317
322
|
})
|
|
318
323
|
]
|
|
319
324
|
});
|
|
320
325
|
}
|
|
321
326
|
//#endregion
|
|
322
|
-
export {
|
|
327
|
+
export { O as default };
|