@burdenoff/microfe-adaptercloud 2026.624.1 → 2026.625.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/adaptercloud/components/EmptyState.js +17 -21
- package/dist/adaptercloud/components/EmptyState.js.map +1 -1
- package/dist/adaptercloud/components/InvestmentCard.js +25 -23
- package/dist/adaptercloud/components/InvestmentCard.js.map +1 -1
- package/dist/adaptercloud/components/MetricsCard.js +18 -12
- package/dist/adaptercloud/components/MetricsCard.js.map +1 -1
- package/dist/adaptercloud/components/PageLayout.js +45 -19
- package/dist/adaptercloud/components/PageLayout.js.map +1 -1
- package/dist/adaptercloud/components/RatingDisplay.js +3 -3
- package/dist/adaptercloud/components/RatingDisplay.js.map +1 -1
- package/dist/adaptercloud/components/StatusBadge.js +36 -16
- package/dist/adaptercloud/components/StatusBadge.js.map +1 -1
- package/dist/adaptercloud/pages/HomePage.js +244 -231
- package/dist/adaptercloud/pages/HomePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +121 -113
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +102 -76
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +70 -65
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +108 -103
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +61 -59
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +119 -105
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +165 -160
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +174 -169
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +103 -97
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +186 -172
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +109 -81
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +111 -109
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +127 -124
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +310 -316
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +251 -257
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +142 -148
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +287 -283
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +120 -114
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/SettingsPage.js +754 -736
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +120 -117
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +231 -226
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +97 -95
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +418 -389
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +134 -132
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +108 -102
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +62 -59
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +117 -111
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +71 -68
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +97 -81
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +82 -66
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +93 -91
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +100 -97
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +83 -81
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +344 -311
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +43 -40
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +59 -57
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +394 -392
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +354 -324
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +122 -97
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +107 -104
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +109 -107
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +94 -90
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -7,8 +7,9 @@ import { formatCurrency as a } from "../../utils/formatters.js";
|
|
|
7
7
|
import { useCallback as o, useEffect as s, useState as c } from "react";
|
|
8
8
|
import { AlertTriangle as l, ArrowRight as u, CheckCircle2 as d, ChefHat as f, ClipboardList as p, CreditCard as m, Loader2 as h, MapPin as g, Navigation as _, Package as v, Phone as y, PlayCircle as b, ShoppingBag as x, Star as S, Truck as C } from "lucide-react";
|
|
9
9
|
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
10
|
+
import { EmphasisPanel as E } from "@burdenoff/fe-libs/ui";
|
|
10
11
|
//#region src/adaptercloud/pages/worker/WorkerOrdersPage.tsx
|
|
11
|
-
var
|
|
12
|
+
var D = [
|
|
12
13
|
{
|
|
13
14
|
id: "task-001",
|
|
14
15
|
orderId: "ORD-2024-001",
|
|
@@ -124,26 +125,26 @@ var E = [
|
|
|
124
125
|
}
|
|
125
126
|
}
|
|
126
127
|
];
|
|
127
|
-
function
|
|
128
|
+
function O(e) {
|
|
128
129
|
let t = /* @__PURE__ */ new Date(), n = new Date(e), r = Math.floor((n.getTime() - t.getTime()) / (1e3 * 60));
|
|
129
130
|
return r < 0 ? "Overdue" : r < 60 ? `${r} min` : `${Math.floor(r / 60)}h ${r % 60}m`;
|
|
130
131
|
}
|
|
131
|
-
function
|
|
132
|
+
function k(e) {
|
|
132
133
|
switch (e) {
|
|
133
134
|
case "delivery": return {
|
|
134
135
|
icon: C,
|
|
135
136
|
label: "Delivery",
|
|
136
|
-
style: "bg-purple-
|
|
137
|
+
style: "bg-accent-purple-subtle/20 text-accent-purple"
|
|
137
138
|
};
|
|
138
139
|
case "pickup": return {
|
|
139
140
|
icon: x,
|
|
140
141
|
label: "Pickup",
|
|
141
|
-
style: "bg-blue-
|
|
142
|
+
style: "bg-accent-blue-subtle/20 text-accent-blue"
|
|
142
143
|
};
|
|
143
144
|
case "preparation": return {
|
|
144
145
|
icon: f,
|
|
145
146
|
label: "Preparation",
|
|
146
|
-
style: "bg-
|
|
147
|
+
style: "bg-status-success-bg-subtle/20 text-status-success-text"
|
|
147
148
|
};
|
|
148
149
|
default: return {
|
|
149
150
|
icon: v,
|
|
@@ -152,44 +153,44 @@ function O(e) {
|
|
|
152
153
|
};
|
|
153
154
|
}
|
|
154
155
|
}
|
|
155
|
-
function
|
|
156
|
+
function A(e) {
|
|
156
157
|
switch (e) {
|
|
157
|
-
case "urgent": return "bg-
|
|
158
|
-
case "high": return "bg-orange-
|
|
159
|
-
case "medium": return "bg-
|
|
160
|
-
case "low": return "bg-
|
|
158
|
+
case "urgent": return "bg-status-error-bg-subtle/20 text-status-error-text";
|
|
159
|
+
case "high": return "bg-accent-orange-subtle/20 text-accent-orange";
|
|
160
|
+
case "medium": return "bg-status-warning-bg-subtle/20 text-status-warning-text";
|
|
161
|
+
case "low": return "bg-status-success-bg-subtle/20 text-status-success-text";
|
|
161
162
|
default: return "bg-secondary text-secondary-foreground";
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
|
-
var
|
|
165
|
-
let { navigateTo: f } = e(), [v, x] = c(!0), [C,
|
|
165
|
+
var j = () => {
|
|
166
|
+
let { navigateTo: f } = e(), [v, x] = c(!0), [C, j] = c([]), [M, N] = c(null), [P, F] = c({
|
|
166
167
|
status: "",
|
|
167
168
|
type: "",
|
|
168
169
|
priority: "",
|
|
169
170
|
sortBy: "priority"
|
|
170
|
-
}), [
|
|
171
|
+
}), [I, L] = c({
|
|
171
172
|
totalTasks: 0,
|
|
172
173
|
completedToday: 0,
|
|
173
174
|
pendingTasks: 0,
|
|
174
175
|
averageTime: 0,
|
|
175
176
|
earnings: 0,
|
|
176
177
|
rating: 4.8
|
|
177
|
-
}), [,
|
|
178
|
+
}), [, R] = c(0);
|
|
178
179
|
s(() => {
|
|
179
|
-
let e = setInterval(() =>
|
|
180
|
+
let e = setInterval(() => R((e) => e + 1), 6e4);
|
|
180
181
|
return () => clearInterval(e);
|
|
181
182
|
}, []);
|
|
182
|
-
let
|
|
183
|
+
let z = o(() => {
|
|
183
184
|
x(!0), setTimeout(() => {
|
|
184
|
-
let e = [...
|
|
185
|
-
|
|
185
|
+
let e = [...D];
|
|
186
|
+
P.status && (e = e.filter((e) => e.status === P.status)), P.type && (e = e.filter((e) => e.type === P.type)), P.priority && (e = e.filter((e) => e.priority === P.priority));
|
|
186
187
|
let t = {
|
|
187
188
|
urgent: 0,
|
|
188
189
|
high: 1,
|
|
189
190
|
medium: 2,
|
|
190
191
|
low: 3
|
|
191
192
|
};
|
|
192
|
-
switch (
|
|
193
|
+
switch (P.sortBy) {
|
|
193
194
|
case "priority":
|
|
194
195
|
e.sort((e, n) => (t[e.priority] ?? 4) - (t[n.priority] ?? 4));
|
|
195
196
|
break;
|
|
@@ -200,7 +201,7 @@ var A = () => {
|
|
|
200
201
|
e.sort((e, t) => (e.distance ?? 999) - (t.distance ?? 999));
|
|
201
202
|
break;
|
|
202
203
|
}
|
|
203
|
-
|
|
204
|
+
j(e), N(D.find((e) => e.status === "in_progress") ?? null), L({
|
|
204
205
|
totalTasks: 45,
|
|
205
206
|
completedToday: 12,
|
|
206
207
|
pendingTasks: 3,
|
|
@@ -209,24 +210,24 @@ var A = () => {
|
|
|
209
210
|
rating: 4.8
|
|
210
211
|
}), x(!1);
|
|
211
212
|
}, 600);
|
|
212
|
-
}, [
|
|
213
|
+
}, [P]);
|
|
213
214
|
s(() => {
|
|
214
|
-
|
|
215
|
-
}, [
|
|
216
|
-
let
|
|
217
|
-
|
|
215
|
+
z();
|
|
216
|
+
}, [z]);
|
|
217
|
+
let B = (e, t) => {
|
|
218
|
+
F((n) => ({
|
|
218
219
|
...n,
|
|
219
220
|
[e]: t
|
|
220
221
|
}));
|
|
221
|
-
}, B = (e) => {
|
|
222
|
-
let t = E.find((t) => t.id === e);
|
|
223
|
-
t && (t.status = "in_progress", M(t), R());
|
|
224
222
|
}, V = (e) => {
|
|
225
|
-
let t =
|
|
226
|
-
t && (t.status = "
|
|
223
|
+
let t = D.find((t) => t.id === e);
|
|
224
|
+
t && (t.status = "in_progress", N(t), z());
|
|
227
225
|
}, H = (e) => {
|
|
228
|
-
|
|
226
|
+
let t = D.find((t) => t.id === e);
|
|
227
|
+
t && (t.status = "completed"), N(null), z(), alert("Task completed successfully");
|
|
229
228
|
}, U = (e) => {
|
|
229
|
+
window.location.href = `tel:${e.replace(/\s/g, "")}`;
|
|
230
|
+
}, W = (e) => {
|
|
230
231
|
if (e.address) {
|
|
231
232
|
let t = encodeURIComponent(`${e.address.addressLine1}, ${e.address.city}`);
|
|
232
233
|
window.open(`https://maps.google.com?q=${t}`, "_blank");
|
|
@@ -248,81 +249,82 @@ var A = () => {
|
|
|
248
249
|
}) : /* @__PURE__ */ w(n, {
|
|
249
250
|
title: "My Orders",
|
|
250
251
|
description: "Manage your assigned orders",
|
|
252
|
+
purpose: "Every task assigned to you, with today's progress and earnings up top. Filter by status, open a task to get directions and customer details, and work the queue to keep deliveries and services on time.",
|
|
251
253
|
children: /* @__PURE__ */ T("div", {
|
|
252
254
|
className: "space-y-6",
|
|
253
255
|
children: [
|
|
254
|
-
/* @__PURE__ */ T("div", {
|
|
256
|
+
/* @__PURE__ */ w(E, { children: /* @__PURE__ */ T("div", {
|
|
255
257
|
className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",
|
|
256
258
|
children: [
|
|
257
259
|
/* @__PURE__ */ T("div", {
|
|
258
|
-
className: "rounded-lg border border-border-
|
|
260
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
259
261
|
children: [/* @__PURE__ */ w("p", {
|
|
260
262
|
className: "text-xs text-text-secondary",
|
|
261
263
|
children: "Today's Tasks"
|
|
262
264
|
}), /* @__PURE__ */ w("p", {
|
|
263
265
|
className: "text-2xl font-bold text-text-primary",
|
|
264
|
-
children:
|
|
266
|
+
children: I.totalTasks
|
|
265
267
|
})]
|
|
266
268
|
}),
|
|
267
269
|
/* @__PURE__ */ T("div", {
|
|
268
|
-
className: "rounded-lg border border-
|
|
270
|
+
className: "rounded-lg border border-status-success-border/20 bg-status-success-bg-subtle/5 p-4 shadow-sm",
|
|
269
271
|
children: [/* @__PURE__ */ w("p", {
|
|
270
|
-
className: "text-xs text-
|
|
272
|
+
className: "text-xs text-status-success-text",
|
|
271
273
|
children: "Completed"
|
|
272
274
|
}), /* @__PURE__ */ w("p", {
|
|
273
|
-
className: "text-2xl font-bold text-
|
|
274
|
-
children:
|
|
275
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
276
|
+
children: I.completedToday
|
|
275
277
|
})]
|
|
276
278
|
}),
|
|
277
279
|
/* @__PURE__ */ T("div", {
|
|
278
|
-
className: "rounded-lg border border-
|
|
280
|
+
className: "rounded-lg border border-status-warning-border/20 bg-status-warning-bg-subtle/5 p-4 shadow-sm",
|
|
279
281
|
children: [/* @__PURE__ */ w("p", {
|
|
280
|
-
className: "text-xs text-
|
|
282
|
+
className: "text-xs text-status-warning-text",
|
|
281
283
|
children: "Pending"
|
|
282
284
|
}), /* @__PURE__ */ w("p", {
|
|
283
|
-
className: "text-2xl font-bold text-
|
|
284
|
-
children:
|
|
285
|
+
className: "text-2xl font-bold text-status-warning-text",
|
|
286
|
+
children: I.pendingTasks
|
|
285
287
|
})]
|
|
286
288
|
}),
|
|
287
289
|
/* @__PURE__ */ T("div", {
|
|
288
|
-
className: "rounded-lg border border-border-
|
|
290
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
289
291
|
children: [/* @__PURE__ */ w("p", {
|
|
290
292
|
className: "text-xs text-text-secondary",
|
|
291
293
|
children: "Avg Time"
|
|
292
294
|
}), /* @__PURE__ */ T("p", {
|
|
293
295
|
className: "text-2xl font-bold text-text-primary",
|
|
294
|
-
children: [
|
|
296
|
+
children: [I.averageTime, " min"]
|
|
295
297
|
})]
|
|
296
298
|
}),
|
|
297
299
|
/* @__PURE__ */ T("div", {
|
|
298
|
-
className: "rounded-lg border border-border-
|
|
300
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
299
301
|
children: [/* @__PURE__ */ w("p", {
|
|
300
302
|
className: "text-xs text-text-secondary",
|
|
301
303
|
children: "Today's Earnings"
|
|
302
304
|
}), /* @__PURE__ */ w("p", {
|
|
303
305
|
className: "text-2xl font-bold text-text-primary",
|
|
304
|
-
children: a(
|
|
306
|
+
children: a(I.earnings, { minimumFractionDigits: 0 })
|
|
305
307
|
})]
|
|
306
308
|
}),
|
|
307
309
|
/* @__PURE__ */ T("div", {
|
|
308
|
-
className: "rounded-lg border border-border-
|
|
310
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
309
311
|
children: [/* @__PURE__ */ w("p", {
|
|
310
312
|
className: "text-xs text-text-secondary",
|
|
311
313
|
children: "Rating"
|
|
312
314
|
}), /* @__PURE__ */ T("p", {
|
|
313
315
|
className: "text-2xl font-bold text-text-primary flex items-center gap-1",
|
|
314
|
-
children: [/* @__PURE__ */ w(S, { className: "h-4 w-4 fill-
|
|
316
|
+
children: [/* @__PURE__ */ w(S, { className: "h-4 w-4 fill-status-warning-text text-status-warning-text" }), I.rating]
|
|
315
317
|
})]
|
|
316
318
|
})
|
|
317
319
|
]
|
|
318
|
-
}),
|
|
319
|
-
|
|
320
|
-
className: "rounded-lg border-2 border-blue-
|
|
320
|
+
}) }),
|
|
321
|
+
M && /* @__PURE__ */ T("div", {
|
|
322
|
+
className: "rounded-lg border-2 border-accent-blue-subtle/30 bg-accent-blue-subtle/5 p-5",
|
|
321
323
|
children: [/* @__PURE__ */ w("h2", {
|
|
322
|
-
className: "text-base font-semibold text-
|
|
324
|
+
className: "text-base font-semibold text-accent-blue mb-4",
|
|
323
325
|
children: "Current Task"
|
|
324
326
|
}), /* @__PURE__ */ T("div", {
|
|
325
|
-
className: "rounded-lg border border-border-
|
|
327
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
326
328
|
children: [/* @__PURE__ */ T("div", {
|
|
327
329
|
className: "flex items-center justify-between mb-4",
|
|
328
330
|
children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
|
|
@@ -330,28 +332,28 @@ var A = () => {
|
|
|
330
332
|
children: [
|
|
331
333
|
/* @__PURE__ */ T("h3", {
|
|
332
334
|
className: "text-sm font-semibold text-text-primary",
|
|
333
|
-
children: ["Order #",
|
|
335
|
+
children: ["Order #", M.orderId]
|
|
334
336
|
}),
|
|
335
337
|
(() => {
|
|
336
|
-
let e =
|
|
338
|
+
let e = k(M.type), n = e.icon;
|
|
337
339
|
return /* @__PURE__ */ T("span", {
|
|
338
340
|
className: t("inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-medium", e.style),
|
|
339
341
|
children: [/* @__PURE__ */ w(n, { className: "h-3 w-3" }), e.label]
|
|
340
342
|
});
|
|
341
343
|
})(),
|
|
342
344
|
/* @__PURE__ */ w("span", {
|
|
343
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize",
|
|
344
|
-
children:
|
|
345
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", A(M.priority)),
|
|
346
|
+
children: M.priority
|
|
345
347
|
})
|
|
346
348
|
]
|
|
347
349
|
}), /* @__PURE__ */ w("p", {
|
|
348
350
|
className: "text-xs text-text-secondary mt-1",
|
|
349
|
-
children:
|
|
351
|
+
children: M.cartName
|
|
350
352
|
})] }), /* @__PURE__ */ T("div", {
|
|
351
353
|
className: "text-right",
|
|
352
354
|
children: [/* @__PURE__ */ w("p", {
|
|
353
|
-
className: "text-xl font-bold text-
|
|
354
|
-
children:
|
|
355
|
+
className: "text-xl font-bold text-accent-blue",
|
|
356
|
+
children: O(M.estimatedTime)
|
|
355
357
|
}), /* @__PURE__ */ w("p", {
|
|
356
358
|
className: "text-xs text-text-secondary",
|
|
357
359
|
children: "Time remaining"
|
|
@@ -369,14 +371,14 @@ var A = () => {
|
|
|
369
371
|
}),
|
|
370
372
|
/* @__PURE__ */ w("p", {
|
|
371
373
|
className: "text-sm font-medium text-text-primary",
|
|
372
|
-
children:
|
|
374
|
+
children: M.customerName
|
|
373
375
|
}),
|
|
374
|
-
|
|
376
|
+
M.address && /* @__PURE__ */ T("p", {
|
|
375
377
|
className: "text-xs text-text-secondary mt-1",
|
|
376
378
|
children: [
|
|
377
|
-
|
|
379
|
+
M.address.addressLine1,
|
|
378
380
|
", ",
|
|
379
|
-
|
|
381
|
+
M.address.city
|
|
380
382
|
]
|
|
381
383
|
})
|
|
382
384
|
] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
@@ -384,7 +386,7 @@ var A = () => {
|
|
|
384
386
|
children: "Items"
|
|
385
387
|
}), /* @__PURE__ */ w("div", {
|
|
386
388
|
className: "space-y-0.5",
|
|
387
|
-
children:
|
|
389
|
+
children: M.items.map((e, t) => /* @__PURE__ */ T("p", {
|
|
388
390
|
className: "text-xs text-text-primary",
|
|
389
391
|
children: [
|
|
390
392
|
e.quantity,
|
|
@@ -394,14 +396,14 @@ var A = () => {
|
|
|
394
396
|
}, t))
|
|
395
397
|
})] })]
|
|
396
398
|
}),
|
|
397
|
-
|
|
398
|
-
className: "mt-3 p-3 rounded-md bg-
|
|
399
|
+
M.specialInstructions && /* @__PURE__ */ T("div", {
|
|
400
|
+
className: "mt-3 p-3 rounded-md bg-status-warning-bg-subtle/10 border border-status-warning-border/20",
|
|
399
401
|
children: [/* @__PURE__ */ T("p", {
|
|
400
|
-
className: "text-xs font-medium text-
|
|
402
|
+
className: "text-xs font-medium text-status-warning-text flex items-center gap-1",
|
|
401
403
|
children: [/* @__PURE__ */ w(l, { className: "h-3 w-3" }), "Special Instructions:"]
|
|
402
404
|
}), /* @__PURE__ */ w("p", {
|
|
403
|
-
className: "text-xs text-
|
|
404
|
-
children:
|
|
405
|
+
className: "text-xs text-status-warning-text mt-0.5",
|
|
406
|
+
children: M.specialInstructions
|
|
405
407
|
})]
|
|
406
408
|
}),
|
|
407
409
|
/* @__PURE__ */ T("div", {
|
|
@@ -409,20 +411,20 @@ var A = () => {
|
|
|
409
411
|
children: [
|
|
410
412
|
/* @__PURE__ */ T("button", {
|
|
411
413
|
type: "button",
|
|
412
|
-
onClick: () =>
|
|
414
|
+
onClick: () => U(M.customerPhone),
|
|
413
415
|
className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-2 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
414
416
|
children: [/* @__PURE__ */ w(y, { className: "h-3.5 w-3.5" }), "Call Customer"]
|
|
415
417
|
}),
|
|
416
|
-
|
|
418
|
+
M.type === "delivery" && M.address && /* @__PURE__ */ T("button", {
|
|
417
419
|
type: "button",
|
|
418
|
-
onClick: () =>
|
|
420
|
+
onClick: () => W(M),
|
|
419
421
|
className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-2 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
420
422
|
children: [/* @__PURE__ */ w(_, { className: "h-3.5 w-3.5" }), "Navigate"]
|
|
421
423
|
}),
|
|
422
424
|
/* @__PURE__ */ T("button", {
|
|
423
425
|
type: "button",
|
|
424
|
-
onClick: () =>
|
|
425
|
-
className: "ml-auto inline-flex items-center gap-1.5 rounded-md bg-
|
|
426
|
+
onClick: () => H(M.id),
|
|
427
|
+
className: "ml-auto inline-flex items-center gap-1.5 rounded-md bg-status-success-bg-subtle/10 px-3 py-2 text-xs font-medium text-status-success-text hover:bg-status-success-bg-subtle/20 transition-colors",
|
|
426
428
|
children: [/* @__PURE__ */ w(d, { className: "h-3.5 w-3.5" }), "Complete Task"]
|
|
427
429
|
})
|
|
428
430
|
]
|
|
@@ -432,14 +434,14 @@ var A = () => {
|
|
|
432
434
|
})]
|
|
433
435
|
}),
|
|
434
436
|
/* @__PURE__ */ w("div", {
|
|
435
|
-
className: "rounded-lg border border-border-
|
|
437
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
436
438
|
children: /* @__PURE__ */ T("div", {
|
|
437
439
|
className: "grid grid-cols-1 md:grid-cols-4 gap-3",
|
|
438
440
|
children: [
|
|
439
441
|
/* @__PURE__ */ T("select", {
|
|
440
|
-
value:
|
|
441
|
-
onChange: (e) =>
|
|
442
|
-
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-blue-
|
|
442
|
+
value: P.status,
|
|
443
|
+
onChange: (e) => B("status", e.target.value),
|
|
444
|
+
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-accent-blue-subtle/40",
|
|
443
445
|
children: [
|
|
444
446
|
/* @__PURE__ */ w("option", {
|
|
445
447
|
value: "",
|
|
@@ -460,9 +462,9 @@ var A = () => {
|
|
|
460
462
|
]
|
|
461
463
|
}),
|
|
462
464
|
/* @__PURE__ */ T("select", {
|
|
463
|
-
value:
|
|
464
|
-
onChange: (e) =>
|
|
465
|
-
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-blue-
|
|
465
|
+
value: P.type,
|
|
466
|
+
onChange: (e) => B("type", e.target.value),
|
|
467
|
+
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-accent-blue-subtle/40",
|
|
466
468
|
children: [
|
|
467
469
|
/* @__PURE__ */ w("option", {
|
|
468
470
|
value: "",
|
|
@@ -483,9 +485,9 @@ var A = () => {
|
|
|
483
485
|
]
|
|
484
486
|
}),
|
|
485
487
|
/* @__PURE__ */ T("select", {
|
|
486
|
-
value:
|
|
487
|
-
onChange: (e) =>
|
|
488
|
-
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-blue-
|
|
488
|
+
value: P.priority,
|
|
489
|
+
onChange: (e) => B("priority", e.target.value),
|
|
490
|
+
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-accent-blue-subtle/40",
|
|
489
491
|
children: [
|
|
490
492
|
/* @__PURE__ */ w("option", {
|
|
491
493
|
value: "",
|
|
@@ -510,9 +512,9 @@ var A = () => {
|
|
|
510
512
|
]
|
|
511
513
|
}),
|
|
512
514
|
/* @__PURE__ */ T("select", {
|
|
513
|
-
value:
|
|
514
|
-
onChange: (e) =>
|
|
515
|
-
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-blue-
|
|
515
|
+
value: P.sortBy,
|
|
516
|
+
onChange: (e) => B("sortBy", e.target.value),
|
|
517
|
+
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-accent-blue-subtle/40",
|
|
516
518
|
children: [
|
|
517
519
|
/* @__PURE__ */ w("option", {
|
|
518
520
|
value: "priority",
|
|
@@ -532,15 +534,16 @@ var A = () => {
|
|
|
532
534
|
})
|
|
533
535
|
}),
|
|
534
536
|
C.length === 0 ? /* @__PURE__ */ w(i, {
|
|
537
|
+
illustration: "empty-data",
|
|
535
538
|
icon: /* @__PURE__ */ w(p, { className: "h-12 w-12" }),
|
|
536
539
|
title: "No tasks available",
|
|
537
540
|
description: "Check back later for new tasks"
|
|
538
541
|
}) : /* @__PURE__ */ w("div", {
|
|
539
542
|
className: "space-y-3",
|
|
540
543
|
children: C.map((e) => {
|
|
541
|
-
let n =
|
|
544
|
+
let n = k(e.type), i = n.icon;
|
|
542
545
|
return /* @__PURE__ */ T("div", {
|
|
543
|
-
className: "rounded-lg border border-border-
|
|
546
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-5 hover:shadow-md transition-shadow bg-gloss-card shadow-pop",
|
|
544
547
|
children: [
|
|
545
548
|
/* @__PURE__ */ T("div", {
|
|
546
549
|
className: "flex items-center justify-between mb-3",
|
|
@@ -556,7 +559,7 @@ var A = () => {
|
|
|
556
559
|
children: [/* @__PURE__ */ w(i, { className: "h-3 w-3" }), n.label]
|
|
557
560
|
}),
|
|
558
561
|
/* @__PURE__ */ w("span", {
|
|
559
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize",
|
|
562
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium capitalize", A(e.priority)),
|
|
560
563
|
children: e.priority
|
|
561
564
|
})
|
|
562
565
|
]
|
|
@@ -573,7 +576,7 @@ var A = () => {
|
|
|
573
576
|
className: "text-lg font-bold text-text-primary",
|
|
574
577
|
children: a(e.payment.amount, { minimumFractionDigits: 0 })
|
|
575
578
|
}), /* @__PURE__ */ w("p", {
|
|
576
|
-
className: t("text-xs", e.payment.status === "completed" ? "text-
|
|
579
|
+
className: t("text-xs", e.payment.status === "completed" ? "text-status-success-text" : "text-status-warning-text"),
|
|
577
580
|
children: /* @__PURE__ */ T("span", {
|
|
578
581
|
className: "flex items-center gap-1 justify-end",
|
|
579
582
|
children: [/* @__PURE__ */ w(m, { className: "h-3 w-3" }), e.payment.status === "completed" ? "Paid" : "COD"]
|
|
@@ -607,8 +610,8 @@ var A = () => {
|
|
|
607
610
|
className: "text-xs text-text-secondary",
|
|
608
611
|
children: "Time"
|
|
609
612
|
}), /* @__PURE__ */ w("p", {
|
|
610
|
-
className: t("text-xs font-medium",
|
|
611
|
-
children:
|
|
613
|
+
className: t("text-xs font-medium", O(e.estimatedTime) === "Overdue" ? "text-status-error-text" : "text-text-primary"),
|
|
614
|
+
children: O(e.estimatedTime)
|
|
612
615
|
})] })
|
|
613
616
|
]
|
|
614
617
|
}),
|
|
@@ -617,14 +620,14 @@ var A = () => {
|
|
|
617
620
|
children: [
|
|
618
621
|
/* @__PURE__ */ T("button", {
|
|
619
622
|
type: "button",
|
|
620
|
-
onClick: () =>
|
|
621
|
-
disabled:
|
|
622
|
-
className: t("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors",
|
|
623
|
-
children: [/* @__PURE__ */ w(b, { className: "h-3.5 w-3.5" }),
|
|
623
|
+
onClick: () => V(e.id),
|
|
624
|
+
disabled: M !== null,
|
|
625
|
+
className: t("inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium transition-colors", M === null ? "bg-accent-blue-subtle/10 text-accent-blue hover:bg-accent-blue-subtle/20" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
|
|
626
|
+
children: [/* @__PURE__ */ w(b, { className: "h-3.5 w-3.5" }), M ? "Complete current first" : "Start Task"]
|
|
624
627
|
}),
|
|
625
628
|
/* @__PURE__ */ T("button", {
|
|
626
629
|
type: "button",
|
|
627
|
-
onClick: () =>
|
|
630
|
+
onClick: () => U(e.customerPhone),
|
|
628
631
|
className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
629
632
|
children: [/* @__PURE__ */ w(y, { className: "h-3.5 w-3.5" }), "Call"]
|
|
630
633
|
}),
|
|
@@ -638,12 +641,12 @@ var A = () => {
|
|
|
638
641
|
})
|
|
639
642
|
]
|
|
640
643
|
}),
|
|
641
|
-
e.status === "in_progress" && e.id !==
|
|
644
|
+
e.status === "in_progress" && e.id !== M?.id && /* @__PURE__ */ T("div", {
|
|
642
645
|
className: "flex items-center gap-2 border-t border-border-subtle pt-3",
|
|
643
646
|
children: [/* @__PURE__ */ T("button", {
|
|
644
647
|
type: "button",
|
|
645
|
-
onClick: () =>
|
|
646
|
-
className: "inline-flex items-center gap-1.5 rounded-md bg-
|
|
648
|
+
onClick: () => H(e.id),
|
|
649
|
+
className: "inline-flex items-center gap-1.5 rounded-md bg-status-success-bg-subtle/10 px-3 py-1.5 text-xs font-medium text-status-success-text hover:bg-status-success-bg-subtle/20 transition-colors",
|
|
647
650
|
children: [/* @__PURE__ */ w(d, { className: "h-3.5 w-3.5" }), "Complete"]
|
|
648
651
|
}), /* @__PURE__ */ T("button", {
|
|
649
652
|
type: "button",
|
|
@@ -670,6 +673,6 @@ var A = () => {
|
|
|
670
673
|
});
|
|
671
674
|
};
|
|
672
675
|
//#endregion
|
|
673
|
-
export {
|
|
676
|
+
export { j as WorkerOrdersPage };
|
|
674
677
|
|
|
675
678
|
//# sourceMappingURL=WorkerOrdersPage.js.map
|