@burdenoff/microfe-coolandlovely 2026.625.2 → 2026.628.1

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 (165) hide show
  1. package/dist/coolandlovely/CoolAndLovelyRoot.js +66 -122
  2. package/dist/coolandlovely/CoolAndLovelyRoot.js.map +1 -1
  3. package/dist/coolandlovely/CoolAndLovelyRoutes.js +87 -175
  4. package/dist/coolandlovely/CoolAndLovelyRoutes.js.map +1 -1
  5. package/dist/coolandlovely/components/Field.js +81 -0
  6. package/dist/coolandlovely/components/Field.js.map +1 -0
  7. package/dist/coolandlovely/components/StateViews.js +34 -0
  8. package/dist/coolandlovely/components/StateViews.js.map +1 -0
  9. package/dist/coolandlovely/components/StatusBadge.js +25 -22
  10. package/dist/coolandlovely/components/StatusBadge.js.map +1 -1
  11. package/dist/coolandlovely/components/TagList.js +21 -0
  12. package/dist/coolandlovely/components/TagList.js.map +1 -0
  13. package/dist/coolandlovely/components/Thumbnail.js +29 -0
  14. package/dist/coolandlovely/components/Thumbnail.js.map +1 -0
  15. package/dist/coolandlovely/context/CoolAndLovelyContext.js +10 -10
  16. package/dist/coolandlovely/context/CoolAndLovelyContext.js.map +1 -1
  17. package/dist/coolandlovely/hooks/index.js +1 -0
  18. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js +462 -169
  19. package/dist/coolandlovely/hooks/useCoolAndLovelyApi.js.map +1 -1
  20. package/dist/coolandlovely/pages/HomePage.js +251 -845
  21. package/dist/coolandlovely/pages/HomePage.js.map +1 -1
  22. package/dist/coolandlovely/pages/brands/BrandDetailPage.js +319 -0
  23. package/dist/coolandlovely/pages/brands/BrandDetailPage.js.map +1 -0
  24. package/dist/coolandlovely/pages/brands/BrandFormPage.js +190 -0
  25. package/dist/coolandlovely/pages/brands/BrandFormPage.js.map +1 -0
  26. package/dist/coolandlovely/pages/brands/BrandsListPage.js +158 -0
  27. package/dist/coolandlovely/pages/brands/BrandsListPage.js.map +1 -0
  28. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js +253 -0
  29. package/dist/coolandlovely/pages/collaborations/CollaborationDetailPage.js.map +1 -0
  30. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js +206 -0
  31. package/dist/coolandlovely/pages/collaborations/CollaborationFormPage.js.map +1 -0
  32. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js +129 -0
  33. package/dist/coolandlovely/pages/collaborations/CollaborationsListPage.js.map +1 -0
  34. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js +217 -0
  35. package/dist/coolandlovely/pages/collections/CollectionDetailPage.js.map +1 -0
  36. package/dist/coolandlovely/pages/collections/CollectionFormPage.js +217 -0
  37. package/dist/coolandlovely/pages/collections/CollectionFormPage.js.map +1 -0
  38. package/dist/coolandlovely/pages/collections/CollectionsListPage.js +122 -0
  39. package/dist/coolandlovely/pages/collections/CollectionsListPage.js.map +1 -0
  40. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js +230 -0
  41. package/dist/coolandlovely/pages/items/StyleItemDetailPage.js.map +1 -0
  42. package/dist/coolandlovely/pages/items/StyleItemFormPage.js +276 -0
  43. package/dist/coolandlovely/pages/items/StyleItemFormPage.js.map +1 -0
  44. package/dist/coolandlovely/pages/items/StyleItemsListPage.js +170 -0
  45. package/dist/coolandlovely/pages/items/StyleItemsListPage.js.map +1 -0
  46. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js +124 -0
  47. package/dist/coolandlovely/pages/lookbooks/LookbookDetailPage.js.map +1 -0
  48. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js +156 -0
  49. package/dist/coolandlovely/pages/lookbooks/LookbooksListPage.js.map +1 -0
  50. package/dist/coolandlovely/pages/looks/LookDetailPage.js +238 -0
  51. package/dist/coolandlovely/pages/looks/LookDetailPage.js.map +1 -0
  52. package/dist/coolandlovely/pages/looks/LookFormPage.js +209 -0
  53. package/dist/coolandlovely/pages/looks/LookFormPage.js.map +1 -0
  54. package/dist/coolandlovely/pages/looks/LooksListPage.js +181 -0
  55. package/dist/coolandlovely/pages/looks/LooksListPage.js.map +1 -0
  56. package/dist/coolandlovely/pages/profile/StyleProfilePage.js +224 -0
  57. package/dist/coolandlovely/pages/profile/StyleProfilePage.js.map +1 -0
  58. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js +173 -0
  59. package/dist/coolandlovely/pages/wardrobe/WardrobeFormPage.js.map +1 -0
  60. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js +172 -0
  61. package/dist/coolandlovely/pages/wardrobe/WardrobeListPage.js.map +1 -0
  62. package/dist/coolandlovely/store/coolandlovelyStore.js +2 -6
  63. package/dist/coolandlovely/store/coolandlovelyStore.js.map +1 -1
  64. package/dist/coolandlovely/utils/formatters.js +31 -23
  65. package/dist/coolandlovely/utils/formatters.js.map +1 -1
  66. package/dist/coolandlovely/utils/icons.js +34 -0
  67. package/dist/coolandlovely/utils/icons.js.map +1 -0
  68. package/dist/index.js +4 -4
  69. package/package.json +1 -1
  70. package/dist/coolandlovely/components/InvestmentCard.js +0 -98
  71. package/dist/coolandlovely/components/InvestmentCard.js.map +0 -1
  72. package/dist/coolandlovely/components/RatingDisplay.js +0 -35
  73. package/dist/coolandlovely/components/RatingDisplay.js.map +0 -1
  74. package/dist/coolandlovely/mocks/data.js +0 -1517
  75. package/dist/coolandlovely/mocks/data.js.map +0 -1
  76. package/dist/coolandlovely/mocks/users.js +0 -34
  77. package/dist/coolandlovely/mocks/users.js.map +0 -1
  78. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +0 -651
  79. package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +0 -1
  80. package/dist/coolandlovely/pages/admin/AdminDashboard.js +0 -673
  81. package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +0 -1
  82. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +0 -427
  83. package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +0 -1
  84. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +0 -665
  85. package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +0 -1
  86. package/dist/coolandlovely/pages/admin/AdminProfilePage.js +0 -264
  87. package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +0 -1
  88. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +0 -654
  89. package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +0 -1
  90. package/dist/coolandlovely/pages/admin/CartManagementPage.js +0 -874
  91. package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +0 -1
  92. package/dist/coolandlovely/pages/admin/UserManagementPage.js +0 -898
  93. package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +0 -1
  94. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +0 -842
  95. package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  96. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +0 -705
  97. package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  98. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +0 -802
  99. package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  100. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +0 -891
  101. package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  102. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +0 -639
  103. package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  104. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +0 -914
  105. package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  106. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +0 -882
  107. package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +0 -1
  108. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +0 -831
  109. package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +0 -1
  110. package/dist/coolandlovely/pages/common/HelpSupportPage.js +0 -1325
  111. package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +0 -1
  112. package/dist/coolandlovely/pages/common/NotificationCenterPage.js +0 -671
  113. package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +0 -1
  114. package/dist/coolandlovely/pages/common/SettingsPage.js +0 -973
  115. package/dist/coolandlovely/pages/common/SettingsPage.js.map +0 -1
  116. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +0 -630
  117. package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +0 -1
  118. package/dist/coolandlovely/pages/customer/CartDetailPage.js +0 -623
  119. package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +0 -1
  120. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +0 -558
  121. package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +0 -1
  122. package/dist/coolandlovely/pages/customer/CheckoutPage.js +0 -529
  123. package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +0 -1
  124. package/dist/coolandlovely/pages/customer/CustomerDashboard.js +0 -538
  125. package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +0 -1
  126. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +0 -658
  127. package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +0 -1
  128. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +0 -632
  129. package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +0 -1
  130. package/dist/coolandlovely/pages/customer/FavoritesPage.js +0 -487
  131. package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +0 -1
  132. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +0 -447
  133. package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +0 -1
  134. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +0 -425
  135. package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +0 -1
  136. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +0 -494
  137. package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +0 -1
  138. package/dist/coolandlovely/pages/customer/ReviewsPage.js +0 -616
  139. package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +0 -1
  140. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +0 -449
  141. package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +0 -1
  142. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +0 -887
  143. package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +0 -1
  144. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +0 -945
  145. package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  146. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +0 -687
  147. package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  148. package/dist/coolandlovely/pages/investor/InvestorDashboard.js +0 -455
  149. package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +0 -1
  150. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +0 -405
  151. package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  152. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +0 -602
  153. package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +0 -1
  154. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +0 -1070
  155. package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +0 -1
  156. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +0 -533
  157. package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +0 -1
  158. package/dist/coolandlovely/pages/worker/WorkerDashboard.js +0 -671
  159. package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +0 -1
  160. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +0 -680
  161. package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +0 -1
  162. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +0 -692
  163. package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +0 -1
  164. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +0 -583
  165. package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +0 -1
