@burdenoff/microfe-atheletebridge 2026.625.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.
Files changed (91) hide show
  1. package/dist/atheletebridge/pages/HomePage.js +272 -268
  2. package/dist/atheletebridge/pages/HomePage.js.map +1 -1
  3. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
  4. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
  6. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
  8. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
  10. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
  12. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
  14. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
  16. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
  17. package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
  18. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
  19. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
  20. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  21. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
  22. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  23. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
  24. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  25. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
  26. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  27. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
  28. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  29. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
  30. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  31. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
  32. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
  33. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
  34. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
  35. package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
  36. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
  37. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +99 -91
  38. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
  39. package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
  40. package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
  41. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +364 -356
  42. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
  43. package/dist/atheletebridge/pages/customer/CartDetailPage.js +276 -241
  44. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
  45. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +260 -250
  46. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
  47. package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
  48. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
  49. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
  50. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
  51. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
  52. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
  53. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +523 -512
  54. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
  55. package/dist/atheletebridge/pages/customer/FavoritesPage.js +83 -75
  56. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
  57. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +116 -108
  58. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
  59. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +65 -61
  60. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
  61. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +80 -75
  62. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
  63. package/dist/atheletebridge/pages/customer/ReviewsPage.js +80 -72
  64. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
  65. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +62 -55
  66. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
  67. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
  68. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
  69. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +89 -84
  70. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  71. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
  72. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  73. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
  74. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
  75. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +37 -32
  76. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  77. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
  78. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
  79. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
  80. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
  81. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +352 -319
  82. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
  83. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
  84. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
  85. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +133 -128
  86. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
  87. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
  88. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
  89. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -344
  90. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
  91. package/package.json +3 -3
@@ -8,8 +8,9 @@ import { useMemo as s, useState as c } from "react";
8
8
  import { AlertTriangle as l, ArrowLeft as u, Calendar as d, CalendarCheck as f, CheckCircle2 as p, Circle as m, Clock as h, Headphones as g, MapPin as _, Phone as v, ShoppingBag as y, Star as b, XCircle as x } from "lucide-react";
9
9
  import { useParams as S } from "react-router-dom";
10
10
  import { jsx as C, jsxs as w } from "react/jsx-runtime";
