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