@burdenoff/microfe-kadaikodi 2026.704.4 → 2026.704.5
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/kadaikodi/KadaikodiRoutes.js +30 -26
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/components/viz/AllocationBar.js +68 -0
- package/dist/kadaikodi/components/viz/AllocationBar.js.map +1 -0
- package/dist/kadaikodi/components/viz/AreaChart.js +102 -0
- package/dist/kadaikodi/components/viz/AreaChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js +36 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js.map +1 -0
- package/dist/kadaikodi/components/viz/BarChart.js +83 -0
- package/dist/kadaikodi/components/viz/BarChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/CertificateCard.js +4 -0
- package/dist/kadaikodi/components/viz/DonutChart.js +109 -0
- package/dist/kadaikodi/components/viz/DonutChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js +54 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js.map +1 -0
- package/dist/kadaikodi/components/viz/Heatmap.js +3 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js +50 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js.map +1 -0
- package/dist/kadaikodi/components/viz/LineChart.js +4 -0
- package/dist/kadaikodi/components/viz/OrgTree.js +2 -0
- package/dist/kadaikodi/components/viz/PathSteps.js +3 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js +68 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js.map +1 -0
- package/dist/kadaikodi/components/viz/RatingStars.js +51 -0
- package/dist/kadaikodi/components/viz/RatingStars.js.map +1 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js +69 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js.map +1 -0
- package/dist/kadaikodi/components/viz/SkillBar.js +3 -0
- package/dist/kadaikodi/components/viz/Sparkline.js +74 -0
- package/dist/kadaikodi/components/viz/Sparkline.js.map +1 -0
- package/dist/kadaikodi/components/viz/StatCard.js +60 -0
- package/dist/kadaikodi/components/viz/StatCard.js.map +1 -0
- package/dist/kadaikodi/components/viz/StepProgress.js +64 -0
- package/dist/kadaikodi/components/viz/StepProgress.js.map +1 -0
- package/dist/kadaikodi/components/viz/Timeline.js +66 -0
- package/dist/kadaikodi/components/viz/Timeline.js.map +1 -0
- package/dist/kadaikodi/components/viz/index.js +23 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js +30 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js +119 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js +35 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/format.js +21 -0
- package/dist/kadaikodi/components/viz/lib/format.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js +61 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js +39 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/palette.js +27 -0
- package/dist/kadaikodi/components/viz/lib/palette.js.map +1 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +18 -10
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/HomePage.js +373 -631
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +304 -169
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +255 -271
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +185 -125
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +141 -102
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +558 -718
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +142 -55
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +129 -164
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +379 -361
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +266 -166
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js +373 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +288 -161
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +180 -181
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +17 -34
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +405 -248
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +258 -232
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +254 -205
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +270 -230
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +149 -412
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +173 -134
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +176 -175
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +295 -438
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/shared.js +181 -0
- package/dist/kadaikodi/pages/customer/shared.js.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +438 -311
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +320 -293
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +159 -91
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +137 -107
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +157 -135
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +280 -206
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +424 -448
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +328 -445
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +141 -164
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +300 -296
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +284 -309
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,66 +1,49 @@
|
|
|
1
1
|
import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
4
|
+
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
|
+
import { useUpdateWorkerTask as i, useUpdateWorkerTaskStatus as a, useWorkerTasks as o } from "../../hooks/useKadaikodiApi.js";
|
|
6
|
+
import { formatCurrency as s, formatDate as c } from "../../utils/formatters.js";
|
|
7
|
+
import { Timeline as l } from "../../components/viz/Timeline.js";
|
|
8
|
+
import { StepProgress as u } from "../../components/viz/StepProgress.js";
|
|
9
|
+
import "../../components/viz/index.js";
|
|
10
|
+
import { useEffect as d, useMemo as f, useState as p } from "react";
|
|
11
|
+
import { AlertTriangle as m, ArrowLeft as ee, CheckCircle2 as te, Clock as h, FileText as g, IndianRupee as _, Loader2 as v, MapPin as y, Navigation as b, Package as x, Phone as S, ShoppingBag as C, ShoppingCart as w, StickyNote as T, Truck as E, User as D } from "lucide-react";
|
|
12
|
+
import { useParams as O } from "react-router-dom";
|
|
13
|
+
import { jsx as k, jsxs as A } from "react/jsx-runtime";
|
|
14
|
+
import { GlassCard as j, PagePurpose as M } from "@burdenoff/fe-libs/ui";
|
|
13
15
|
//#region src/kadaikodi/pages/worker/TaskDetailsPage.tsx
|
|
14
|
-
|
|
16
|
+
var N = {
|
|
17
|
+
delivery: "Delivery",
|
|
18
|
+
pickup: "Pickup",
|
|
19
|
+
service: "Service"
|
|
20
|
+
};
|
|
21
|
+
function P(e) {
|
|
15
22
|
switch (e) {
|
|
16
|
-
case "delivery": return
|
|
17
|
-
case "
|
|
18
|
-
case "
|
|
19
|
-
|
|
20
|
-
case "pickup": return D;
|
|
21
|
-
case "service": return C;
|
|
22
|
-
default: return y;
|
|
23
|
+
case "delivery": return E;
|
|
24
|
+
case "pickup": return C;
|
|
25
|
+
case "service": return x;
|
|
26
|
+
default: return g;
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
|
-
function
|
|
29
|
+
function F(e) {
|
|
26
30
|
switch (e) {
|
|
27
|
-
case "urgent":
|
|
28
|
-
case "high": return "bg-status-
|
|
31
|
+
case "urgent":
|
|
32
|
+
case "high": return "bg-status-error-bg-subtle text-status-error-text";
|
|
29
33
|
case "medium": return "bg-status-warning-bg-subtle text-status-warning-text";
|
|
30
34
|
case "low": return "bg-status-success-bg-subtle text-status-success-text";
|
|
31
35
|
default: return "bg-bg-sunken text-text-secondary";
|
|
32
36
|
}
|
|
33
37
|
}
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
status: "assigned",
|
|
38
|
-
label: "Task Assigned",
|
|
39
|
-
timestamp: e.assignedTime || null,
|
|
40
|
-
completed: !0
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
status: "in_progress",
|
|
44
|
-
label: "Work Started",
|
|
45
|
-
timestamp: null,
|
|
46
|
-
completed: e.status === "in_progress" || e.status === "completed"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
status: "completed",
|
|
50
|
-
label: "Task Completed",
|
|
51
|
-
timestamp: e.status === "completed" ? e.completedAt ?? null : null,
|
|
52
|
-
completed: e.status === "completed"
|
|
53
|
-
}
|
|
54
|
-
];
|
|
55
|
-
}
|
|
56
|
-
function z(e) {
|
|
57
|
-
return new Date(e).toLocaleTimeString("en-IN", {
|
|
38
|
+
function I(e) {
|
|
39
|
+
let t = new Date(e);
|
|
40
|
+
return Number.isNaN(t.getTime()) ? e : t.toLocaleTimeString("en-IN", {
|
|
58
41
|
hour: "numeric",
|
|
59
42
|
minute: "2-digit",
|
|
60
43
|
hour12: !0
|
|
61
44
|
});
|
|
62
45
|
}
|
|
63
|
-
function
|
|
46
|
+
function L(e) {
|
|
64
47
|
let t = e.deliveryAddress ? [
|
|
65
48
|
e.deliveryAddress.street,
|
|
66
49
|
e.deliveryAddress.area,
|
|
@@ -89,461 +72,454 @@ function B(e) {
|
|
|
89
72
|
phone: e.customerPhone,
|
|
90
73
|
address: t
|
|
91
74
|
},
|
|
92
|
-
orderItems: [],
|
|
93
75
|
specialInstructions: e.notes ?? void 0,
|
|
94
76
|
notes: e.notes ?? "",
|
|
95
77
|
completedAt: e.completedAt
|
|
96
78
|
};
|
|
97
79
|
}
|
|
80
|
+
var R = [
|
|
81
|
+
{ label: "Assigned" },
|
|
82
|
+
{ label: "Picked Up" },
|
|
83
|
+
{ label: "Delivered" }
|
|
84
|
+
];
|
|
85
|
+
function z(e) {
|
|
86
|
+
switch (e) {
|
|
87
|
+
case "pending": return 1;
|
|
88
|
+
case "in_progress": return 2;
|
|
89
|
+
case "completed": return 3;
|
|
90
|
+
default: return 0;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function B({ pickupLabel: e, dropLabel: t, distance: n }) {
|
|
94
|
+
return /* @__PURE__ */ A("div", {
|
|
95
|
+
className: "relative overflow-hidden rounded-[var(--radius-card)] border border-border-subtle bg-bg-sunken",
|
|
96
|
+
children: [
|
|
97
|
+
/* @__PURE__ */ A("svg", {
|
|
98
|
+
viewBox: "0 0 400 190",
|
|
99
|
+
className: "block w-full",
|
|
100
|
+
role: "img",
|
|
101
|
+
"aria-label": `Illustrative route from ${e} to ${t}`,
|
|
102
|
+
children: [
|
|
103
|
+
/* @__PURE__ */ A("g", {
|
|
104
|
+
stroke: "var(--color-border-subtle)",
|
|
105
|
+
strokeWidth: "1",
|
|
106
|
+
opacity: "0.7",
|
|
107
|
+
children: [/* @__PURE__ */ k("path", { d: "M0 45 H400 M0 95 H400 M0 145 H400" }), /* @__PURE__ */ k("path", { d: "M70 0 V190 M160 0 V190 M250 0 V190 M330 0 V190" })]
|
|
108
|
+
}),
|
|
109
|
+
/* @__PURE__ */ k("path", {
|
|
110
|
+
d: "M70 55 H150 Q165 55 165 70 V120 Q165 135 180 135 H300",
|
|
111
|
+
fill: "none",
|
|
112
|
+
stroke: "var(--color-accent-primary)",
|
|
113
|
+
strokeWidth: "3.5",
|
|
114
|
+
strokeLinecap: "round",
|
|
115
|
+
strokeLinejoin: "round",
|
|
116
|
+
strokeDasharray: "1 0"
|
|
117
|
+
}),
|
|
118
|
+
/* @__PURE__ */ k("circle", {
|
|
119
|
+
cx: "70",
|
|
120
|
+
cy: "55",
|
|
121
|
+
r: "7",
|
|
122
|
+
fill: "var(--color-accent-primary)"
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ k("circle", {
|
|
125
|
+
cx: "70",
|
|
126
|
+
cy: "55",
|
|
127
|
+
r: "12",
|
|
128
|
+
fill: "var(--color-accent-primary)",
|
|
129
|
+
opacity: "0.18"
|
|
130
|
+
}),
|
|
131
|
+
/* @__PURE__ */ k("circle", {
|
|
132
|
+
cx: "300",
|
|
133
|
+
cy: "135",
|
|
134
|
+
r: "7",
|
|
135
|
+
fill: "var(--color-status-success-text)"
|
|
136
|
+
}),
|
|
137
|
+
/* @__PURE__ */ k("circle", {
|
|
138
|
+
cx: "300",
|
|
139
|
+
cy: "135",
|
|
140
|
+
r: "12",
|
|
141
|
+
fill: "var(--color-status-success-text)",
|
|
142
|
+
opacity: "0.18"
|
|
143
|
+
})
|
|
144
|
+
]
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ A("div", {
|
|
147
|
+
className: "pointer-events-none absolute left-3 top-3 flex items-center gap-1.5 rounded-md bg-bg-surface/85 px-2 py-1 backdrop-blur",
|
|
148
|
+
children: [/* @__PURE__ */ k(x, { className: "h-3.5 w-3.5 text-accent-primary" }), /* @__PURE__ */ k("span", {
|
|
149
|
+
className: "max-w-[9rem] truncate text-[11px] font-medium text-text-primary",
|
|
150
|
+
children: e
|
|
151
|
+
})]
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ A("div", {
|
|
154
|
+
className: "pointer-events-none absolute bottom-3 right-3 flex items-center gap-1.5 rounded-md bg-bg-surface/85 px-2 py-1 backdrop-blur",
|
|
155
|
+
children: [/* @__PURE__ */ k(y, { className: "h-3.5 w-3.5 text-status-success-text" }), /* @__PURE__ */ k("span", {
|
|
156
|
+
className: "max-w-[9rem] truncate text-[11px] font-medium text-text-primary",
|
|
157
|
+
children: t
|
|
158
|
+
})]
|
|
159
|
+
}),
|
|
160
|
+
/* @__PURE__ */ A("div", {
|
|
161
|
+
className: "flex items-center justify-between border-t border-border-subtle px-3 py-2",
|
|
162
|
+
children: [/* @__PURE__ */ k("span", {
|
|
163
|
+
className: "text-[11px] text-text-muted",
|
|
164
|
+
children: "Illustrative route · not to scale"
|
|
165
|
+
}), n != null && /* @__PURE__ */ A("span", {
|
|
166
|
+
className: "text-[11px] font-medium text-text-secondary tabular-nums",
|
|
167
|
+
children: [n, " km"]
|
|
168
|
+
})]
|
|
169
|
+
})
|
|
170
|
+
]
|
|
171
|
+
});
|
|
172
|
+
}
|
|
98
173
|
function V() {
|
|
99
|
-
let { taskId:
|
|
100
|
-
|
|
101
|
-
let e =
|
|
174
|
+
let { taskId: y } = O(), { navigateTo: x, currentUser: C } = e(), { data: E = [], isLoading: V } = o(C?.id ?? ""), H = a(), U = i(), [W, G] = p(null), [K, q] = p(""), [J, Y] = p(!1);
|
|
175
|
+
d(() => {
|
|
176
|
+
let e = E.find((e) => e.id === y);
|
|
102
177
|
if (e) {
|
|
103
|
-
let t =
|
|
104
|
-
|
|
105
|
-
} else
|
|
106
|
-
}, [
|
|
107
|
-
let
|
|
108
|
-
|
|
109
|
-
...
|
|
178
|
+
let t = L(e);
|
|
179
|
+
G(t), q(t.notes ?? "");
|
|
180
|
+
} else G(null);
|
|
181
|
+
}, [E, y]);
|
|
182
|
+
let X = () => {
|
|
183
|
+
W && (W.status === "pending" ? (G({
|
|
184
|
+
...W,
|
|
110
185
|
status: "in_progress"
|
|
111
|
-
}),
|
|
112
|
-
taskId:
|
|
186
|
+
}), H.mutate({
|
|
187
|
+
taskId: W.id,
|
|
113
188
|
status: "IN_PROGRESS"
|
|
114
|
-
}))
|
|
115
|
-
|
|
116
|
-
U && (W({
|
|
117
|
-
...U,
|
|
189
|
+
})) : W.status === "in_progress" && (G({
|
|
190
|
+
...W,
|
|
118
191
|
status: "completed"
|
|
119
|
-
}),
|
|
120
|
-
taskId:
|
|
192
|
+
}), H.mutate({
|
|
193
|
+
taskId: W.id,
|
|
121
194
|
status: "COMPLETED"
|
|
122
|
-
}));
|
|
195
|
+
})));
|
|
123
196
|
}, Z = () => {
|
|
124
|
-
|
|
125
|
-
}, Q = () => {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
U && (J(!1), H.mutate({
|
|
132
|
-
taskId: U.id,
|
|
133
|
-
notes: G
|
|
197
|
+
W?.customerInfo?.phone && (window.location.href = `tel:${W.customerInfo.phone.replace(/\s/g, "")}`);
|
|
198
|
+
}, Q = (e) => {
|
|
199
|
+
e && window.open(`https://maps.google.com?q=${encodeURIComponent(e)}`, "_blank");
|
|
200
|
+
}, $ = () => {
|
|
201
|
+
W && (Y(!1), U.mutate({
|
|
202
|
+
taskId: W.id,
|
|
203
|
+
notes: K
|
|
134
204
|
}, { onSuccess: () => {
|
|
135
|
-
|
|
205
|
+
G((e) => e && {
|
|
136
206
|
...e,
|
|
137
|
-
notes:
|
|
138
|
-
}),
|
|
207
|
+
notes: K
|
|
208
|
+
}), Y(!0);
|
|
139
209
|
} }));
|
|
140
|
-
},
|
|
141
|
-
|
|
210
|
+
}, ne = f(() => W ? [
|
|
211
|
+
{
|
|
212
|
+
title: "Task assigned",
|
|
213
|
+
time: W.assignedTime ? I(W.assignedTime) : void 0,
|
|
214
|
+
meta: W.assignedBy || void 0,
|
|
215
|
+
tone: "success"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
title: "Picked up",
|
|
219
|
+
time: W.status === "in_progress" || W.status === "completed" ? "Done" : void 0,
|
|
220
|
+
tone: W.status === "in_progress" || W.status === "completed" ? "success" : "muted"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
title: "Delivered",
|
|
224
|
+
time: W.status === "completed" ? W.completedAt ? I(W.completedAt) : "Done" : void 0,
|
|
225
|
+
tone: W.status === "completed" ? "success" : "muted"
|
|
226
|
+
}
|
|
227
|
+
] : [], [W]);
|
|
228
|
+
if (V) return /* @__PURE__ */ k(n, {
|
|
142
229
|
title: "Task Details",
|
|
143
|
-
children: /* @__PURE__ */
|
|
230
|
+
children: /* @__PURE__ */ k("div", {
|
|
144
231
|
className: "flex items-center justify-center py-24",
|
|
145
|
-
children: /* @__PURE__ */
|
|
232
|
+
children: /* @__PURE__ */ A("div", {
|
|
146
233
|
className: "text-center",
|
|
147
|
-
children: [/* @__PURE__ */
|
|
234
|
+
children: [/* @__PURE__ */ k(v, { className: "h-10 w-10 animate-spin text-text-secondary mx-auto mb-4" }), /* @__PURE__ */ k("p", {
|
|
148
235
|
className: "text-sm text-text-secondary",
|
|
149
236
|
children: "Loading task details..."
|
|
150
237
|
})]
|
|
151
238
|
})
|
|
152
239
|
})
|
|
153
240
|
});
|
|
154
|
-
if (!
|
|
241
|
+
if (!W) return /* @__PURE__ */ k(n, {
|
|
155
242
|
title: "Task Not Found",
|
|
156
|
-
children: /* @__PURE__ */
|
|
157
|
-
icon: /* @__PURE__ */
|
|
243
|
+
children: /* @__PURE__ */ k(r, {
|
|
244
|
+
icon: /* @__PURE__ */ k(g, { className: "h-12 w-12" }),
|
|
158
245
|
title: "Task not found",
|
|
159
|
-
description: `No task found with ID "${
|
|
160
|
-
action: /* @__PURE__ */
|
|
246
|
+
description: `No task found with ID "${y}".`,
|
|
247
|
+
action: /* @__PURE__ */ k("button", {
|
|
161
248
|
type: "button",
|
|
162
|
-
onClick: () =>
|
|
163
|
-
className: "rounded-lg bg-
|
|
249
|
+
onClick: () => x("/worker/orders"),
|
|
250
|
+
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg-hover transition-colors",
|
|
164
251
|
children: "View All Orders"
|
|
165
252
|
})
|
|
166
253
|
})
|
|
167
254
|
});
|
|
168
|
-
let
|
|
169
|
-
return /* @__PURE__ */
|
|
170
|
-
title: /* @__PURE__ */
|
|
171
|
-
className: "flex items-center gap-3",
|
|
172
|
-
children: [/* @__PURE__ */
|
|
255
|
+
let re = P(W.type), ie = N[W.type] ?? "Task", ae = W.cartName || "Pickup", oe = W.customerInfo.address || W.customerInfo.name || "Drop-off", se = W.status === "pending" ? "Mark Picked Up" : W.status === "in_progress" ? "Mark Delivered" : "Delivered";
|
|
256
|
+
return /* @__PURE__ */ A(n, {
|
|
257
|
+
title: /* @__PURE__ */ A("div", {
|
|
258
|
+
className: "flex items-center gap-3 min-w-0",
|
|
259
|
+
children: [/* @__PURE__ */ k("button", {
|
|
173
260
|
type: "button",
|
|
174
|
-
onClick: () =>
|
|
175
|
-
className: "rounded-md p-1 text-text-secondary hover:bg-
|
|
176
|
-
|
|
177
|
-
|
|
261
|
+
onClick: () => x("/worker/orders"),
|
|
262
|
+
className: "rounded-md p-1 text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors shrink-0",
|
|
263
|
+
"aria-label": "Back to orders",
|
|
264
|
+
children: /* @__PURE__ */ k(ee, { className: "h-5 w-5" })
|
|
265
|
+
}), /* @__PURE__ */ A("span", {
|
|
266
|
+
className: "truncate",
|
|
267
|
+
children: [ie, W.orderId ? /* @__PURE__ */ A("span", {
|
|
268
|
+
className: "text-text-secondary",
|
|
269
|
+
children: [" · #", W.orderId]
|
|
270
|
+
}) : null]
|
|
271
|
+
})]
|
|
178
272
|
}),
|
|
179
|
-
description: "
|
|
180
|
-
children: [
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
/* @__PURE__ */ j
|
|
186
|
-
|
|
187
|
-
className: "
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
/* @__PURE__ */ j
|
|
221
|
-
className: "
|
|
222
|
-
children: U.title
|
|
223
|
-
}),
|
|
224
|
-
/* @__PURE__ */ j("p", {
|
|
225
|
-
className: "text-sm text-text-secondary mt-1",
|
|
226
|
-
children: U.description
|
|
227
|
-
}),
|
|
228
|
-
/* @__PURE__ */ M("div", {
|
|
229
|
-
className: "flex flex-wrap items-center gap-2 mt-3",
|
|
273
|
+
description: "Everything you need to complete this delivery",
|
|
274
|
+
children: [/* @__PURE__ */ k(M, {
|
|
275
|
+
className: "mb-6",
|
|
276
|
+
children: "One delivery, start to finish. Reach the customer, follow the route, jot a note, and advance the job — mark it picked up, then delivered — so nothing gets missed and your completion stats stay strong."
|
|
277
|
+
}), /* @__PURE__ */ A("div", {
|
|
278
|
+
className: "space-y-6",
|
|
279
|
+
children: [/* @__PURE__ */ A(j, {
|
|
280
|
+
treatment: "metric",
|
|
281
|
+
className: "p-5",
|
|
282
|
+
children: [/* @__PURE__ */ A("div", {
|
|
283
|
+
className: "mb-4 flex flex-wrap items-center gap-2",
|
|
284
|
+
children: [
|
|
285
|
+
/* @__PURE__ */ k("span", {
|
|
286
|
+
className: "flex h-8 w-8 items-center justify-center rounded-lg bg-accent-primary/12 text-accent-primary",
|
|
287
|
+
children: /* @__PURE__ */ k(re, { className: "h-4.5 w-4.5" })
|
|
288
|
+
}),
|
|
289
|
+
/* @__PURE__ */ k("h2", {
|
|
290
|
+
className: "text-base font-semibold text-text-primary",
|
|
291
|
+
children: W.title
|
|
292
|
+
}),
|
|
293
|
+
/* @__PURE__ */ k("span", {
|
|
294
|
+
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium uppercase", F(W.priority)),
|
|
295
|
+
children: W.priority
|
|
296
|
+
})
|
|
297
|
+
]
|
|
298
|
+
}), /* @__PURE__ */ k(u, {
|
|
299
|
+
steps: R,
|
|
300
|
+
current: z(W.status)
|
|
301
|
+
})]
|
|
302
|
+
}), /* @__PURE__ */ A("div", {
|
|
303
|
+
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
304
|
+
children: [/* @__PURE__ */ A("div", {
|
|
305
|
+
className: "lg:col-span-2 space-y-6",
|
|
306
|
+
children: [
|
|
307
|
+
/* @__PURE__ */ k(B, {
|
|
308
|
+
pickupLabel: ae,
|
|
309
|
+
dropLabel: oe,
|
|
310
|
+
distance: W.distance
|
|
311
|
+
}),
|
|
312
|
+
/* @__PURE__ */ A("div", {
|
|
313
|
+
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
314
|
+
children: [/* @__PURE__ */ A(j, {
|
|
315
|
+
className: "p-5",
|
|
230
316
|
children: [
|
|
231
|
-
/* @__PURE__ */
|
|
232
|
-
className:
|
|
233
|
-
children:
|
|
317
|
+
/* @__PURE__ */ k("p", {
|
|
318
|
+
className: "text-xs font-medium uppercase tracking-wide text-text-muted",
|
|
319
|
+
children: "Pickup"
|
|
234
320
|
}),
|
|
235
|
-
/* @__PURE__ */
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
321
|
+
/* @__PURE__ */ k("p", {
|
|
322
|
+
className: "mt-1 text-sm font-semibold text-text-primary",
|
|
323
|
+
children: W.cartName
|
|
324
|
+
}),
|
|
325
|
+
W.location && /* @__PURE__ */ k("p", {
|
|
326
|
+
className: "mt-0.5 text-xs text-text-secondary",
|
|
327
|
+
children: W.location
|
|
328
|
+
}),
|
|
329
|
+
/* @__PURE__ */ k("div", {
|
|
330
|
+
className: "mt-4",
|
|
331
|
+
children: /* @__PURE__ */ A("button", {
|
|
332
|
+
type: "button",
|
|
333
|
+
onClick: () => Q(W.location || W.cartName),
|
|
334
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-border-default bg-bg-surface px-3 py-2 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
335
|
+
children: [/* @__PURE__ */ k(b, { className: "h-3.5 w-3.5" }), "Navigate"]
|
|
336
|
+
})
|
|
243
337
|
})
|
|
244
338
|
]
|
|
245
|
-
})
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
className: "flex items-center gap-2",
|
|
268
|
-
children: [/* @__PURE__ */ j(ne, { className: "h-4 w-4 text-status-warning-text shrink-0" }), /* @__PURE__ */ M("span", {
|
|
269
|
-
className: "text-xs font-medium text-status-warning-text",
|
|
270
|
-
children: ["Due by ", z(U.dueTime)]
|
|
271
|
-
})]
|
|
272
|
-
})
|
|
273
|
-
})] }), /* @__PURE__ */ M("div", {
|
|
274
|
-
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
275
|
-
children: [/* @__PURE__ */ M("div", {
|
|
276
|
-
className: "lg:col-span-2 space-y-6",
|
|
277
|
-
children: [
|
|
278
|
-
/* @__PURE__ */ M("div", {
|
|
279
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
|
|
280
|
-
children: [/* @__PURE__ */ j("h3", {
|
|
281
|
-
className: "text-base font-semibold text-text-primary mb-4",
|
|
282
|
-
children: "Customer Information"
|
|
283
|
-
}), /* @__PURE__ */ M("div", {
|
|
284
|
-
className: "grid grid-cols-1 md:grid-cols-2 gap-5",
|
|
285
|
-
children: [/* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("div", {
|
|
286
|
-
className: "space-y-3",
|
|
287
|
-
children: /* @__PURE__ */ M("div", {
|
|
288
|
-
className: "flex items-center gap-3",
|
|
289
|
-
children: [/* @__PURE__ */ j("div", {
|
|
290
|
-
className: "flex h-10 w-10 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
|
|
291
|
-
children: /* @__PURE__ */ j(re, { className: "h-5 w-5" })
|
|
292
|
-
}), /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
|
|
293
|
-
className: "text-sm font-medium text-text-primary",
|
|
294
|
-
children: U.customerInfo.name
|
|
295
|
-
}), /* @__PURE__ */ j("p", {
|
|
296
|
-
className: "text-xs text-text-secondary",
|
|
297
|
-
children: U.customerInfo.phone
|
|
298
|
-
})] })]
|
|
299
|
-
})
|
|
300
|
-
}), /* @__PURE__ */ M("div", {
|
|
301
|
-
className: "flex gap-2 mt-4",
|
|
302
|
-
children: [/* @__PURE__ */ M("button", {
|
|
339
|
+
}), /* @__PURE__ */ A(j, {
|
|
340
|
+
className: "p-5",
|
|
341
|
+
children: [
|
|
342
|
+
/* @__PURE__ */ k("p", {
|
|
343
|
+
className: "text-xs font-medium uppercase tracking-wide text-text-muted",
|
|
344
|
+
children: "Drop"
|
|
345
|
+
}),
|
|
346
|
+
/* @__PURE__ */ k("p", {
|
|
347
|
+
className: "mt-1 text-sm font-semibold text-text-primary",
|
|
348
|
+
children: W.customerInfo.name || "Customer"
|
|
349
|
+
}),
|
|
350
|
+
W.customerInfo.address && /* @__PURE__ */ k("p", {
|
|
351
|
+
className: "mt-0.5 text-xs text-text-secondary",
|
|
352
|
+
children: W.customerInfo.address
|
|
353
|
+
}),
|
|
354
|
+
W.customerInfo.phone && /* @__PURE__ */ k("p", {
|
|
355
|
+
className: "mt-0.5 text-xs text-text-secondary",
|
|
356
|
+
children: W.customerInfo.phone
|
|
357
|
+
}),
|
|
358
|
+
/* @__PURE__ */ A("div", {
|
|
359
|
+
className: "mt-4 flex gap-2",
|
|
360
|
+
children: [W.customerInfo.phone && /* @__PURE__ */ A("button", {
|
|
303
361
|
type: "button",
|
|
304
362
|
onClick: Z,
|
|
305
|
-
className: "inline-flex items-center gap-1.5 rounded-md bg-
|
|
306
|
-
children: [/* @__PURE__ */
|
|
307
|
-
}), /* @__PURE__ */
|
|
363
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-border-default bg-bg-surface px-3 py-2 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
364
|
+
children: [/* @__PURE__ */ k(S, { className: "h-3.5 w-3.5" }), "Call"]
|
|
365
|
+
}), W.customerInfo.address && /* @__PURE__ */ A("button", {
|
|
308
366
|
type: "button",
|
|
309
|
-
onClick: Q,
|
|
310
|
-
className: "inline-flex items-center gap-1.5 rounded-md bg-
|
|
311
|
-
children: [/* @__PURE__ */
|
|
367
|
+
onClick: () => Q(W.customerInfo.address),
|
|
368
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-border-default bg-bg-surface px-3 py-2 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
369
|
+
children: [/* @__PURE__ */ k(b, { className: "h-3.5 w-3.5" }), "Navigate"]
|
|
312
370
|
})]
|
|
313
|
-
})] }), /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
|
|
314
|
-
className: "text-xs text-text-secondary mb-2",
|
|
315
|
-
children: "Delivery Address"
|
|
316
|
-
}), /* @__PURE__ */ j("div", {
|
|
317
|
-
className: "rounded-md bg-bg-sunken/50 p-3",
|
|
318
|
-
children: /* @__PURE__ */ M("p", {
|
|
319
|
-
className: "text-xs text-text-primary flex items-start gap-2",
|
|
320
|
-
children: [/* @__PURE__ */ j(x, { className: "h-3.5 w-3.5 shrink-0 mt-0.5 text-text-secondary" }), U.customerInfo.address]
|
|
321
|
-
})
|
|
322
|
-
})] })]
|
|
323
|
-
})]
|
|
324
|
-
}),
|
|
325
|
-
U.orderItems.length > 0 && /* @__PURE__ */ M("div", {
|
|
326
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
|
|
327
|
-
children: [/* @__PURE__ */ j("h3", {
|
|
328
|
-
className: "text-base font-semibold text-text-primary mb-3",
|
|
329
|
-
children: "Order Items"
|
|
330
|
-
}), /* @__PURE__ */ j("div", {
|
|
331
|
-
className: "space-y-2",
|
|
332
|
-
children: U.orderItems.map((e, t) => /* @__PURE__ */ j("div", {
|
|
333
|
-
className: "flex items-start justify-between p-3 rounded-md bg-bg-sunken/50",
|
|
334
|
-
children: /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ M("p", {
|
|
335
|
-
className: "text-sm font-medium text-text-primary",
|
|
336
|
-
children: [
|
|
337
|
-
e.quantity,
|
|
338
|
-
"x ",
|
|
339
|
-
e.name
|
|
340
|
-
]
|
|
341
|
-
}), e.specialInstructions && /* @__PURE__ */ M("p", {
|
|
342
|
-
className: "text-xs text-text-secondary mt-0.5",
|
|
343
|
-
children: ["Note: ", e.specialInstructions]
|
|
344
|
-
})] })
|
|
345
|
-
}, t))
|
|
346
|
-
})]
|
|
347
|
-
}),
|
|
348
|
-
U.specialInstructions && /* @__PURE__ */ M("div", {
|
|
349
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
|
|
350
|
-
children: [/* @__PURE__ */ j("h3", {
|
|
351
|
-
className: "text-base font-semibold text-text-primary mb-3",
|
|
352
|
-
children: "Special Instructions"
|
|
353
|
-
}), /* @__PURE__ */ j("div", {
|
|
354
|
-
className: "rounded-md bg-status-warning-bg-subtle border border-status-warning-text/20 p-4",
|
|
355
|
-
children: /* @__PURE__ */ M("p", {
|
|
356
|
-
className: "text-sm text-status-warning-text flex items-start gap-2",
|
|
357
|
-
children: [/* @__PURE__ */ j(d, { className: "h-4 w-4 shrink-0 mt-0.5 text-status-warning-text" }), U.specialInstructions]
|
|
358
371
|
})
|
|
359
|
-
|
|
360
|
-
})
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
},
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
},
|
|
387
|
-
placeholder: "Add your notes about this task...",
|
|
388
|
-
rows: 4,
|
|
389
|
-
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-border-focus/40 resize-none"
|
|
390
|
-
}),
|
|
391
|
-
/* @__PURE__ */ M("div", {
|
|
392
|
-
className: "mt-3 flex items-center gap-3",
|
|
372
|
+
]
|
|
373
|
+
})]
|
|
374
|
+
}),
|
|
375
|
+
/* @__PURE__ */ k(j, {
|
|
376
|
+
treatment: "insight",
|
|
377
|
+
className: "p-5",
|
|
378
|
+
children: /* @__PURE__ */ A("div", {
|
|
379
|
+
className: "flex flex-wrap items-center justify-between gap-3",
|
|
380
|
+
children: [/* @__PURE__ */ A("div", {
|
|
381
|
+
className: "flex items-center gap-3",
|
|
382
|
+
children: [/* @__PURE__ */ k("span", {
|
|
383
|
+
className: "flex h-9 w-9 items-center justify-center rounded-lg bg-status-success-bg-subtle text-status-success-text",
|
|
384
|
+
children: /* @__PURE__ */ k(_, { className: "h-4.5 w-4.5" })
|
|
385
|
+
}), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("p", {
|
|
386
|
+
className: "text-xs text-text-secondary",
|
|
387
|
+
children: "You earn"
|
|
388
|
+
}), /* @__PURE__ */ k("p", {
|
|
389
|
+
className: "text-lg font-bold text-text-primary",
|
|
390
|
+
children: s(W.earnings, { minimumFractionDigits: 0 })
|
|
391
|
+
})] })]
|
|
392
|
+
}), /* @__PURE__ */ A("div", {
|
|
393
|
+
className: "flex flex-wrap items-center gap-4 text-sm",
|
|
394
|
+
children: [/* @__PURE__ */ A("span", {
|
|
395
|
+
className: "flex items-center gap-1.5 text-text-secondary",
|
|
396
|
+
children: [/* @__PURE__ */ k(w, { className: "h-4 w-4" }), W.cartName]
|
|
397
|
+
}), W.dueTime && /* @__PURE__ */ A("span", {
|
|
398
|
+
className: "flex items-center gap-1.5 text-text-secondary",
|
|
393
399
|
children: [
|
|
394
|
-
/* @__PURE__ */
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
disabled: H.isPending,
|
|
398
|
-
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 disabled:opacity-50",
|
|
399
|
-
children: [H.isPending ? /* @__PURE__ */ j(b, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ j(E, { className: "h-3.5 w-3.5" }), H.isPending ? "Saving..." : "Save Notes"]
|
|
400
|
-
}),
|
|
401
|
-
q && !H.isPending && /* @__PURE__ */ j("span", {
|
|
402
|
-
className: "text-xs text-status-success-text",
|
|
403
|
-
children: "Notes saved"
|
|
404
|
-
}),
|
|
405
|
-
H.isError && /* @__PURE__ */ j("span", {
|
|
406
|
-
className: "text-xs text-status-error-text",
|
|
407
|
-
children: "Couldn't save — try again"
|
|
408
|
-
})
|
|
400
|
+
/* @__PURE__ */ k(h, { className: "h-4 w-4" }),
|
|
401
|
+
"Due ",
|
|
402
|
+
I(W.dueTime)
|
|
409
403
|
]
|
|
410
|
-
})
|
|
411
|
-
]
|
|
404
|
+
})]
|
|
405
|
+
})]
|
|
406
|
+
})
|
|
407
|
+
}),
|
|
408
|
+
W.specialInstructions && /* @__PURE__ */ k("div", {
|
|
409
|
+
className: "rounded-[var(--radius-card)] border border-status-warning-text/20 bg-status-warning-bg-subtle p-4",
|
|
410
|
+
children: /* @__PURE__ */ A("p", {
|
|
411
|
+
className: "text-sm text-status-warning-text flex items-start gap-2",
|
|
412
|
+
children: [/* @__PURE__ */ k(m, { className: "h-4 w-4 shrink-0 mt-0.5" }), W.specialInstructions]
|
|
412
413
|
})
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
414
|
+
}),
|
|
415
|
+
/* @__PURE__ */ A(j, {
|
|
416
|
+
className: "p-5",
|
|
417
|
+
children: [
|
|
418
|
+
/* @__PURE__ */ A("h3", {
|
|
419
|
+
className: "mb-3 flex items-center gap-2 text-sm font-semibold text-text-primary",
|
|
420
|
+
children: [/* @__PURE__ */ k(T, { className: "h-4 w-4 text-text-secondary" }), "Delivery note"]
|
|
421
|
+
}),
|
|
422
|
+
/* @__PURE__ */ k("textarea", {
|
|
423
|
+
value: K,
|
|
424
|
+
onChange: (e) => {
|
|
425
|
+
q(e.target.value), Y(!1);
|
|
426
|
+
},
|
|
427
|
+
placeholder: "Add a delivery note...",
|
|
428
|
+
rows: 3,
|
|
429
|
+
className: "w-full resize-none rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-border-focus/40"
|
|
430
|
+
}),
|
|
431
|
+
/* @__PURE__ */ A("div", {
|
|
432
|
+
className: "mt-3 flex items-center gap-3",
|
|
424
433
|
children: [
|
|
425
|
-
/* @__PURE__ */
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
})
|
|
431
|
-
className: "text-sm font-medium font-mono text-text-primary",
|
|
432
|
-
children: U.orderId
|
|
433
|
-
})] })]
|
|
434
|
-
}),
|
|
435
|
-
/* @__PURE__ */ M("div", {
|
|
436
|
-
className: "flex items-center gap-2",
|
|
437
|
-
children: [/* @__PURE__ */ j(D, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
|
|
438
|
-
className: "text-xs text-text-secondary",
|
|
439
|
-
children: "Cart"
|
|
440
|
-
}), /* @__PURE__ */ j("p", {
|
|
441
|
-
className: "text-sm font-medium text-text-primary",
|
|
442
|
-
children: U.cartName
|
|
443
|
-
})] })]
|
|
444
|
-
}),
|
|
445
|
-
U.dueTime && /* @__PURE__ */ M("div", {
|
|
446
|
-
className: "flex items-center gap-2",
|
|
447
|
-
children: [/* @__PURE__ */ j(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
|
|
448
|
-
className: "text-xs text-text-secondary",
|
|
449
|
-
children: "Due At"
|
|
450
|
-
}), /* @__PURE__ */ j("p", {
|
|
451
|
-
className: "text-sm text-text-primary",
|
|
452
|
-
children: s(U.dueTime)
|
|
453
|
-
})] })]
|
|
454
|
-
}),
|
|
455
|
-
/* @__PURE__ */ M("div", {
|
|
456
|
-
className: "flex items-center gap-2",
|
|
457
|
-
children: [/* @__PURE__ */ j(te, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ M("div", { children: [/* @__PURE__ */ j("p", {
|
|
458
|
-
className: "text-xs text-text-secondary",
|
|
459
|
-
children: "Earnings"
|
|
460
|
-
}), /* @__PURE__ */ j("p", {
|
|
461
|
-
className: "text-sm font-medium text-status-success-text",
|
|
462
|
-
children: ee(U.earnings, { minimumFractionDigits: 0 })
|
|
463
|
-
})] })]
|
|
434
|
+
/* @__PURE__ */ A("button", {
|
|
435
|
+
type: "button",
|
|
436
|
+
onClick: $,
|
|
437
|
+
disabled: U.isPending,
|
|
438
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-border-default bg-bg-surface px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors disabled:opacity-50",
|
|
439
|
+
children: [U.isPending ? /* @__PURE__ */ k(v, { className: "h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ k(T, { className: "h-3.5 w-3.5" }), U.isPending ? "Saving..." : "Save note"]
|
|
464
440
|
}),
|
|
465
|
-
U.
|
|
466
|
-
className: "
|
|
467
|
-
children:
|
|
468
|
-
className: "text-xs text-text-secondary",
|
|
469
|
-
children: "Distance"
|
|
470
|
-
}), /* @__PURE__ */ M("p", {
|
|
471
|
-
className: "text-sm text-text-primary",
|
|
472
|
-
children: [U.distance, " km"]
|
|
473
|
-
})] })]
|
|
441
|
+
J && !U.isPending && /* @__PURE__ */ k("span", {
|
|
442
|
+
className: "text-xs text-status-success-text",
|
|
443
|
+
children: "Note saved"
|
|
474
444
|
}),
|
|
475
|
-
U.
|
|
476
|
-
className: "
|
|
477
|
-
children:
|
|
478
|
-
className: "text-xs text-text-secondary",
|
|
479
|
-
children: "Assigned At"
|
|
480
|
-
}), /* @__PURE__ */ j("p", {
|
|
481
|
-
className: "text-sm text-text-primary",
|
|
482
|
-
children: s(U.assignedTime)
|
|
483
|
-
})] })]
|
|
445
|
+
U.isError && /* @__PURE__ */ k("span", {
|
|
446
|
+
className: "text-xs text-status-error-text",
|
|
447
|
+
children: "Couldn't save — retry"
|
|
484
448
|
})
|
|
485
449
|
]
|
|
486
|
-
})
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
450
|
+
})
|
|
451
|
+
]
|
|
452
|
+
}),
|
|
453
|
+
/* @__PURE__ */ A("button", {
|
|
454
|
+
type: "button",
|
|
455
|
+
onClick: X,
|
|
456
|
+
disabled: W.status === "completed" || H.isPending,
|
|
457
|
+
className: t("w-full inline-flex items-center justify-center gap-2 rounded-[var(--radius-card)] px-4 py-3.5 text-base font-semibold transition-colors", W.status === "completed" ? "bg-status-success-bg-subtle text-status-success-text cursor-default" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover disabled:opacity-60"),
|
|
458
|
+
children: [H.isPending ? /* @__PURE__ */ k(v, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ k(te, { className: "h-5 w-5" }), se]
|
|
459
|
+
})
|
|
460
|
+
]
|
|
461
|
+
}), /* @__PURE__ */ A("div", {
|
|
462
|
+
className: "space-y-6",
|
|
463
|
+
children: [/* @__PURE__ */ A(j, {
|
|
464
|
+
className: "p-5",
|
|
465
|
+
children: [/* @__PURE__ */ k("h3", {
|
|
466
|
+
className: "mb-3 text-sm font-semibold text-text-primary",
|
|
467
|
+
children: "Delivery timeline"
|
|
468
|
+
}), /* @__PURE__ */ k(l, { items: ne })]
|
|
469
|
+
}), /* @__PURE__ */ A(j, {
|
|
470
|
+
className: "p-5",
|
|
471
|
+
children: [/* @__PURE__ */ k("h3", {
|
|
472
|
+
className: "mb-3 text-sm font-semibold text-text-primary",
|
|
473
|
+
children: "Job details"
|
|
474
|
+
}), /* @__PURE__ */ A("dl", {
|
|
475
|
+
className: "space-y-3 text-sm",
|
|
476
|
+
children: [
|
|
477
|
+
W.orderId && /* @__PURE__ */ A("div", {
|
|
478
|
+
className: "flex items-center gap-2",
|
|
479
|
+
children: [/* @__PURE__ */ k(g, { className: "h-4 w-4 text-text-secondary shrink-0" }), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("dt", {
|
|
480
|
+
className: "text-xs text-text-secondary",
|
|
481
|
+
children: "Order ID"
|
|
482
|
+
}), /* @__PURE__ */ k("dd", {
|
|
483
|
+
className: "font-mono font-medium text-text-primary",
|
|
484
|
+
children: W.orderId
|
|
485
|
+
})] })]
|
|
486
|
+
}),
|
|
487
|
+
W.customerInfo.name && /* @__PURE__ */ A("div", {
|
|
488
|
+
className: "flex items-center gap-2",
|
|
489
|
+
children: [/* @__PURE__ */ k(D, { className: "h-4 w-4 text-text-secondary shrink-0" }), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("dt", {
|
|
490
|
+
className: "text-xs text-text-secondary",
|
|
491
|
+
children: "Customer"
|
|
492
|
+
}), /* @__PURE__ */ k("dd", {
|
|
493
|
+
className: "font-medium text-text-primary",
|
|
494
|
+
children: W.customerInfo.name
|
|
495
|
+
})] })]
|
|
496
|
+
}),
|
|
497
|
+
W.distance != null && /* @__PURE__ */ A("div", {
|
|
498
|
+
className: "flex items-center gap-2",
|
|
499
|
+
children: [/* @__PURE__ */ k(b, { className: "h-4 w-4 text-text-secondary shrink-0" }), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("dt", {
|
|
500
|
+
className: "text-xs text-text-secondary",
|
|
501
|
+
children: "Distance"
|
|
502
|
+
}), /* @__PURE__ */ A("dd", {
|
|
503
|
+
className: "font-medium text-text-primary",
|
|
504
|
+
children: [W.distance, " km"]
|
|
505
|
+
})] })]
|
|
506
|
+
}),
|
|
507
|
+
W.assignedTime && /* @__PURE__ */ A("div", {
|
|
508
|
+
className: "flex items-center gap-2",
|
|
509
|
+
children: [/* @__PURE__ */ k(h, { className: "h-4 w-4 text-text-secondary shrink-0" }), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("dt", {
|
|
510
|
+
className: "text-xs text-text-secondary",
|
|
511
|
+
children: "Assigned"
|
|
512
|
+
}), /* @__PURE__ */ k("dd", {
|
|
513
|
+
className: "font-medium text-text-primary",
|
|
514
|
+
children: c(W.assignedTime)
|
|
515
|
+
})] })]
|
|
516
|
+
})
|
|
517
|
+
]
|
|
518
|
+
})]
|
|
543
519
|
})]
|
|
544
520
|
})]
|
|
545
|
-
})
|
|
546
|
-
]
|
|
521
|
+
})]
|
|
522
|
+
})]
|
|
547
523
|
});
|
|
548
524
|
}
|
|
549
525
|
//#endregion
|