@burdenoff/microfe-subscriberbot 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.
Files changed (91) hide show
  1. package/dist/subscriberbot/pages/HomePage.js +19 -14
  2. package/dist/subscriberbot/pages/HomePage.js.map +1 -1
  3. package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +66 -60
  4. package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/subscriberbot/pages/admin/AdminDashboard.js +83 -44
  6. package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +38 -32
  8. package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +226 -221
  10. package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/subscriberbot/pages/admin/AdminProfilePage.js +127 -125
  12. package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +235 -230
  14. package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/subscriberbot/pages/admin/CartManagementPage.js +267 -262
  16. package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
  17. package/dist/subscriberbot/pages/admin/UserManagementPage.js +267 -262
  18. package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
  19. package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +46 -41
  20. package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  21. package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +257 -252
  22. package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  23. package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +231 -194
  24. package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  25. package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +167 -162
  26. package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  27. package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +128 -126
  28. package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  29. package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +297 -300
  30. package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  31. package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +220 -223
  32. package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
  33. package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +250 -245
  34. package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
  35. package/dist/subscriberbot/pages/common/HelpSupportPage.js +94 -96
  36. package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
  37. package/dist/subscriberbot/pages/common/NotificationCenterPage.js +48 -42
  38. package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
  39. package/dist/subscriberbot/pages/common/SettingsPage.js +745 -736
  40. package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
  41. package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +353 -321
  42. package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
  43. package/dist/subscriberbot/pages/customer/CartDetailPage.js +258 -225
  44. package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
  45. package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +82 -76
  46. package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
  47. package/dist/subscriberbot/pages/customer/CheckoutPage.js +212 -215
  48. package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
  49. package/dist/subscriberbot/pages/customer/CustomerDashboard.js +416 -381
  50. package/dist/subscriberbot/pages/customer/CustomerDashboard.js.map +1 -1
  51. package/dist/subscriberbot/pages/customer/CustomerProfilePage.js +488 -479
  52. package/dist/subscriberbot/pages/customer/CustomerProfilePage.js.map +1 -1
  53. package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js +521 -512
  54. package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
  55. package/dist/subscriberbot/pages/customer/FavoritesPage.js +57 -51
  56. package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
  57. package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +56 -50
  58. package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
  59. package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +65 -60
  60. package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
  61. package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +79 -73
  62. package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
  63. package/dist/subscriberbot/pages/customer/ReviewsPage.js +68 -62
  64. package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
  65. package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +60 -54
  66. package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
  67. package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +292 -255
  68. package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
  69. package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +237 -231
  70. package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  71. package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +60 -54
  72. package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  73. package/dist/subscriberbot/pages/investor/InvestorDashboard.js +350 -319
  74. package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
  75. package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +106 -100
  76. package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  77. package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +51 -45
  78. package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
  79. package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +387 -382
  80. package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
  81. package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +320 -282
  82. package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
  83. package/dist/subscriberbot/pages/worker/WorkerDashboard.js +92 -61
  84. package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
  85. package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +82 -77
  86. package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
  87. package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +82 -77
  88. package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
  89. package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +348 -340
  90. package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js.map +1 -1
  91. package/package.json +3 -3
@@ -3,24 +3,25 @@ import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { StatusBadge as r } from "../../components/StatusBadge.js";
5
5
  import { EmptyState as i } from "../../components/EmptyState.js";
6
- import { formatCurrency as a, formatDate as o } from "../../utils/formatters.js";
7
- import { useCallback as s, useEffect as c, useMemo as l, useState as u } from "react";
8
- import { AlertTriangle as d, ArrowLeft as f, Boxes as p, Camera as m, CheckCircle2 as h, ChefHat as g, Circle as _, Clock as v, FileText as y, IndianRupee as b, Loader2 as x, MapPin as S, Navigation as C, Package as w, Phone as T, PlayCircle as E, Save as D, ShoppingBag as O, Sparkles as k, StickyNote as A, Timer as j, Truck as M, User as N } from "lucide-react";
6
+ import { formatCurrency as ee, formatDate as a } from "../../utils/formatters.js";
7
+ import { useCallback as o, useEffect as s, useMemo as c, useState as l } from "react";
8
+ import { AlertTriangle as u, ArrowLeft as d, Boxes as f, Camera as p, CheckCircle2 as m, ChefHat as h, Circle as g, ClipboardList as _, Clock as v, FileText as y, IndianRupee as b, Loader2 as x, MapPin as S, Navigation as C, Package as w, Phone as T, PlayCircle as E, Save as D, ShoppingBag as O, Sparkles as k, StickyNote as A, Timer as j, Truck as M, User as N } from "lucide-react";
9
9
  import { useParams as P } from "react-router-dom";
10
10
  import { jsx as F, jsxs as I } from "react/jsx-runtime";
11
+ import { EmphasisPanel as L, NextSteps as R, PagePurpose as z } from "@burdenoff/fe-libs/ui";
11
12
  //#region src/subscriberbot/pages/worker/TaskDetailsPage.tsx