@@ -1,630 +0,0 @@
1
- import { useCoolAndLovely as e } from "../../context/CoolAndLovelyContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { StatusBadge as r } from "../../components/StatusBadge.js";
5
- import { EmptyState as i } from "../../components/EmptyState.js";
6
- import { formatCurrency as a, formatDate as o } from "../../utils/formatters.js";
7
- import { useMemo as s, useState as c } from "react";
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
- import { useParams as S } from "react-router-dom";
10
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
11
- import { EmphasisPanel as T, NextSteps as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
12
- //#region src/coolandlovely/pages/customer/BookingDetailsPage.tsx
13
- var O = [
14
- {
15
- id: "BK-001",
16
- serviceName: "Men's Haircut + Beard Trim",
17
- serviceDescription: "Professional haircut and beard grooming service at your doorstep",
18
- provider: {
19
- id: "SERV-001",
20
- name: "Quick Cuts Salon",
21
- phone: "+91-9876543210",
22
- rating: 4.6,
23
- reviewCount: 248,
24
- category: "Personal Care & Beauty",
25
- image: "https://images.unsplash.com/photo-1562322140-8baeececf3df?w=400",
26
- location: "Indiranagar, Bangalore"
27
- },
28
- scheduledDate: "2024-01-20",
29
- scheduledTime: "10:00 AM",
30
- duration: 50,
31
- status: "confirmed",
32
- location: {
33
- street: "123 Main Street",
34
- area: "Koramangala",
35
- city: "Bangalore",
36
- pincode: "560034",
37
- landmark: "Near Metro Station"
38
- },
39
- pricing: {
40
- serviceCharge: 450,
41
- convenienceFee: 30,
42
- tax: 48,
43
- discount: 50,
44
- total: 478
45
- },
46
- createdAt: "2024-01-16T14:30:00Z",
47
- notes: "Please bring your own equipment",
48
- timeline: [
49
- {
50
- status: "booked",
51
- label: "Booking Placed",
52
- timestamp: "2024-01-16T14:30:00Z",
53
- completed: !0
54
- },
55
- {
56
- status: "confirmed",
57
- label: "Booking Confirmed",
58
- timestamp: "2024-01-16T14:35:00Z",
59
- completed: !0
60
- },
61
- {
62
- status: "in_progress",
63
- label: "Service Started",
64
- timestamp: null,
65
- completed: !1
66
- },
67
- {
68
- status: "completed",
69
- label: "Service Completed",
70
- timestamp: null,
71
- completed: !1
72
- }
73
- ]
74
- },
75
- {
76
- id: "BK-002",
77
- serviceName: "Deep House Cleaning",
78
- serviceDescription: "Complete house cleaning service including kitchen, bathrooms, and living areas",
79
- provider: {
80
- id: "SERV-005",
81
- name: "Spotless Cleaning Services",
82
- phone: "+91-9876543215",
83
- rating: 4.8,
84
- reviewCount: 312,
85
- category: "Home Services",
86
- image: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=400",
87
- location: "Whitefield, Bangalore"
88
- },
89
- scheduledDate: "2024-01-18",
90
- scheduledTime: "09:00 AM",
91
- duration: 180,
92
- status: "completed",
93
- location: {
94
- street: "456 Park Avenue",
95
- area: "Indiranagar",
96
- city: "Bangalore",
97
- pincode: "560038"
98
- },
99
- pricing: {
100
- serviceCharge: 1500,
101
- convenienceFee: 50,
102
- tax: 155,
103
- discount: 0,
104
- total: 1705
105
- },
106
- createdAt: "2024-01-15T10:00:00Z",
107
- timeline: [
108
- {
109
- status: "booked",
110
- label: "Booking Placed",
111
- timestamp: "2024-01-15T10:00:00Z",
112
- completed: !0
113
- },
114
- {
115
- status: "confirmed",
116
- label: "Booking Confirmed",
117
- timestamp: "2024-01-15T10:05:00Z",
118
- completed: !0
119
- },
120
- {
121
- status: "in_progress",
122
- label: "Service Started",
123
- timestamp: "2024-01-18T09:10:00Z",
124
- completed: !0
125
- },
126
- {
127
- status: "completed",
128
- label: "Service Completed",
129
- timestamp: "2024-01-18T12:15:00Z",
130
- completed: !0
131
- }
132
- ]
133
- },
134
- {
135
- id: "BK-003",
136
- serviceName: "Facial Treatment",
137
- serviceDescription: "Deep cleansing facial with natural ingredients for glowing skin",
138
- provider: {
139
- id: "SERV-002",
140
- name: "Glow Beauty Services",
141
- phone: "+91-9876543212",
142
- rating: 4.7,
143
- reviewCount: 180,
144
- category: "Personal Care & Beauty",
145
- image: "https://images.unsplash.com/photo-1560066984-138dadb4c035?w=400",
146
- location: "HSR Layout, Bangalore"
147
- },
148
- scheduledDate: "2024-01-22",
149
- scheduledTime: "02:00 PM",
150
- duration: 60,
151
- status: "cancelled",
152
- location: {
153
- street: "789 Lake View",
154
- area: "HSR Layout",
155
- city: "Bangalore",
156
- pincode: "560102"
157
- },
158
- pricing: {
159
- serviceCharge: 800,
160
- convenienceFee: 30,
161
- tax: 83,
162
- discount: 0,
163
- total: 913
164
- },
165
- createdAt: "2024-01-17T16:00:00Z",
166
- cancellationReason: "Schedule conflict - need to reschedule",
167
- timeline: [
168
- {
169
- status: "booked",
170
- label: "Booking Placed",
171
- timestamp: "2024-01-17T16:00:00Z",
172
- completed: !0
173
- },
174
- {
175
- status: "confirmed",
176
- label: "Booking Confirmed",
177
- timestamp: "2024-01-17T16:10:00Z",
178
- completed: !0
179
- },
180
- {
181
- status: "cancelled",
182
- label: "Booking Cancelled",
183
- timestamp: "2024-01-18T09:00:00Z",
184
- completed: !0
185
- }
186
- ]
187
- }
188
- ], k = (e) => O.find((t) => t.id === e);
189
- function A() {
190
- let { bookingId: O } = S(), { navigateTo: A } = e(), [j, M] = c(null), N = s(() => O ? k(O) : void 0, [O]), P = (e) => {
191
- M(e), setTimeout(() => M(null), 3e3);
192
- };
193
- if (!N) return /* @__PURE__ */ C(n, {
194
- title: "Booking Not Found",
195
- children: /* @__PURE__ */ C(i, {
196
- illustration: "empty-search",
197
- title: "Booking not found",
198
- description: `No booking found with ID"${O}".`,
199
- action: /* @__PURE__ */ C("button", {
200
- type: "button",
201
- onClick: () => A("/customer/dashboard"),
202
- className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
203
- children: "Go to Dashboard"
204
- })
205
- })
206
- });
207
- let F = N.status === "cancelled", I = N.status === "completed", L = !F && !I, R = () => {
208
- P("Support team will contact you shortly.");
209
- }, z = () => {
210
- P("Thank you! Rating feature coming soon.");
211
- };
212
- return /* @__PURE__ */ w(n, {
213
- title: /* @__PURE__ */ w("div", {
214
- className: "flex items-center gap-3",
215
- children: [/* @__PURE__ */ C("button", {
216
- type: "button",
217
- onClick: () => A("/customer/dashboard"),
218
- className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
219
- children: /* @__PURE__ */ C(u, { className: "h-5 w-5" })
220
- }), /* @__PURE__ */ w("span", { children: ["Booking #", N.id] })]
221
- }),
222
- actions: /* @__PURE__ */ C(r, { status: N.status }),
223
- children: [
224
- /* @__PURE__ */ C(D, {
225
- className: "mb-6",
226
- icon: /* @__PURE__ */ C(f, { className: "h-4 w-4" }),
227
- children: "Everything about this service booking in one view: what you booked, who is providing it, when it is scheduled, where it stands right now, and the full cost. Reach support, rate the service when it is done, or check the cart details — all from here."
228
- }),
229
- /* @__PURE__ */ C(E, {
230
- className: "mb-6",
231
- storageKey: "coolandlovely-booking-details",
232
- steps: [
233
- {
234
- id: "support",
235
- label: "Contact support",
236
- description: "Have a question about this booking? Reach the support team.",
237
- icon: /* @__PURE__ */ C(g, { className: "h-4 w-4" }),
238
- onClick: R
239
- },
240
- {
241
- id: "rate",
242
- label: "Rate the service",
243
- description: "Share your experience once the service is completed.",
244
- icon: /* @__PURE__ */ C(b, { className: "h-4 w-4" }),
245
- onClick: z,
246
- done: !I
247
- },
248
- {
249
- id: "rebook",
250
- label: "Book this provider again",
251
- description: "Liked the service? Book the same provider for another time.",
252
- icon: /* @__PURE__ */ C(f, { className: "h-4 w-4" }),
253
- onClick: () => A("/customer/carts")
254
- }
255
- ]
256
- }),
257
- j && /* @__PURE__ */ w("div", {
258
- className: "mb-4 rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-3 flex items-center gap-2",
259
- children: [/* @__PURE__ */ C(p, { className: "h-4 w-4 text-status-success-text shrink-0" }), /* @__PURE__ */ C("p", {
260
- className: "text-sm text-status-success-text",
261
- children: j
262
- })]
263
- }),
264
- /* @__PURE__ */ w("div", {
265
- className: "grid grid-cols-1 gap-6 lg:grid-cols-3",
266
- children: [/* @__PURE__ */ w("div", {
267
- className: "lg:col-span-2 space-y-6",
268
- children: [
269
- /* @__PURE__ */ w("div", {
270
- className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
271
- children: [
272
- /* @__PURE__ */ C("h2", {
273
- className: "text-lg font-semibold text-text-primary",
274
- children: N.serviceName
275
- }),
276
- /* @__PURE__ */ C("p", {
277
- className: "mt-1 text-sm text-text-secondary",
278
- children: N.serviceDescription
279
- }),
280
- /* @__PURE__ */ w("div", {
281
- className: "mt-4 flex flex-wrap gap-4 text-sm text-text-secondary",
282
- children: [
283
- /* @__PURE__ */ w("div", {
284
- className: "flex items-center gap-1.5",
285
- children: [/* @__PURE__ */ C(d, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: N.scheduledDate })]
286
- }),
287
- /* @__PURE__ */ w("div", {
288
- className: "flex items-center gap-1.5",
289
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", { children: N.scheduledTime })]
290
- }),
291
- /* @__PURE__ */ w("div", {
292
- className: "flex items-center gap-1.5",
293
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), /* @__PURE__ */ w("span", { children: [N.duration, " min"] })]
294
- })
295
- ]
296
- }),
297
- N.notes && /* @__PURE__ */ w("div", {
298
- className: "mt-4 rounded-md bg-bg-sunken p-3",
299
- children: [/* @__PURE__ */ C("p", {
300
- className: "text-xs text-text-secondary mb-1",
301
- children: "Notes"
302
- }), /* @__PURE__ */ C("p", {
303
- className: "text-sm text-text-primary",
304
- children: N.notes
305
- })]
306
- }),
307
- N.cancellationReason && /* @__PURE__ */ w("div", {
308
- className: "mt-4 rounded-md bg-status-error-bg-subtle/5 border border-status-error-border/20 p-3",
309
- children: [/* @__PURE__ */ w("div", {
310
- className: "flex items-center gap-2 mb-1",
311
- children: [/* @__PURE__ */ C(l, { className: "h-3.5 w-3.5 text-status-error-text" }), /* @__PURE__ */ C("p", {
312
- className: "text-xs font-medium text-status-error-text",
313
- children: "Cancellation Reason"
314
- })]
315
- }), /* @__PURE__ */ C("p", {
316
- className: "text-sm text-text-primary",
317
- children: N.cancellationReason
318
- })]
319
- })
320
- ]
321
- }),
322
- /* @__PURE__ */ w("div", {
323
- className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
324
- children: [
325
- /* @__PURE__ */ C("h2", {
326
- className: "text-base font-semibold text-text-primary mb-4",
327
- children: "Service Provider"
328
- }),
329
- /* @__PURE__ */ w("div", {
330
- className: "flex items-center gap-4",
331
- children: [
332
- /* @__PURE__ */ C("div", {
333
- className: "flex h-12 w-12 items-center justify-center rounded-full bg-bg-sunken text-text-secondary",
334
- children: /* @__PURE__ */ C(y, { className: "h-6 w-6" })
335
- }),
336
- /* @__PURE__ */ w("div", {
337
- className: "flex-1 min-w-0",
338
- children: [
339
- /* @__PURE__ */ C("p", {
340
- className: "text-sm font-semibold text-text-primary",
341
- children: N.provider.name
342
- }),
343
- /* @__PURE__ */ C("p", {
344
- className: "text-xs text-text-secondary",
345
- children: N.provider.category
346
- }),
347
- /* @__PURE__ */ w("div", {
348
- className: "flex items-center gap-1 mt-1",
349
- children: [/* @__PURE__ */ C(b, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }), /* @__PURE__ */ C("span", {
350
- className: "text-xs font-medium text-text-primary",
351
- children: N.provider.rating
352
- })]
353
- })
354
- ]
355
- }),
356
- /* @__PURE__ */ C("a", {
357
- href: `tel:${N.provider.phone}`,
358
- 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",
359
- children: /* @__PURE__ */ C(v, { className: "h-4 w-4" })
360
- })
361
- ]
362
- }),
363
- /* @__PURE__ */ w("div", {
364
- className: "mt-3 flex items-center gap-2 text-sm text-text-secondary",
365
- children: [/* @__PURE__ */ C(v, { className: "h-4 w-4 shrink-0" }), /* @__PURE__ */ C("span", { children: N.provider.phone })]
366
- })
367
- ]
368
- }),
369
- /* @__PURE__ */ w(T, {
370
- className: "p-6",
371
- children: [/* @__PURE__ */ C("h2", {
372
- className: "text-base font-semibold text-text-primary mb-5",
373
- children: "Booking Timeline"
374
- }), /* @__PURE__ */ C("div", {
375
- className: "relative",
376
- children: N.timeline.map((e, n) => {
377
- let r = n === N.timeline.length - 1, i = e.status === "cancelled", a = i ? x : e.completed ? p : m;
378
- return /* @__PURE__ */ w("div", {
379
- className: "flex gap-4",
380
- children: [/* @__PURE__ */ w("div", {
381
- className: "flex flex-col items-center",
382
- children: [/* @__PURE__ */ C("div", {
383
- className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full", i ? "bg-status-error-bg-subtle/10 text-status-error-text" : e.completed ? "bg-status-success-bg-subtle/10 text-status-success-text" : "bg-bg-sunken text-text-secondary"),
384
- children: /* @__PURE__ */ C(a, { className: "h-4 w-4" })
385
- }), !r && /* @__PURE__ */ C("div", { className: t("w-0.5 flex-1 my-1", e.completed ? "bg-status-success-bg-subtle/30" : "bg-border") })]
386
- }), /* @__PURE__ */ w("div", {
387
- className: t("pb-6", r && "pb-0"),
388
- children: [/* @__PURE__ */ C("p", {
389
- className: "text-sm font-medium text-text-primary",
390
- children: e.label
391
- }), /* @__PURE__ */ C("p", {
392
- className: "mt-0.5 text-xs text-text-secondary",
393
- children: e.timestamp ? o(e.timestamp) : "Pending"
394
- })]
395
- })]
396
- }, `${e.status}-${n}`);
397
- })
398
- })]
399
- }),
400
- /* @__PURE__ */ w("div", {
401
- className: "flex flex-col sm:flex-row gap-3",
402
- children: [/* @__PURE__ */ w("button", {
403
- type: "button",
404
- onClick: R,
405
- 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",
406
- children: [/* @__PURE__ */ C(g, { className: "h-4 w-4" }), "Contact Support"]
407
- }), I && /* @__PURE__ */ w("button", {
408
- type: "button",
409
- onClick: z,
410
- 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",
411
- children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Rate Service"]
412
- })]
413
- })
414
- ]
415
- }), /* @__PURE__ */ w("div", {
416
- className: "space-y-6",
417
- children: [
418
- /* @__PURE__ */ w("div", {
419
- className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
420
- children: [
421
- /* @__PURE__ */ C("h3", {
422
- className: "text-base font-semibold text-text-primary mb-3",
423
- children: "Cart Information"
424
- }),
425
- /* @__PURE__ */ w("div", {
426
- className: "flex items-center gap-3 mb-4",
427
- children: [/* @__PURE__ */ C("img", {
428
- src: N.provider.image,
429
- alt: N.provider.name,
430
- className: "h-14 w-14 rounded-lg object-cover"
431
- }), /* @__PURE__ */ w("div", {
432
- className: "min-w-0",
433
- children: [
434
- /* @__PURE__ */ C("p", {
435
- className: "text-sm font-semibold text-text-primary",
436
- children: N.provider.name
437
- }),
438
- /* @__PURE__ */ C("p", {
439
- className: "text-xs text-text-secondary",
440
- children: N.provider.category
441
- }),
442
- /* @__PURE__ */ w("div", {
443
- className: "flex items-center gap-1 mt-0.5",
444
- children: [
445
- /* @__PURE__ */ C(b, { className: "h-3 w-3 fill-status-warning-text text-status-warning-text" }),
446
- /* @__PURE__ */ C("span", {
447
- className: "text-xs font-medium text-text-primary",
448
- children: N.provider.rating
449
- }),
450
- /* @__PURE__ */ w("span", {
451
- className: "text-xs text-text-secondary",
452
- children: [
453
- "(",
454
- N.provider.reviewCount,
455
- ")"
456
- ]
457
- })
458
- ]
459
- })
460
- ]
461
- })]
462
- }),
463
- /* @__PURE__ */ C("div", {
464
- className: "space-y-2 text-sm mb-4",
465
- children: /* @__PURE__ */ w("div", {
466
- className: "flex items-start gap-2",
467
- children: [/* @__PURE__ */ C(_, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ C("span", {
468
- className: "text-text-secondary",
469
- children: N.provider.location
470
- })]
471
- })
472
- }),
473
- /* @__PURE__ */ C("button", {
474
- type: "button",
475
- onClick: () => A(`/customer/carts/${N.provider.id}`),
476
- 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",
477
- children: "View Cart Menu"
478
- })
479
- ]
480
- }),
481
- /* @__PURE__ */ w("div", {
482
- className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
483
- children: [/* @__PURE__ */ C("h3", {
484
- className: "text-base font-semibold text-text-primary mb-3",
485
- children: "Service Location"
486
- }), /* @__PURE__ */ w("div", {
487
- className: "flex items-start gap-3",
488
- children: [/* @__PURE__ */ C(_, { className: "mt-0.5 h-5 w-5 shrink-0 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [
489
- /* @__PURE__ */ C("p", {
490
- className: "text-sm text-text-primary",
491
- children: N.location.street
492
- }),
493
- /* @__PURE__ */ w("p", {
494
- className: "text-sm text-text-secondary",
495
- children: [
496
- N.location.area,
497
- ", ",
498
- N.location.city,
499
- " - ",
500
- N.location.pincode
501
- ]
502
- }),
503
- N.location.landmark && /* @__PURE__ */ w("p", {
504
- className: "text-xs text-text-secondary mt-1",
505
- children: ["Landmark: ", N.location.landmark]
506
- })
507
- ] })]
508
- })]
509
- }),
510
- /* @__PURE__ */ w("div", {
511
- className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
512
- children: [/* @__PURE__ */ C("h3", {
513
- className: "text-base font-semibold text-text-primary mb-3",
514
- children: "Price Breakdown"
515
- }), /* @__PURE__ */ w("div", {
516
- className: "space-y-2.5 text-sm",
517
- children: [
518
- /* @__PURE__ */ w("div", {
519
- className: "flex justify-between",
520
- children: [/* @__PURE__ */ C("span", {
521
- className: "text-text-secondary",
522
- children: "Service Charge"
523
- }), /* @__PURE__ */ C("span", {
524
- className: "text-text-primary",
525
- children: a(N.pricing.serviceCharge, { minimumFractionDigits: 0 })
526
- })]
527
- }),
528
- /* @__PURE__ */ w("div", {
529
- className: "flex justify-between",
530
- children: [/* @__PURE__ */ C("span", {
531
- className: "text-text-secondary",
532
- children: "Convenience Fee"
533
- }), /* @__PURE__ */ C("span", {
534
- className: "text-text-primary",
535
- children: a(N.pricing.convenienceFee, { minimumFractionDigits: 0 })
536
- })]
537
- }),
538
- /* @__PURE__ */ w("div", {
539
- className: "flex justify-between",
540
- children: [/* @__PURE__ */ C("span", {
541
- className: "text-text-secondary",
542
- children: "Tax"
543
- }), /* @__PURE__ */ C("span", {
544
- className: "text-text-primary",
545
- children: a(N.pricing.tax, { minimumFractionDigits: 0 })
546
- })]
547
- }),
548
- N.pricing.discount > 0 && /* @__PURE__ */ w("div", {
549
- className: "flex justify-between",
550
- children: [/* @__PURE__ */ C("span", {
551
- className: "text-status-success-text",
552
- children: "Discount"
553
- }), /* @__PURE__ */ w("span", {
554
- className: "text-status-success-text",
555
- children: ["-", a(N.pricing.discount, { minimumFractionDigits: 0 })]
556
- })]
557
- }),
558
- /* @__PURE__ */ w("div", {
559
- className: "flex justify-between border-t border-border-subtle pt-2.5",
560
- children: [/* @__PURE__ */ C("span", {
561
- className: "font-semibold text-text-primary",
562
- children: "Total"
563
- }), /* @__PURE__ */ C("span", {
564
- className: "font-bold text-text-primary",
565
- children: a(N.pricing.total, { minimumFractionDigits: 0 })
566
- })]
567
- })
568
- ]
569
- })]
570
- }),
571
- /* @__PURE__ */ w("div", {
572
- className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
573
- children: [/* @__PURE__ */ C("h3", {
574
- className: "text-base font-semibold text-text-primary mb-3",
575
- children: "Booking Info"
576
- }), /* @__PURE__ */ w("div", {
577
- className: "space-y-3",
578
- children: [
579
- /* @__PURE__ */ w("div", {
580
- className: "flex items-center gap-2",
581
- children: [/* @__PURE__ */ C(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
582
- className: "text-xs text-text-secondary",
583
- children: "Booked On"
584
- }), /* @__PURE__ */ C("p", {
585
- className: "text-sm text-text-primary",
586
- children: o(N.createdAt)
587
- })] })]
588
- }),
589
- /* @__PURE__ */ w("div", {
590
- className: "flex items-center gap-2",
591
- children: [/* @__PURE__ */ C(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
592
- className: "text-xs text-text-secondary",
593
- children: "Scheduled"
594
- }), /* @__PURE__ */ w("p", {
595
- className: "text-sm text-text-primary",
596
- children: [
597
- N.scheduledDate,
598
- " at ",
599
- N.scheduledTime
600
- ]
601
- })] })]
602
- }),
603
- /* @__PURE__ */ w("div", {
604
- className: "flex items-center gap-2",
605
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
606
- className: "text-xs text-text-secondary",
607
- children: "Duration"
608
- }), /* @__PURE__ */ w("p", {
609
- className: "text-sm text-text-primary",
610
- children: [N.duration, " minutes"]
611
- })] })]
612
- })
613
- ]
614
- })]
615
- }),
616
- L && /* @__PURE__ */ w("button", {
617
- type: "button",
618
- className: "w-full inline-flex items-center justify-center gap-2 rounded-lg border border-status-error-border/30 bg-status-error-bg-subtle/5 px-4 py-3 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle/10 transition-colors",
619
- children: [/* @__PURE__ */ C(x, { className: "h-4 w-4" }), "Cancel Booking"]
620
- })
621
- ]
622
- })]
623
- })
624
- ]
625
- });
626
- }
627
- //#endregion
628
- export { A as BookingDetailsPage };
629
-
630
- //# sourceMappingURL=BookingDetailsPage.js.map