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