12
- function L(e) {
13
+ function B(e) {
13
14
  switch (e) {
14
15
  case "delivery": return M;
15
- case "preparation": return g;
16
- case "inventory": return p;
16
+ case "preparation": return h;
17
+ case "inventory": return f;
17
18
  case "cleanup": return k;
18
19
  case "pickup": return O;
19
20
  case "service": return w;
20
21
  default: return y;
21
22
  }
22
23
  }
23
- function R(e) {
24
+ function V(e) {
24
25
  switch (e) {
25
26
  case "urgent": return "bg-status-error-bg/20 text-status-error-text";
26
27
  case "high": return "bg-status-warning-bg/20 text-status-warning-text";
@@ -29,7 +30,7 @@ function R(e) {
29
30
  default: return "bg-secondary text-secondary-foreground";
30
31
  }
31
32
  }
32
- function z(e) {
33
+ function H(e) {
33
34
  let t = e.assignedTime, n = e.status === "in_progress" || e.status === "completed" ? new Date(new Date(t).getTime() + 15 * 6e4).toISOString() : null, r = e.status === "completed" ? (/* @__PURE__ */ new Date()).toISOString() : null;
34
35
  return [
35
36
  {
@@ -52,18 +53,18 @@ function z(e) {
52
53
  }
53
54
  ];
54
55
  }
55
- function B(e) {
56
+ function U(e) {
56
57
  return new Date(e).toLocaleTimeString("en-IN", {
57
58
  hour: "numeric",
58
59
  minute: "2-digit",
59
60
  hour12: !0
60
61
  });
61
62
  }
62
- function V() {
63
- let { taskId: p } = P(), { navigateTo: g } = e(), [w, k] = u(null), [M, V] = u(!0), [H, U] = u(""), W = s(() => {
64
- V(!0), setTimeout(() => {
63
+ function W() {
64
+ let { taskId: f } = P(), { navigateTo: h } = e(), [w, k] = l(null), [M, W] = l(!0), [G, K] = l(""), q = o(() => {
65
+ W(!0), setTimeout(() => {
65
66
  let e = {
66
- id: p || "TASK-001",
67
+ id: f || "TASK-001",
67
68
  orderId: "ORD-123",
68
69
  cartId: "cart-001",
69
70
  cartName: "South Indian Express",
@@ -97,35 +98,35 @@ function V() {
97
98
  photos: ["https://images.unsplash.com/photo-1630384060421-cb20d0e0649d?w=400", "https://images.unsplash.com/photo-1572802419224-296b0aeee0d9?w=400"],
98
99
  notes: ""
99
100
  };
100
- k(e), U(e.notes || ""), V(!1);
101
+ k(e), K(e.notes || ""), W(!1);
101
102
  }, 600);
102
- }, [p]);
103
- c(() => {
104
- W();
105
- }, [W]);
106
- let G = () => {
103
+ }, [f]);
104
+ s(() => {
105
+ q();
106
+ }, [q]);
107
+ let J = () => {
107
108
  w && (k({
108
109
  ...w,
109
110
  status: "in_progress"
110
111
  }), alert("Task started successfully"));
111
- }, K = () => {
112
+ }, Y = () => {
112
113
  w && (k({
113
114
  ...w,
114
115
  status: "completed"
115
116
  }), alert("Task completed successfully"));
116
- }, q = () => {
117
+ }, X = () => {
117
118
  w?.customerInfo?.phone && (window.location.href = `tel:${w.customerInfo.phone.replace(/\s/g, "")}`);
118
- }, J = () => {
119
+ }, Z = () => {
119
120
  if (w?.customerInfo?.address) {
120
121
  let e = encodeURIComponent(w.customerInfo.address);
121
122
  window.open(`https://maps.google.com?q=${e}`, "_blank");
122
123
  }
123
- }, Y = () => {
124
+ }, Q = () => {
124
125
  w && (k({
125
126
  ...w,
126
- notes: H
127
+ notes: G
127
128
  }), alert("Notes saved successfully"));
128
- }, X = l(() => w ? z(w) : [], [w]);
129
+ }, $ = c(() => w ? H(w) : [], [w]);
129
130
  if (M) return /* @__PURE__ */ F(n, {
130
131
  title: "Task Details",
131
132
  children: /* @__PURE__ */ F("div", {
@@ -145,38 +146,74 @@ function V() {
145
146
  illustration: "empty-generic",
146
147
  icon: /* @__PURE__ */ F(y, { className: "h-12 w-12" }),
147
148
  title: "Task not found",
148
- description: `No task found with ID "${p}".`,
149
+ description: `No task found with ID "${f}".`,
149
150
  action: /* @__PURE__ */ F("button", {
150
151
  type: "button",
151
- onClick: () => g("/worker/orders"),
152
+ onClick: () => h("/worker/orders"),
152
153
  className: "rounded-lg bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
153
154
  children: "View All Orders"
154
155
  })
155
156
  })
156
157
  });
157
- let Z = L(w.type);
158
+ let te = B(w.type);
158
159
  return /* @__PURE__ */ F(n, {
159
160
  title: /* @__PURE__ */ I("div", {
160
161
  className: "flex items-center gap-3",
161
162
  children: [/* @__PURE__ */ F("button", {
162
163
  type: "button",
163
- onClick: () => g("/worker/orders"),
164
+ onClick: () => h("/worker/orders"),
164
165
  className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
165
- children: /* @__PURE__ */ F(f, { className: "h-5 w-5" })
166
+ children: /* @__PURE__ */ F(d, { className: "h-5 w-5" })
166
167
  }), /* @__PURE__ */ F("span", { children: "Task Details" })]
167
168
  }),
168
169
  description: "Manage and track your assigned task",
169
170
  children: /* @__PURE__ */ I("div", {
170
171
  className: "space-y-6",
171
- children: [/* @__PURE__ */ I("div", {
172
- className: "rounded-lg border border-border-seam bg-bg-surface p-6 shadow-sm",
173
- children: [/* @__PURE__ */ I("div", {
172
+ children: [
173
+ /* @__PURE__ */ F(z, {
174
+ icon: /* @__PURE__ */ F(_, { className: "h-4 w-4" }),
175
+ children: "Everything you need to complete one assigned task. See what's being asked, where to go and who to contact, then work it through its stages — start it when you begin, log notes as you go, and mark it complete when you're done. Keeping the status current lets the customer and your cart owner track progress in real time."
176
+ }),
177
+ /* @__PURE__ */ F(R, {
178
+ storageKey: "subscriberbot-task-details",
179
+ steps: [
180
+ {
181
+ id: "start-task",
182
+ label: "Start this task",
183
+ description: "Mark it in progress so everyone knows you are on it.",
184
+ icon: /* @__PURE__ */ F(E, { className: "h-4 w-4" }),
185
+ onClick: J
186
+ },
187
+ {
188
+ id: "navigate",
189
+ label: "Navigate to the location",
190
+ description: "Get directions to the customer or pickup point.",
191
+ icon: /* @__PURE__ */ F(C, { className: "h-4 w-4" }),
192
+ onClick: Z
193
+ },
194
+ {
195
+ id: "call-customer",
196
+ label: "Call the customer",
197
+ description: "Confirm details or let them know your ETA.",
198
+ icon: /* @__PURE__ */ F(T, { className: "h-4 w-4" }),
199
+ onClick: X
200
+ },
201
+ {
202
+ id: "complete-task",
203
+ label: "Mark it complete",
204
+ description: "Wrap up and log the task once finished.",
205
+ icon: /* @__PURE__ */ F(m, { className: "h-4 w-4" }),
206
+ onClick: Y
207
+ }
208
+ ]
209
+ }),
210
+ /* @__PURE__ */ I(L, { children: [/* @__PURE__ */ I("div", {
174
211
  className: "flex items-start justify-between mb-4",
175
212
  children: [/* @__PURE__ */ I("div", {
176
213
  className: "flex items-start gap-3",
177
214
  children: [/* @__PURE__ */ F("div", {
178
215
  className: "flex h-10 w-10 items-center justify-center rounded-lg bg-bg-sunken",
179
- children: /* @__PURE__ */ F(Z, { className: "h-5 w-5 text-text-secondary" })
216
+ children: /* @__PURE__ */ F(te, { className: "h-5 w-5 text-text-secondary" })
180
217
  }), /* @__PURE__ */ I("div", { children: [
181
218
  /* @__PURE__ */ F("h2", {
182
219
  className: "text-xl font-bold text-text-primary",
@@ -190,7 +227,7 @@ function V() {
190
227
  className: "flex flex-wrap items-center gap-2 mt-3",
191
228
  children: [
192
229
  /* @__PURE__ */ F("span", {
193
- className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium uppercase", R(w.priority)),
230
+ className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium uppercase", V(w.priority)),
194
231
  children: w.priority
195
232
  }),
196
233
  /* @__PURE__ */ F(r, { status: w.status }),
@@ -218,7 +255,7 @@ function V() {
218
255
  }),
219
256
  /* @__PURE__ */ F("p", {
220
257
  className: "text-xs text-text-secondary mt-1",
221
- children: B(w.assignedTime)
258
+ children: U(w.assignedTime)
222
259
  })
223
260
  ]
224
261
  })]
@@ -228,270 +265,271 @@ function V() {
228
265
  className: "flex items-center gap-2",
229
266
  children: [/* @__PURE__ */ F(j, { className: "h-4 w-4 text-status-warning-text shrink-0" }), /* @__PURE__ */ I("span", {
230
267
  className: "text-xs font-medium text-status-warning-text",
231
- children: ["Due by ", B(w.dueTime)]
268
+ children: ["Due by ", U(w.dueTime)]
232
269
  })]
233
270
  })
234
- })]
235
- }), /* @__PURE__ */ I("div", {
236
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
237
- children: [/* @__PURE__ */ I("div", {
238
- className: "lg:col-span-2 space-y-6",
239
- children: [
240
- /* @__PURE__ */ I("div", {
241
- className: "rounded-lg border border-border-seam bg-bg-surface p-6",
242
- children: [/* @__PURE__ */ F("h3", {
243
- className: "text-base font-semibold text-text-primary mb-4",
244
- children: "Customer Information"
245
- }), /* @__PURE__ */ I("div", {
246
- className: "grid grid-cols-1 md:grid-cols-2 gap-5",
247
- children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("div", {
248
- className: "space-y-3",
249
- children: /* @__PURE__ */ I("div", {
250
- className: "flex items-center gap-3",
251
- children: [/* @__PURE__ */ F("div", {
252
- className: "flex h-10 w-10 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
253
- children: /* @__PURE__ */ F(N, { className: "h-5 w-5" })
254
- }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
255
- className: "text-sm font-medium text-text-primary",
256
- children: w.customerInfo.name
257
- }), /* @__PURE__ */ F("p", {
258
- className: "text-xs text-text-secondary",
259
- children: w.customerInfo.phone
260
- })] })]
261
- })
271
+ })] }),
272
+ /* @__PURE__ */ I("div", {
273
+ className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
274
+ children: [/* @__PURE__ */ I("div", {
275
+ className: "lg:col-span-2 space-y-6",
276
+ children: [
277
+ /* @__PURE__ */ I("div", {
278
+ className: "rounded-lg border border-border-seam bg-bg-surface p-6",
279
+ children: [/* @__PURE__ */ F("h3", {
280
+ className: "text-base font-semibold text-text-primary mb-4",
281
+ children: "Customer Information"
262
282
  }), /* @__PURE__ */ I("div", {
263
- className: "flex gap-2 mt-4",
264
- children: [/* @__PURE__ */ I("button", {
265
- type: "button",
266
- onClick: q,
267
- 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",
268
- children: [/* @__PURE__ */ F(T, { className: "h-3.5 w-3.5" }), "Call Customer"]
269
- }), /* @__PURE__ */ I("button", {
270
- type: "button",
271
- onClick: J,
272
- 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",
273
- children: [/* @__PURE__ */ F(C, { className: "h-3.5 w-3.5" }), "Navigate"]
274
- })]
275
- })] }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
276
- className: "text-xs text-text-secondary mb-2",
277
- children: "Delivery Address"
283
+ className: "grid grid-cols-1 md:grid-cols-2 gap-5",
284
+ children: [/* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("div", {
285
+ className: "space-y-3",
286
+ children: /* @__PURE__ */ I("div", {
287
+ className: "flex items-center gap-3",
288
+ children: [/* @__PURE__ */ F("div", {
289
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
290
+ children: /* @__PURE__ */ F(N, { className: "h-5 w-5" })
291
+ }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
292
+ className: "text-sm font-medium text-text-primary",
293
+ children: w.customerInfo.name
294
+ }), /* @__PURE__ */ F("p", {
295
+ className: "text-xs text-text-secondary",
296
+ children: w.customerInfo.phone
297
+ })] })]
298
+ })
299
+ }), /* @__PURE__ */ I("div", {
300
+ className: "flex gap-2 mt-4",
301
+ children: [/* @__PURE__ */ I("button", {
302
+ type: "button",
303
+ onClick: X,
304
+ 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",
305
+ children: [/* @__PURE__ */ F(T, { className: "h-3.5 w-3.5" }), "Call Customer"]
306
+ }), /* @__PURE__ */ I("button", {
307
+ type: "button",
308
+ onClick: Z,
309
+ 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",
310
+ children: [/* @__PURE__ */ F(C, { className: "h-3.5 w-3.5" }), "Navigate"]
311
+ })]
312
+ })] }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
313
+ className: "text-xs text-text-secondary mb-2",
314
+ children: "Delivery Address"
315
+ }), /* @__PURE__ */ F("div", {
316
+ className: "rounded-md bg-bg-sunken/50 p-3",
317
+ children: /* @__PURE__ */ I("p", {
318
+ className: "text-xs text-text-primary flex items-start gap-2",
319
+ children: [/* @__PURE__ */ F(S, { className: "h-3.5 w-3.5 shrink-0 mt-0.5 text-text-secondary" }), w.customerInfo.address]
320
+ })
321
+ })] })]
322
+ })]
323
+ }),
324
+ w.orderItems.length > 0 && /* @__PURE__ */ I("div", {
325
+ className: "rounded-lg border border-border-seam bg-bg-surface p-6",
326
+ children: [/* @__PURE__ */ F("h3", {
327
+ className: "text-base font-semibold text-text-primary mb-3",
328
+ children: "Order Items"
329
+ }), /* @__PURE__ */ F("div", {
330
+ className: "space-y-2",
331
+ children: w.orderItems.map((e, t) => /* @__PURE__ */ F("div", {
332
+ className: "flex items-start justify-between p-3 rounded-md bg-bg-sunken/50",
333
+ children: /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ I("p", {
334
+ className: "text-sm font-medium text-text-primary",
335
+ children: [
336
+ e.quantity,
337
+ "x ",
338
+ e.name
339
+ ]
340
+ }), e.specialInstructions && /* @__PURE__ */ I("p", {
341
+ className: "text-xs text-text-secondary mt-0.5",
342
+ children: ["Note: ", e.specialInstructions]
343
+ })] })
344
+ }, t))
345
+ })]
346
+ }),
347
+ w.specialInstructions && /* @__PURE__ */ I("div", {
348
+ className: "rounded-lg border border-border-seam bg-bg-surface p-6",
349
+ children: [/* @__PURE__ */ F("h3", {
350
+ className: "text-base font-semibold text-text-primary mb-3",
351
+ children: "Special Instructions"
278
352
  }), /* @__PURE__ */ F("div", {
279
- className: "rounded-md bg-bg-sunken/50 p-3",
353
+ className: "rounded-md bg-status-warning-bg/10 border border-status-warning-border/20 p-4",
280
354
  children: /* @__PURE__ */ I("p", {
281
- className: "text-xs text-text-primary flex items-start gap-2",
282
- children: [/* @__PURE__ */ F(S, { className: "h-3.5 w-3.5 shrink-0 mt-0.5 text-text-secondary" }), w.customerInfo.address]
355
+ className: "text-sm text-status-warning-text flex items-start gap-2",
356
+ children: [/* @__PURE__ */ F(u, { className: "h-4 w-4 shrink-0 mt-0.5 text-status-warning-text" }), w.specialInstructions]
283
357
  })
284
- })] })]
285
- })]
286
- }),
287
- w.orderItems.length > 0 && /* @__PURE__ */ I("div", {
288
- className: "rounded-lg border border-border-seam bg-bg-surface p-6",
289
- children: [/* @__PURE__ */ F("h3", {
290
- className: "text-base font-semibold text-text-primary mb-3",
291
- children: "Order Items"
292
- }), /* @__PURE__ */ F("div", {
293
- className: "space-y-2",
294
- children: w.orderItems.map((e, t) => /* @__PURE__ */ F("div", {
295
- className: "flex items-start justify-between p-3 rounded-md bg-bg-sunken/50",
296
- children: /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ I("p", {
297
- className: "text-sm font-medium text-text-primary",
298
- children: [
299
- e.quantity,
300
- "x ",
301
- e.name
302
- ]
303
- }), e.specialInstructions && /* @__PURE__ */ I("p", {
304
- className: "text-xs text-text-secondary mt-0.5",
305
- children: ["Note: ", e.specialInstructions]
306
- })] })
307
- }, t))
308
- })]
309
- }),
310
- w.specialInstructions && /* @__PURE__ */ I("div", {
311
- className: "rounded-lg border border-border-seam bg-bg-surface p-6",
312
- children: [/* @__PURE__ */ F("h3", {
313
- className: "text-base font-semibold text-text-primary mb-3",
314
- children: "Special Instructions"
315
- }), /* @__PURE__ */ F("div", {
316
- className: "rounded-md bg-status-warning-bg/10 border border-status-warning-border/20 p-4",
317
- children: /* @__PURE__ */ I("p", {
318
- className: "text-sm text-status-warning-text flex items-start gap-2",
319
- children: [/* @__PURE__ */ F(d, { className: "h-4 w-4 shrink-0 mt-0.5 text-status-warning-text" }), w.specialInstructions]
320
- })
321
- })]
322
- }),
323
- w.photos && w.photos.length > 0 && /* @__PURE__ */ I("div", {
324
- className: "rounded-lg border border-border-seam bg-bg-surface p-6",
325
- children: [/* @__PURE__ */ I("h3", {
326
- className: "text-base font-semibold text-text-primary flex items-center gap-2 mb-3",
327
- children: [/* @__PURE__ */ F(m, { className: "h-4 w-4 text-text-secondary" }), "Reference Photos"]
328
- }), /* @__PURE__ */ F("div", {
329
- className: "grid grid-cols-2 md:grid-cols-3 gap-3",
330
- children: w.photos.map((e, t) => /* @__PURE__ */ F("img", {
331
- src: e,
332
- alt: `Reference ${t + 1}`,
333
- className: "w-full h-32 object-cover rounded-lg border border-border-seam"
334
- }, t))
335
- })]
336
- }),
337
- /* @__PURE__ */ I("div", {
338
- className: "rounded-lg border border-border-seam bg-bg-surface p-6",
339
- children: [
340
- /* @__PURE__ */ I("h3", {
358
+ })]
359
+ }),
360
+ w.photos && w.photos.length > 0 && /* @__PURE__ */ I("div", {
361
+ className: "rounded-lg border border-border-seam bg-bg-surface p-6",
362
+ children: [/* @__PURE__ */ I("h3", {
341
363
  className: "text-base font-semibold text-text-primary flex items-center gap-2 mb-3",
342
- children: [/* @__PURE__ */ F(A, { className: "h-4 w-4 text-text-secondary" }), "Task Notes"]
343
- }),
344
- /* @__PURE__ */ F("textarea", {
345
- value: H,
346
- onChange: (e) => U(e.target.value),
347
- placeholder: "Add your notes about this task...",
348
- rows: 4,
349
- className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-status-info-border/40 resize-none"
350
- }),
351
- /* @__PURE__ */ I("button", {
352
- type: "button",
353
- onClick: Y,
354
- className: "mt-3 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",
355
- children: [/* @__PURE__ */ F(D, { className: "h-3.5 w-3.5" }), "Save Notes"]
356
- })
357
- ]
358
- })
359
- ]
360
- }), /* @__PURE__ */ I("div", {
361
- className: "space-y-6",
362
- children: [
363
- /* @__PURE__ */ I("div", {
364
- className: "rounded-lg border border-border-seam bg-bg-surface p-5",
365
- children: [/* @__PURE__ */ F("h3", {
366
- className: "text-base font-semibold text-text-primary mb-3",
367
- children: "Task Details"
368
- }), /* @__PURE__ */ I("div", {
369
- className: "space-y-3",
364
+ children: [/* @__PURE__ */ F(p, { className: "h-4 w-4 text-text-secondary" }), "Reference Photos"]
365
+ }), /* @__PURE__ */ F("div", {
366
+ className: "grid grid-cols-2 md:grid-cols-3 gap-3",
367
+ children: w.photos.map((e, t) => /* @__PURE__ */ F("img", {
368
+ src: e,
369
+ alt: `Reference ${t + 1}`,
370
+ className: "w-full h-32 object-cover rounded-lg border border-border-seam"
371
+ }, t))
372
+ })]
373
+ }),
374
+ /* @__PURE__ */ I("div", {
375
+ className: "rounded-lg border border-border-seam bg-bg-surface p-6",
370
376
  children: [
371
- /* @__PURE__ */ I("div", {
372
- className: "flex items-center gap-2",
373
- children: [/* @__PURE__ */ F(y, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
374
- className: "text-xs text-text-secondary",
375
- children: "Order ID"
376
- }), /* @__PURE__ */ F("p", {
377
- className: "text-sm font-medium font-mono text-text-primary",
378
- children: w.orderId
379
- })] })]
380
- }),
381
- /* @__PURE__ */ I("div", {
382
- className: "flex items-center gap-2",
383
- children: [/* @__PURE__ */ F(O, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
384
- className: "text-xs text-text-secondary",
385
- children: "Cart"
386
- }), /* @__PURE__ */ F("p", {
387
- className: "text-sm font-medium text-text-primary",
388
- children: w.cartName
389
- })] })]
390
- }),
391
- /* @__PURE__ */ I("div", {
392
- className: "flex items-center gap-2",
393
- children: [/* @__PURE__ */ F(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
394
- className: "text-xs text-text-secondary",
395
- children: "Due At"
396
- }), /* @__PURE__ */ F("p", {
397
- className: "text-sm text-text-primary",
398
- children: o(w.dueTime)
399
- })] })]
400
- }),
401
- /* @__PURE__ */ I("div", {
402
- className: "flex items-center gap-2",
403
- children: [/* @__PURE__ */ F(b, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
404
- className: "text-xs text-text-secondary",
405
- children: "Earnings"
406
- }), /* @__PURE__ */ F("p", {
407
- className: "text-sm font-medium text-status-success-text",
408
- children: a(w.earnings, { minimumFractionDigits: 0 })
409
- })] })]
377
+ /* @__PURE__ */ I("h3", {
378
+ className: "text-base font-semibold text-text-primary flex items-center gap-2 mb-3",
379
+ children: [/* @__PURE__ */ F(A, { className: "h-4 w-4 text-text-secondary" }), "Task Notes"]
410
380
  }),