11
+ import { EmphasisPanel as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
11
12
  //#region src/atheletebridge/pages/customer/BookingDetailsPage.tsx
12
- var T = [
13
+ var D = [
13
14
  {
14
15
  id: "BK-001",
15
16
  serviceName: "Men's Haircut + Beard Trim",
@@ -184,411 +185,418 @@ var T = [
184
185
  }
185
186
  ]
186
187
  }
187
- ], E = (e) => T.find((t) => t.id === e);
188
- function D() {
189
- let { bookingId: T } = S(), { navigateTo: D } = e(), [O, k] = c(null), A = s(() => T ? E(T) : void 0, [T]), j = (e) => {
190
- k(e), setTimeout(() => k(null), 3e3);
188
+ ], O = (e) => D.find((t) => t.id === e);
189
+ function k() {
190
+ let { bookingId: D } = S(), { navigateTo: k } = e(), [A, j] = c(null), M = s(() => D ? O(D) : void 0, [D]), N = (e) => {
191
+ j(e), setTimeout(() => j(null), 3e3);
191
192
  };
192
- if (!A) return /* @__PURE__ */ C(n, {
193
+ if (!M) return /* @__PURE__ */ C(n, {
193
194
  title: "Booking Not Found",
194
195
  children: /* @__PURE__ */ C(i, {
195
196
  illustration: "empty-generic",
196
197
  icon: /* @__PURE__ */ C(f, { className: "h-12 w-12" }),
197
198
  title: "Booking not found",
198
- description: `No booking found with ID "${T}".`,
199
+ description: `No booking found with ID "${D}".`,
199
200
  action: /* @__PURE__ */ C("button", {
200
201
  type: "button",
201
- onClick: () => D("/customer/dashboard"),
202
+ onClick: () => k("/customer/dashboard"),
202
203
  className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
203
204
  children: "Go to Dashboard"
204
205
  })
205
206
  })
206
207
  });
207
- let M = A.status === "cancelled", N = A.status === "completed", P = !M && !N;
208
+ let P = M.status === "cancelled", F = M.status === "completed", I = !P && !F;
208
209
  return /* @__PURE__ */ w(n, {
209
210
  title: /* @__PURE__ */ w("div", {
210
211
  className: "flex items-center gap-3",
211
212
  children: [/* @__PURE__ */ C("button", {
212
213
  type: "button",
213
- onClick: () => D("/customer/dashboard"),
214
+ onClick: () => k("/customer/dashboard"),
214
215
  className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
215
216
  children: /* @__PURE__ */ C(u, { className: "h-5 w-5" })
216
- }), /* @__PURE__ */ w("span", { children: ["Booking #", A.id] })]
217
+ }), /* @__PURE__ */ w("span", { children: ["Booking #", M.id] })]
217
218
  }),
218
- actions: /* @__PURE__ */ C(r, { status: A.status }),
219
- children: [O && /* @__PURE__ */ w("div", {
220
- className: "mb-4 rounded-lg border border-green-500/30 bg-green-500/10 p-3 flex items-center gap-2",
221
- children: [/* @__PURE__ */ C(p, { className: "h-4 w-4 text-green-600 dark:text-green-400 shrink-0" }), /* @__PURE__ */ C("p", {
222
- className: "text-sm text-green-600 dark:text-green-400",
223
- children: O
224
- })]
225
- }), /* @__PURE__ */ w("div", {
226
- className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
227
- children: [/* @__PURE__ */ w("div", {
228
- className: "lg:col-span-2 space-y-6",
229
- children: [
230
- /* @__PURE__ */ w("div", {
231
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
232
- children: [
233
- /* @__PURE__ */ C("h2", {
234
- className: "text-lg font-semibold text-text-primary",
235
- children: A.serviceName
236
- }),
237
- /* @__PURE__ */ C("p", {
238
- className: "mt-1 text-sm text-text-secondary",
239
- children: A.serviceDescription
240
- }),
241
- /* @__PURE__ */ w("div", {
242
- className: "mt-4 flex flex-wrap gap-4 text-sm text-text-secondary",
243
- children: [
244
- /* @__PURE__ */ w("div", {
245
- className: "flex items-center gap-1.5",
246
- children: [/* @__PURE__ */ C(d, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: A.scheduledDate })]
247
- }),
248
- /* @__PURE__ */ w("div", {
249
- className: "flex items-center gap-1.5",
250
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: A.scheduledTime })]
251
- }),
252
- /* @__PURE__ */ w("div", {
253
- className: "flex items-center gap-1.5",
254
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ w("span", { children: [A.duration, " min"] })]
255
- })
256
- ]
257
- }),
258
- A.notes && /* @__PURE__ */ w("div", {
259
- className: "mt-4 rounded-md bg-bg-sunken p-3",
260
- children: [/* @__PURE__ */ C("p", {
261
- className: "text-xs text-text-secondary mb-1",
262
- children: "Notes"
263
- }), /* @__PURE__ */ C("p", {
264
- className: "text-sm text-text-primary",
265
- children: A.notes
266
- })]
267
- }),
268
- A.cancellationReason && /* @__PURE__ */ w("div", {
269
- className: "mt-4 rounded-md bg-red-500/5 border border-red-500/20 p-3",
270
- children: [/* @__PURE__ */ w("div", {
271
- className: "flex items-center gap-2 mb-1",
272
- children: [/* @__PURE__ */ C(l, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" }), /* @__PURE__ */ C("p", {
273
- className: "text-xs font-medium text-red-600 dark:text-red-400",
274
- children: "Cancellation Reason"
219
+ actions: /* @__PURE__ */ C(r, { status: M.status }),
220
+ children: [
221
+ /* @__PURE__ */ C(E, {
222
+ className: "mb-6",
223
+ children: "Everything about this service booking in one view — what was booked, when it's scheduled, who's providing it, and the price. Use this page to confirm details, read any notes, and manage or cancel the booking if your plans change."
224
+ }),
225
+ A && /* @__PURE__ */ w("div", {
226
+ className: "mb-4 rounded-lg border border-green-500/30 bg-green-500/10 p-3 flex items-center gap-2",
227
+ children: [/* @__PURE__ */ C(p, { className: "h-4 w-4 text-green-600 dark:text-green-400 shrink-0" }), /* @__PURE__ */ C("p", {
228
+ className: "text-sm text-green-600 dark:text-green-400",
229
+ children: A
230
+ })]
231
+ }),
232
+ /* @__PURE__ */ w("div", {
233
+ className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
234
+ children: [/* @__PURE__ */ w("div", {
235
+ className: "lg:col-span-2 space-y-6",
236
+ children: [
237
+ /* @__PURE__ */ w(T, {
238
+ className: "p-6",
239
+ children: [
240
+ /* @__PURE__ */ C("h2", {
241
+ className: "text-lg font-semibold text-text-primary",
242
+ children: M.serviceName
243
+ }),
244
+ /* @__PURE__ */ C("p", {
245
+ className: "mt-1 text-sm text-text-secondary",
246
+ children: M.serviceDescription
247
+ }),
248
+ /* @__PURE__ */ w("div", {
249
+ className: "mt-4 flex flex-wrap gap-4 text-sm text-text-secondary",
250
+ children: [
251
+ /* @__PURE__ */ w("div", {
252
+ className: "flex items-center gap-1.5",
253
+ children: [/* @__PURE__ */ C(d, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: M.scheduledDate })]
254
+ }),
255
+ /* @__PURE__ */ w("div", {
256
+ className: "flex items-center gap-1.5",
257
+ children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: M.scheduledTime })]
258
+ }),
259
+ /* @__PURE__ */ w("div", {
260
+ className: "flex items-center gap-1.5",
261
+ children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ w("span", { children: [M.duration, " min"] })]
262
+ })
263
+ ]
264
+ }),
265
+ M.notes && /* @__PURE__ */ w("div", {
266
+ className: "mt-4 rounded-md bg-bg-sunken p-3",
267
+ children: [/* @__PURE__ */ C("p", {
268
+ className: "text-xs text-text-secondary mb-1",
269
+ children: "Notes"
270
+ }), /* @__PURE__ */ C("p", {
271
+ className: "text-sm text-text-primary",
272
+ children: M.notes
275
273
  })]
276
- }), /* @__PURE__ */ C("p", {
277
- className: "text-sm text-text-primary",
278
- children: A.cancellationReason
279
- })]
280
- })
281
- ]
282
- }),
283
- /* @__PURE__ */ w("div", {
284
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
285
- children: [
286
- /* @__PURE__ */ C("h2", {
287
- className: "text-base font-semibold text-text-primary mb-4",
288
- children: "Service Provider"
289
- }),
290
- /* @__PURE__ */ w("div", {
291
- className: "flex items-center gap-4",
292
- children: [
293
- /* @__PURE__ */ C("div", {
294
- className: "flex h-12 w-12 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
295
- children: /* @__PURE__ */ C(y, { className: "h-6 w-6" })
296
- }),
297
- /* @__PURE__ */ w("div", {
298
- className: "flex-1 min-w-0",
299
- children: [
300
- /* @__PURE__ */ C("p", {
301
- className: "text-sm font-semibold text-text-primary",
302
- children: A.provider.name
303
- }),
304
- /* @__PURE__ */ C("p", {
305
- className: "text-xs text-text-secondary",
306
- children: A.provider.category
307
- }),
308
- /* @__PURE__ */ w("div", {
309
- className: "flex items-center gap-1 mt-1",
310
- children: [/* @__PURE__ */ C(b, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), /* @__PURE__ */ C("span", {
311
- className: "text-xs font-medium text-text-primary",
312
- children: A.provider.rating
313
- })]
314
- })
315
- ]
316
- }),
317
- /* @__PURE__ */ C("a", {
318
- href: `tel:${A.provider.phone}`,
319
- className: "flex h-10 w-10 items-center justify-center rounded-full bg-bg-sunken text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
320
- children: /* @__PURE__ */ C(v, { className: "h-4 w-4" })
321
- })
322
- ]
323
- }),
324
- /* @__PURE__ */ w("div", {
325
- className: "mt-3 flex items-center gap-2 text-sm text-text-secondary",
326
- children: [/* @__PURE__ */ C(v, { className: "h-4 w-4 shrink-0" }), /* @__PURE__ */ C("span", { children: A.provider.phone })]
327
- })
328
- ]
329
- }),
330
- /* @__PURE__ */ w("div", {
331
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
332
- children: [/* @__PURE__ */ C("h2", {
333
- className: "text-base font-semibold text-text-primary mb-5",
334
- children: "Booking Timeline"
335
- }), /* @__PURE__ */ C("div", {
336
- className: "relative",
337
- children: A.timeline.map((e, n) => {
338
- let r = n === A.timeline.length - 1, i = e.status === "cancelled", a = i ? x : e.completed ? p : m;
339
- return /* @__PURE__ */ w("div", {
340
- className: "flex gap-4",
274
+ }),
275
+ M.cancellationReason && /* @__PURE__ */ w("div", {
276
+ className: "mt-4 rounded-md bg-red-500/5 border border-red-500/20 p-3",
341
277
  children: [/* @__PURE__ */ w("div", {
342
- className: "flex flex-col items-center",
343
- children: [/* @__PURE__ */ C("div", {
344
- className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full", i ? "bg-red-500/10 text-red-600 dark:text-red-400" : e.completed ? "bg-green-500/10 text-green-600 dark:text-green-400" : "bg-bg-sunken text-text-secondary"),
345
- children: /* @__PURE__ */ C(a, { className: "h-4 w-4" })
346
- }), !r && /* @__PURE__ */ C("div", { className: t("w-0.5 flex-1 my-1", e.completed ? "bg-green-500/30" : "bg-border") })]
347
- }), /* @__PURE__ */ w("div", {
348
- className: t("pb-6", r && "pb-0"),
349
- children: [/* @__PURE__ */ C("p", {
350
- className: "text-sm font-medium text-text-primary",
351
- children: e.label
352
- }), /* @__PURE__ */ C("p", {
353
- className: "mt-0.5 text-xs text-text-secondary",
354
- children: e.timestamp ? o(e.timestamp) : "Pending"
278
+ className: "flex items-center gap-2 mb-1",
279
+ children: [/* @__PURE__ */ C(l, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" }), /* @__PURE__ */ C("p", {
280
+ className: "text-xs font-medium text-red-600 dark:text-red-400",
281
+ children: "Cancellation Reason"
355
282
  })]
283
+ }), /* @__PURE__ */ C("p", {
284
+ className: "text-sm text-text-primary",
285
+ children: M.cancellationReason
356
286
  })]
357
- }, `${e.status}-${n}`);
358
- })
359
- })]
360
- }),
361
- /* @__PURE__ */ w("div", {
362
- className: "flex flex-col sm:flex-row gap-3",
363
- children: [/* @__PURE__ */ w("button", {
364
- type: "button",
365
- onClick: () => {
366
- j("Support team will contact you shortly.");
367
- },
368
- className: "flex-1 flex items-center justify-center gap-2 rounded-lg border border-border-subtle px-4 py-3 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
369
- children: [/* @__PURE__ */ C(g, { className: "h-4 w-4" }), "Contact Support"]
370
- }), N && /* @__PURE__ */ w("button", {
371
- type: "button",
372
- onClick: () => {
373
- j("Thank you! Rating feature coming soon.");
374
- },
375
- className: "flex-1 flex items-center justify-center gap-2 rounded-lg bg-foreground px-4 py-3 text-sm font-medium text-background hover:opacity-90 transition-opacity",
376
- children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Rate Service"]
377
- })]
378
- })
379
- ]
380
- }), /* @__PURE__ */ w("div", {
381
- className: "space-y-6",
382
- children: [
383
- /* @__PURE__ */ w("div", {
384
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
385
- children: [
386
- /* @__PURE__ */ C("h3", {
387
- className: "text-base font-semibold text-text-primary mb-3",
388
- children: "Cart Information"
389
- }),
390
- /* @__PURE__ */ w("div", {
391
- className: "flex items-center gap-3 mb-4",
392
- children: [/* @__PURE__ */ C("img", {
393
- src: A.provider.image,
394
- alt: A.provider.name,
395
- className: "h-14 w-14 rounded-lg object-cover"
396
- }), /* @__PURE__ */ w("div", {
397
- className: "min-w-0",
287
+ })
288
+ ]
289
+ }),
290
+ /* @__PURE__ */ w("div", {
291
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
292
+ children: [
293
+ /* @__PURE__ */ C("h2", {
294
+ className: "text-base font-semibold text-text-primary mb-4",
295
+ children: "Service Provider"
296
+ }),
297
+ /* @__PURE__ */ w("div", {
298
+ className: "flex items-center gap-4",
398
299
  children: [
399
- /* @__PURE__ */ C("p", {
400
- className: "text-sm font-semibold text-text-primary",
401
- children: A.provider.name
402
- }),
403
- /* @__PURE__ */ C("p", {
404
- className: "text-xs text-text-secondary",
405
- children: A.provider.category
300
+ /* @__PURE__ */ C("div", {
301
+ className: "flex h-12 w-12 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
302
+ children: /* @__PURE__ */ C(y, { className: "h-6 w-6" })
406
303
  }),
407
304
  /* @__PURE__ */ w("div", {
408
- className: "flex items-center gap-1 mt-0.5",
305
+ className: "flex-1 min-w-0",
409
306
  children: [
410
- /* @__PURE__ */ C(b, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }),
411
- /* @__PURE__ */ C("span", {
412
- className: "text-xs font-medium text-text-primary",
413
- children: A.provider.rating
307
+ /* @__PURE__ */ C("p", {
308
+ className: "text-sm font-semibold text-text-primary",
309
+ children: M.provider.name
414
310
  }),
415
- /* @__PURE__ */ w("span", {
311
+ /* @__PURE__ */ C("p", {
416
312
  className: "text-xs text-text-secondary",
417
- children: [
418
- "(",
419
- A.provider.reviewCount,
420
- ")"
421
- ]
313
+ children: M.provider.category
314
+ }),
315
+ /* @__PURE__ */ w("div", {
316
+ className: "flex items-center gap-1 mt-1",
317
+ children: [/* @__PURE__ */ C(b, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }), /* @__PURE__ */ C("span", {
318
+ className: "text-xs font-medium text-text-primary",
319
+ children: M.provider.rating
320
+ })]
422
321
  })
423
322
  ]
323
+ }),
324
+ /* @__PURE__ */ C("a", {
325
+ href: `tel:${M.provider.phone}`,
326
+ className: "flex h-10 w-10 items-center justify-center rounded-full bg-bg-sunken text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
327
+ children: /* @__PURE__ */ C(v, { className: "h-4 w-4" })
424
328
  })
425
329
  ]
426
- })]
427
- }),
428
- /* @__PURE__ */ C("div", {
429
- className: "space-y-2 text-sm mb-4",
430
- children: /* @__PURE__ */ w("div", {
431
- className: "flex items-start gap-2",
432
- children: [/* @__PURE__ */ C(_, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ C("span", {
433
- className: "text-text-secondary",
434
- children: A.provider.location
435
- })]
436
- })
437
- }),
438
- /* @__PURE__ */ C("button", {
439
- type: "button",
440
- onClick: () => D(`/customer/carts/${A.provider.id}`),
441
- className: "w-full rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
442
- children: "View Cart Menu"
443
- })
444
- ]
445
- }),
446
- /* @__PURE__ */ w("div", {
447
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
448
- children: [/* @__PURE__ */ C("h3", {
449
- className: "text-base font-semibold text-text-primary mb-3",
450
- children: "Service Location"
451
- }), /* @__PURE__ */ w("div", {
452
- className: "flex items-start gap-3",
453
- children: [/* @__PURE__ */ C(_, { className: "mt-0.5 h-5 w-5 shrink-0 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [
454
- /* @__PURE__ */ C("p", {
455
- className: "text-sm text-text-primary",
456
- children: A.location.street
457
330
  }),
458
- /* @__PURE__ */ w("p", {
459
- className: "text-sm text-text-secondary",
460
- children: [
461
- A.location.area,
462
- ", ",
463
- A.location.city,
464
- " - ",
465
- A.location.pincode
466
- ]
467
- }),
468
- A.location.landmark && /* @__PURE__ */ w("p", {
469
- className: "text-xs text-text-secondary mt-1",
470
- children: ["Landmark: ", A.location.landmark]
331
+ /* @__PURE__ */ w("div", {
332
+ className: "mt-3 flex items-center gap-2 text-sm text-text-secondary",
333
+ children: [/* @__PURE__ */ C(v, { className: "h-4 w-4 shrink-0" }), /* @__PURE__ */ C("span", { children: M.provider.phone })]
334
+ })
335
+ ]
336
+ }),
337
+ /* @__PURE__ */ w("div", {
338
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
339
+ children: [/* @__PURE__ */ C("h2", {
340
+ className: "text-base font-semibold text-text-primary mb-5",
341
+ children: "Booking Timeline"
342
+ }), /* @__PURE__ */ C("div", {
343
+ className: "relative",
344
+ children: M.timeline.map((e, n) => {
345
+ let r = n === M.timeline.length - 1, i = e.status === "cancelled", a = i ? x : e.completed ? p : m;
346
+ return /* @__PURE__ */ w("div", {
347
+ className: "flex gap-4",
348
+ children: [/* @__PURE__ */ w("div", {
349
+ className: "flex flex-col items-center",
350
+ children: [/* @__PURE__ */ C("div", {
351
+ className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full", i ? "bg-red-500/10 text-red-600 dark:text-red-400" : e.completed ? "bg-green-500/10 text-green-600 dark:text-green-400" : "bg-bg-sunken text-text-secondary"),
352
+ children: /* @__PURE__ */ C(a, { className: "h-4 w-4" })
353
+ }), !r && /* @__PURE__ */ C("div", { className: t("w-0.5 flex-1 my-1", e.completed ? "bg-green-500/30" : "bg-border") })]
354
+ }), /* @__PURE__ */ w("div", {
355
+ className: t("pb-6", r && "pb-0"),
356
+ children: [/* @__PURE__ */ C("p", {
357
+ className: "text-sm font-medium text-text-primary",
358
+ children: e.label
359
+ }), /* @__PURE__ */ C("p", {
360
+ className: "mt-0.5 text-xs text-text-secondary",
361
+ children: e.timestamp ? o(e.timestamp) : "Pending"
362
+ })]
363
+ })]
364
+ }, `${e.status}-${n}`);
471
365
  })
472
- ] })]
473
- })]
474
- }),
475
- /* @__PURE__ */ w("div", {
476
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
477
- children: [/* @__PURE__ */ C("h3", {
478
- className: "text-base font-semibold text-text-primary mb-3",
479
- children: "Price Breakdown"
480
- }), /* @__PURE__ */ w("div", {
481
- className: "space-y-2.5 text-sm",
366
+ })]
367
+ }),
368
+ /* @__PURE__ */ w("div", {
369
+ className: "flex flex-col sm:flex-row gap-3",
370
+ children: [/* @__PURE__ */ w("button", {
371
+ type: "button",
372
+ onClick: () => {
373
+ N("Support team will contact you shortly.");
374
+ },
375
+ className: "flex-1 flex items-center justify-center gap-2 rounded-lg border border-border-subtle px-4 py-3 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
376
+ children: [/* @__PURE__ */ C(g, { className: "h-4 w-4" }), "Contact Support"]
377
+ }), F && /* @__PURE__ */ w("button", {
378
+ type: "button",
379
+ onClick: () => {
380
+ N("Thank you! Rating feature coming soon.");
381
+ },
382
+ className: "flex-1 flex items-center justify-center gap-2 rounded-lg bg-foreground px-4 py-3 text-sm font-medium text-background hover:opacity-90 transition-opacity",
383
+ children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Rate Service"]
384
+ })]
385
+ })
386
+ ]
387
+ }), /* @__PURE__ */ w("div", {
388
+ className: "space-y-6",
389
+ children: [
390
+ /* @__PURE__ */ w("div", {
391
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
482
392
  children: [
483
- /* @__PURE__ */ w("div", {
484
- className: "flex justify-between",
485
- children: [/* @__PURE__ */ C("span", {
486
- className: "text-text-secondary",
487
- children: "Service Charge"
488
- }), /* @__PURE__ */ C("span", {
489
- className: "text-text-primary",
490
- children: a(A.pricing.serviceCharge, { minimumFractionDigits: 0 })
491
- })]
393
+ /* @__PURE__ */ C("h3", {
394
+ className: "text-base font-semibold text-text-primary mb-3",
395
+ children: "Cart Information"
492
396
  }),
493
397
  /* @__PURE__ */ w("div", {
494
- className: "flex justify-between",
495
- children: [/* @__PURE__ */ C("span", {
496
- className: "text-text-secondary",
497
- children: "Convenience Fee"
498
- }), /* @__PURE__ */ C("span", {
499
- className: "text-text-primary",
500
- children: a(A.pricing.convenienceFee, { minimumFractionDigits: 0 })
501
- })]
502
- }),
503
- /* @__PURE__ */ w("div", {
504
- className: "flex justify-between",
505
- children: [/* @__PURE__ */ C("span", {
506
- className: "text-text-secondary",
507
- children: "Tax"
508
- }), /* @__PURE__ */ C("span", {
509
- className: "text-text-primary",
510
- children: a(A.pricing.tax, { minimumFractionDigits: 0 })
398
+ className: "flex items-center gap-3 mb-4",
399
+ children: [/* @__PURE__ */ C("img", {
400
+ src: M.provider.image,
401
+ alt: M.provider.name,
402
+ className: "h-14 w-14 rounded-lg object-cover"
403
+ }), /* @__PURE__ */ w("div", {
404
+ className: "min-w-0",
405
+ children: [
406
+ /* @__PURE__ */ C("p", {
407
+ className: "text-sm font-semibold text-text-primary",
408
+ children: M.provider.name
409
+ }),
410
+ /* @__PURE__ */ C("p", {
411
+ className: "text-xs text-text-secondary",
412
+ children: M.provider.category
413
+ }),
414
+ /* @__PURE__ */ w("div", {
415
+ className: "flex items-center gap-1 mt-0.5",
416
+ children: [
417
+ /* @__PURE__ */ C(b, { className: "h-3 w-3 fill-yellow-400 text-yellow-400" }),
418
+ /* @__PURE__ */ C("span", {
419
+ className: "text-xs font-medium text-text-primary",
420
+ children: M.provider.rating
421
+ }),
422
+ /* @__PURE__ */ w("span", {
423
+ className: "text-xs text-text-secondary",
424
+ children: [
425
+ "(",
426
+ M.provider.reviewCount,
427
+ ")"
428
+ ]
429
+ })
430
+ ]
431
+ })
432
+ ]
511
433
  })]
512
434
  }),
513
- A.pricing.discount > 0 && /* @__PURE__ */ w("div", {
514
- className: "flex justify-between",
515
- children: [/* @__PURE__ */ C("span", {
516
- className: "text-green-600 dark:text-green-400",
517
- children: "Discount"
518
- }), /* @__PURE__ */ w("span", {
519
- className: "text-green-600 dark:text-green-400",
520
- children: ["-", a(A.pricing.discount, { minimumFractionDigits: 0 })]
521
- })]
435
+ /* @__PURE__ */ C("div", {
436
+ className: "space-y-2 text-sm mb-4",
437
+ children: /* @__PURE__ */ w("div", {
438
+ className: "flex items-start gap-2",
439
+ children: [/* @__PURE__ */ C(_, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ C("span", {
440
+ className: "text-text-secondary",
441
+ children: M.provider.location
442
+ })]
443
+ })
522
444
  }),
523
- /* @__PURE__ */ w("div", {
524
- className: "flex justify-between border-t border-border-subtle pt-2.5",
525
- children: [/* @__PURE__ */ C("span", {
526
- className: "font-semibold text-text-primary",
527
- children: "Total"
528
- }), /* @__PURE__ */ C("span", {
529
- className: "font-bold text-text-primary",
530
- children: a(A.pricing.total, { minimumFractionDigits: 0 })
531
- })]
445
+ /* @__PURE__ */ C("button", {
446
+ type: "button",
447
+ onClick: () => k(`/customer/carts/${M.provider.id}`),
448
+ className: "w-full rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
449
+ children: "View Cart Menu"
532
450
  })
533
451
  ]
534
- })]
535
- }),
536
- /* @__PURE__ */ w("div", {
537
- className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
538
- children: [/* @__PURE__ */ C("h3", {
539
- className: "text-base font-semibold text-text-primary mb-3",
540
- children: "Booking Info"
541
- }), /* @__PURE__ */ w("div", {
542
- className: "space-y-3",
543
- children: [
544
- /* @__PURE__ */ w("div", {
545
- className: "flex items-center gap-2",
546
- children: [/* @__PURE__ */ C(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
547
- className: "text-xs text-text-secondary",
548
- children: "Booked On"
549
- }), /* @__PURE__ */ C("p", {
550
- className: "text-sm text-text-primary",
551
- children: o(A.createdAt)
552
- })] })]
553
- }),
554
- /* @__PURE__ */ w("div", {
555
- className: "flex items-center gap-2",
556
- children: [/* @__PURE__ */ C(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
557
- className: "text-xs text-text-secondary",
558
- children: "Scheduled"
559
- }), /* @__PURE__ */ w("p", {
452
+ }),
453
+ /* @__PURE__ */ w("div", {
454
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
455
+ children: [/* @__PURE__ */ C("h3", {
456
+ className: "text-base font-semibold text-text-primary mb-3",
457
+ children: "Service Location"
458
+ }), /* @__PURE__ */ w("div", {
459
+ className: "flex items-start gap-3",
460
+ children: [/* @__PURE__ */ C(_, { className: "mt-0.5 h-5 w-5 shrink-0 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [
461
+ /* @__PURE__ */ C("p", {
560
462
  className: "text-sm text-text-primary",
463
+ children: M.location.street
464
+ }),
465
+ /* @__PURE__ */ w("p", {
466
+ className: "text-sm text-text-secondary",
561
467
  children: [
562
- A.scheduledDate,
563
- " at ",
564
- A.scheduledTime
468
+ M.location.area,
469
+ ", ",
470
+ M.location.city,
471
+ " - ",
472
+ M.location.pincode
565
473
  ]
566
- })] })]
567
- }),
568
- /* @__PURE__ */ w("div", {
569
- className: "flex items-center gap-2",
570
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
571
- className: "text-xs text-text-secondary",
572
- children: "Duration"
573
- }), /* @__PURE__ */ w("p", {
574
- className: "text-sm text-text-primary",
575
- children: [A.duration, " minutes"]
576
- })] })]
577
- })
578
- ]
579
- })]
580
- }),
581
- P && /* @__PURE__ */ w("button", {
582
- type: "button",
583
- className: "w-full inline-flex items-center justify-center gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-4 py-3 text-sm font-medium text-red-600 dark:text-red-400 hover:bg-red-500/10 transition-colors",
584
- children: [/* @__PURE__ */ C(x, { className: "h-4 w-4" }), "Cancel Booking"]
585
- })
586
- ]
587
- })]
588
- })]
474
+ }),
475
+ M.location.landmark && /* @__PURE__ */ w("p", {
476
+ className: "text-xs text-text-secondary mt-1",
477
+ children: ["Landmark: ", M.location.landmark]
478
+ })
479
+ ] })]
480
+ })]
481
+ }),
482
+ /* @__PURE__ */ w("div", {
483
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
484
+ children: [/* @__PURE__ */ C("h3", {
485
+ className: "text-base font-semibold text-text-primary mb-3",
486
+ children: "Price Breakdown"
487
+ }), /* @__PURE__ */ w("div", {
488
+ className: "space-y-2.5 text-sm",
489
+ children: [
490
+ /* @__PURE__ */ w("div", {
491
+ className: "flex justify-between",
492
+ children: [/* @__PURE__ */ C("span", {
493
+ className: "text-text-secondary",
494
+ children: "Service Charge"
495
+ }), /* @__PURE__ */ C("span", {
496
+ className: "text-text-primary",
497
+ children: a(M.pricing.serviceCharge, { minimumFractionDigits: 0 })
498
+ })]
499
+ }),
500
+ /* @__PURE__ */ w("div", {
501
+ className: "flex justify-between",
502
+ children: [/* @__PURE__ */ C("span", {
503
+ className: "text-text-secondary",
504
+ children: "Convenience Fee"
505
+ }), /* @__PURE__ */ C("span", {
506
+ className: "text-text-primary",
507
+ children: a(M.pricing.convenienceFee, { minimumFractionDigits: 0 })
508
+ })]
509
+ }),
510
+ /* @__PURE__ */ w("div", {
511
+ className: "flex justify-between",
512
+ children: [/* @__PURE__ */ C("span", {
513
+ className: "text-text-secondary",
514
+ children: "Tax"
515
+ }), /* @__PURE__ */ C("span", {
516
+ className: "text-text-primary",
517
+ children: a(M.pricing.tax, { minimumFractionDigits: 0 })
518
+ })]
519
+ }),
520
+ M.pricing.discount > 0 && /* @__PURE__ */ w("div", {
521
+ className: "flex justify-between",
522
+ children: [/* @__PURE__ */ C("span", {
523
+ className: "text-green-600 dark:text-green-400",
524
+ children: "Discount"
525
+ }), /* @__PURE__ */ w("span", {
526
+ className: "text-green-600 dark:text-green-400",
527
+ children: ["-", a(M.pricing.discount, { minimumFractionDigits: 0 })]
528
+ })]
529
+ }),
530
+ /* @__PURE__ */ w("div", {
531
+ className: "flex justify-between border-t border-border-subtle pt-2.5",
532
+ children: [/* @__PURE__ */ C("span", {
533
+ className: "font-semibold text-text-primary",
534
+ children: "Total"
535
+ }), /* @__PURE__ */ C("span", {
536
+ className: "font-bold text-text-primary",
537
+ children: a(M.pricing.total, { minimumFractionDigits: 0 })
538
+ })]
539
+ })
540
+ ]
541
+ })]
542
+ }),
543
+ /* @__PURE__ */ w("div", {
544
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-5",
545
+ children: [/* @__PURE__ */ C("h3", {
546
+ className: "text-base font-semibold text-text-primary mb-3",
547
+ children: "Booking Info"
548
+ }), /* @__PURE__ */ w("div", {
549
+ className: "space-y-3",
550
+ children: [
551
+ /* @__PURE__ */ w("div", {
552
+ className: "flex items-center gap-2",
553
+ children: [/* @__PURE__ */ C(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
554
+ className: "text-xs text-text-secondary",
555
+ children: "Booked On"
556
+ }), /* @__PURE__ */ C("p", {
557
+ className: "text-sm text-text-primary",
558
+ children: o(M.createdAt)
559
+ })] })]
560
+ }),
561
+ /* @__PURE__ */ w("div", {
562
+ className: "flex items-center gap-2",
563
+ children: [/* @__PURE__ */ C(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
564
+ className: "text-xs text-text-secondary",
565
+ children: "Scheduled"
566
+ }), /* @__PURE__ */ w("p", {
567
+ className: "text-sm text-text-primary",
568
+ children: [
569
+ M.scheduledDate,
570
+ " at ",
571
+ M.scheduledTime
572
+ ]
573
+ })] })]
574
+ }),
575
+ /* @__PURE__ */ w("div", {
576
+ className: "flex items-center gap-2",
577
+ children: [/* @__PURE__ */ C(h, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
578
+ className: "text-xs text-text-secondary",
579
+ children: "Duration"
580
+ }), /* @__PURE__ */ w("p", {
581
+ className: "text-sm text-text-primary",
582
+ children: [M.duration, " minutes"]
583
+ })] })]
584
+ })
585
+ ]
586
+ })]
587
+ }),
588
+ I && /* @__PURE__ */ w("button", {
589
+ type: "button",
590
+ className: "w-full inline-flex items-center justify-center gap-2 rounded-lg border border-red-500/30 bg-red-500/5 px-4 py-3 text-sm font-medium text-red-600 dark:text-red-400 hover:bg-red-500/10 transition-colors",
591
+ children: [/* @__PURE__ */ C(x, { className: "h-4 w-4" }), "Cancel Booking"]
592
+ })
593
+ ]
594
+ })]
595
+ })
596
+ ]
589
597
  });
590
598
  }
591
599
  //#endregion
592
- export { D as BookingDetailsPage };
600
+ export { k as BookingDetailsPage };
593
601
 
594
602
  //# sourceMappingURL=BookingDetailsPage.js.map