411
- w.distance != null && /* @__PURE__ */ I("div", {
412
- className: "flex items-center gap-2",
413
- children: [/* @__PURE__ */ F(C, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
414
- className: "text-xs text-text-secondary",
415
- children: "Distance"
416
- }), /* @__PURE__ */ I("p", {
417
- className: "text-sm text-text-primary",
418
- children: [w.distance, " km"]
419
- })] })]
381
+ /* @__PURE__ */ F("textarea", {
382
+ value: G,
383
+ onChange: (e) => K(e.target.value),
384
+ placeholder: "Add your notes about this task...",
385
+ rows: 4,
386
+ className: "w-full rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-status-info-border/40 resize-none"
420
387
  }),
421
- /* @__PURE__ */ I("div", {
422
- className: "flex items-center gap-2",
423
- children: [/* @__PURE__ */ F(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
424
- className: "text-xs text-text-secondary",
425
- children: "Assigned At"
426
- }), /* @__PURE__ */ F("p", {
427
- className: "text-sm text-text-primary",
428
- children: o(w.assignedTime)
429
- })] })]
388
+ /* @__PURE__ */ I("button", {
389
+ type: "button",
390
+ onClick: Q,
391
+ className: "mt-3 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",
392
+ children: [/* @__PURE__ */ F(D, { className: "h-3.5 w-3.5" }), "Save Notes"]
430
393
  })
431
394
  ]
432
- })]
433
- }),
434
- /* @__PURE__ */ I("div", {
435
- className: "rounded-lg border border-border-seam bg-bg-surface p-5",
436
- children: [/* @__PURE__ */ F("h3", {
437
- className: "text-base font-semibold text-text-primary mb-4",
438
- children: "Status Timeline"
439
- }), /* @__PURE__ */ F("div", {
440
- className: "relative",
441
- children: X.map((e, n) => {
442
- let r = n === X.length - 1, i = e.completed ? h : _;
443
- return /* @__PURE__ */ I("div", {
444
- className: "flex gap-3",
445
- children: [/* @__PURE__ */ I("div", {
446
- className: "flex flex-col items-center",
447
- children: [/* @__PURE__ */ F("div", {
448
- className: t("flex h-7 w-7 shrink-0 items-center justify-center rounded-full", e.completed ? "bg-status-success-bg/10 text-status-success-text" : "bg-bg-sunken text-text-secondary"),
449
- children: /* @__PURE__ */ F(i, { className: "h-3.5 w-3.5" })
450
- }), !r && /* @__PURE__ */ F("div", { className: t("w-0.5 flex-1 my-1", e.completed ? "bg-status-success-bg/30" : "bg-border") })]
451
- }), /* @__PURE__ */ I("div", {
452
- className: t("pb-5", r && "pb-0"),
453
- children: [/* @__PURE__ */ F("p", {
395
+ })
396
+ ]
397
+ }), /* @__PURE__ */ I("div", {
398
+ className: "space-y-6",
399
+ children: [
400
+ /* @__PURE__ */ I("div", {
401
+ className: "rounded-lg border border-border-seam bg-bg-surface p-5",
402
+ children: [/* @__PURE__ */ F("h3", {
403
+ className: "text-base font-semibold text-text-primary mb-3",
404
+ children: "Task Details"
405
+ }), /* @__PURE__ */ I("div", {
406
+ className: "space-y-3",
407
+ children: [
408
+ /* @__PURE__ */ I("div", {
409
+ className: "flex items-center gap-2",
410
+ children: [/* @__PURE__ */ F(y, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
411
+ className: "text-xs text-text-secondary",
412
+ children: "Order ID"
413
+ }), /* @__PURE__ */ F("p", {
414
+ className: "text-sm font-medium font-mono text-text-primary",
415
+ children: w.orderId
416
+ })] })]
417
+ }),
418
+ /* @__PURE__ */ I("div", {
419
+ className: "flex items-center gap-2",
420
+ children: [/* @__PURE__ */ F(O, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
421
+ className: "text-xs text-text-secondary",
422
+ children: "Cart"
423
+ }), /* @__PURE__ */ F("p", {
454
424
  className: "text-sm font-medium text-text-primary",
455
- children: e.label
425
+ children: w.cartName
426
+ })] })]
427
+ }),
428
+ /* @__PURE__ */ I("div", {
429
+ className: "flex items-center gap-2",
430
+ children: [/* @__PURE__ */ F(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
431
+ className: "text-xs text-text-secondary",
432
+ children: "Due At"
433
+ }), /* @__PURE__ */ F("p", {
434
+ className: "text-sm text-text-primary",
435
+ children: a(w.dueTime)
436
+ })] })]
437
+ }),
438
+ /* @__PURE__ */ I("div", {
439
+ className: "flex items-center gap-2",
440
+ children: [/* @__PURE__ */ F(b, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
441
+ className: "text-xs text-text-secondary",
442
+ children: "Earnings"
456
443
  }), /* @__PURE__ */ F("p", {
457
- className: "mt-0.5 text-xs text-text-secondary",
458
- children: e.timestamp ? o(e.timestamp) : "Pending"
444
+ className: "text-sm font-medium text-status-success-text",
445
+ children: ee(w.earnings, { minimumFractionDigits: 0 })
446
+ })] })]
447
+ }),
448
+ w.distance != null && /* @__PURE__ */ I("div", {
449
+ className: "flex items-center gap-2",
450
+ children: [/* @__PURE__ */ F(C, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
451
+ className: "text-xs text-text-secondary",
452
+ children: "Distance"
453
+ }), /* @__PURE__ */ I("p", {
454
+ className: "text-sm text-text-primary",
455
+ children: [w.distance, " km"]
456
+ })] })]
457
+ }),
458
+ /* @__PURE__ */ I("div", {
459
+ className: "flex items-center gap-2",
460
+ children: [/* @__PURE__ */ F(v, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ I("div", { children: [/* @__PURE__ */ F("p", {
461
+ className: "text-xs text-text-secondary",
462
+ children: "Assigned At"
463
+ }), /* @__PURE__ */ F("p", {
464
+ className: "text-sm text-text-primary",
465
+ children: a(w.assignedTime)
466
+ })] })]
467
+ })
468
+ ]
469
+ })]
470
+ }),
471
+ /* @__PURE__ */ I("div", {
472
+ className: "rounded-lg border border-border-seam bg-bg-surface p-5",
473
+ children: [/* @__PURE__ */ F("h3", {
474
+ className: "text-base font-semibold text-text-primary mb-4",
475
+ children: "Status Timeline"
476
+ }), /* @__PURE__ */ F("div", {
477
+ className: "relative",
478
+ children: $.map((e, n) => {
479
+ let r = n === $.length - 1, i = e.completed ? m : g;
480
+ return /* @__PURE__ */ I("div", {
481
+ className: "flex gap-3",
482
+ children: [/* @__PURE__ */ I("div", {
483
+ className: "flex flex-col items-center",
484
+ children: [/* @__PURE__ */ F("div", {
485
+ className: t("flex h-7 w-7 shrink-0 items-center justify-center rounded-full", e.completed ? "bg-status-success-bg/10 text-status-success-text" : "bg-bg-sunken text-text-secondary"),
486
+ children: /* @__PURE__ */ F(i, { className: "h-3.5 w-3.5" })
487
+ }), !r && /* @__PURE__ */ F("div", { className: t("w-0.5 flex-1 my-1", e.completed ? "bg-status-success-bg/30" : "bg-border") })]
488
+ }), /* @__PURE__ */ I("div", {
489
+ className: t("pb-5", r && "pb-0"),
490
+ children: [/* @__PURE__ */ F("p", {
491
+ className: "text-sm font-medium text-text-primary",
492
+ children: e.label
493
+ }), /* @__PURE__ */ F("p", {
494
+ className: "mt-0.5 text-xs text-text-secondary",
495
+ children: e.timestamp ? a(e.timestamp) : "Pending"
496
+ })]
459
497
  })]
460
- })]
461
- }, e.status);
462
- })
463
- })]
464
- }),
465
- /* @__PURE__ */ I("div", {
466
- className: "space-y-3",
467
- children: [
468
- w.status === "pending" && /* @__PURE__ */ I("button", {
469
- type: "button",
470
- onClick: G,
471
- className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-status-info-bg/10 px-4 py-3 text-sm font-medium text-status-info-text hover:bg-status-info-bg/20 transition-colors",
472
- children: [/* @__PURE__ */ F(E, { className: "h-4 w-4" }), "Start Task"]
473
- }),
474
- w.status === "in_progress" && /* @__PURE__ */ I("button", {
475
- type: "button",
476
- onClick: K,
477
- className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-status-success-bg/10 px-4 py-3 text-sm font-medium text-status-success-text hover:bg-status-success-bg/20 transition-colors",
478
- children: [/* @__PURE__ */ F(h, { className: "h-4 w-4" }), "Complete Task"]
479
- }),
480
- /* @__PURE__ */ I("button", {
481
- type: "button",
482
- onClick: () => g("/worker/orders"),
483
- className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-accent px-4 py-3 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
484
- children: [/* @__PURE__ */ F(f, { className: "h-4 w-4" }), "Back to Tasks"]
485
- })
486
- ]
487
- })
488
- ]
489
- })]
490
- })]
498
+ }, e.status);
499
+ })
500
+ })]
501
+ }),
502
+ /* @__PURE__ */ I("div", {
503
+ className: "space-y-3",
504
+ children: [
505
+ w.status === "pending" && /* @__PURE__ */ I("button", {
506
+ type: "button",
507
+ onClick: J,
508
+ className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-status-info-bg/10 px-4 py-3 text-sm font-medium text-status-info-text hover:bg-status-info-bg/20 transition-colors",
509
+ children: [/* @__PURE__ */ F(E, { className: "h-4 w-4" }), "Start Task"]
510
+ }),
511
+ w.status === "in_progress" && /* @__PURE__ */ I("button", {
512
+ type: "button",
513
+ onClick: Y,
514
+ className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-status-success-bg/10 px-4 py-3 text-sm font-medium text-status-success-text hover:bg-status-success-bg/20 transition-colors",
515
+ children: [/* @__PURE__ */ F(m, { className: "h-4 w-4" }), "Complete Task"]
516
+ }),
517
+ /* @__PURE__ */ I("button", {
518
+ type: "button",
519
+ onClick: () => h("/worker/orders"),
520
+ className: "w-full inline-flex items-center justify-center gap-2 rounded-lg bg-accent px-4 py-3 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
521
+ children: [/* @__PURE__ */ F(d, { className: "h-4 w-4" }), "Back to Tasks"]
522
+ })
523
+ ]
524
+ })
525
+ ]
526
+ })]
527
+ })
528
+ ]
491
529
  })
492
530
  });
493
531
  }
494
532
  //#endregion
495
- export { V as TaskDetailsPage };
533
+ export { W as TaskDetailsPage };
496
534
 
497
535
  //# sourceMappingURL=TaskDetailsPage.js.map