@burdenoff/microfe-adaptercloud 2026.625.1 → 2026.625.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adaptercloud/components/PageLayout.js +24 -17
- package/dist/adaptercloud/components/PageLayout.js.map +1 -1
- package/dist/adaptercloud/pages/HomePage.js +18 -16
- package/dist/adaptercloud/pages/HomePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +70 -44
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +60 -55
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +97 -92
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +59 -57
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +118 -104
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +145 -140
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +152 -147
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +87 -81
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +179 -165
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +73 -48
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +95 -93
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +110 -107
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +293 -299
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +218 -224
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +122 -128
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +248 -244
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +96 -91
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/SettingsPage.js +754 -736
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +63 -61
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +110 -108
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +221 -217
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +89 -87
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +410 -381
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +120 -118
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +86 -81
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +53 -51
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +114 -109
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +60 -58
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +87 -72
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +65 -63
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +68 -53
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +63 -61
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +86 -84
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +57 -55
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +341 -308
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +34 -32
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +48 -46
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +383 -381
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +348 -319
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +84 -59
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +73 -71
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +76 -74
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +70 -68
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -8,19 +8,20 @@ import { useMemo as o, useState as s } from "react";
|
|
|
8
8
|
import { AlertCircle as c, ArrowLeft as l, ArrowRight as u, Calendar as d, CheckCircle2 as f, Clock as p, CreditCard as m, Home as h, Loader2 as g, MapPin as _, Navigation as v, Phone as y, Smartphone as b, Wallet as x } from "lucide-react";
|
|
9
9
|
import { useParams as S } from "react-router-dom";
|
|
10
10
|
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
11
|
+
import { EmphasisPanel as E } from "@burdenoff/fe-libs/ui";
|
|
11
12
|
//#region src/adaptercloud/pages/customer/DirectServiceBookingPage.tsx
|
|
12
|
-
var
|
|
13
|
+
var D = [
|
|
13
14
|
"location",
|
|
14
15
|
"details",
|
|
15
16
|
"payment",
|
|
16
17
|
"confirmation"
|
|
17
|
-
],
|
|
18
|
+
], O = {
|
|
18
19
|
location: "Location",
|
|
19
20
|
details: "Details",
|
|
20
21
|
payment: "Payment",
|
|
21
22
|
confirmation: "Confirmation"
|
|
22
23
|
};
|
|
23
|
-
function
|
|
24
|
+
function k() {
|
|
24
25
|
let e = [], t = new Date((/* @__PURE__ */ new Date()).getTime() + 30 * 6e4);
|
|
25
26
|
for (let n = 0; n < 8; n++) {
|
|
26
27
|
let r = new Date(t.getTime() + n * 30 * 6e4), i = r.toTimeString().slice(0, 5), a = r.toLocaleTimeString([], {
|
|
@@ -34,18 +35,18 @@ function O() {
|
|
|
34
35
|
}
|
|
35
36
|
return e;
|
|
36
37
|
}
|
|
37
|
-
function
|
|
38
|
-
let { cartId:
|
|
38
|
+
function A() {
|
|
39
|
+
let { cartId: A } = S(), { navigateTo: j } = e(), M = o(() => A ? a(A) : void 0, [A]), [N, P] = s("location"), [F, I] = s(!1), [L, R] = s({
|
|
39
40
|
address: "",
|
|
40
41
|
landmark: "",
|
|
41
42
|
instructions: "",
|
|
42
43
|
phoneNumber: ""
|
|
43
|
-
}), [
|
|
44
|
+
}), [z, B] = s({
|
|
44
45
|
preferredTime: "",
|
|
45
46
|
specialInstructions: "",
|
|
46
47
|
isUrgent: !1
|
|
47
|
-
}), [
|
|
48
|
-
if (!
|
|
48
|
+
}), [V, H] = s("upi"), [U, W] = s(null);
|
|
49
|
+
if (!M) return /* @__PURE__ */ w(n, {
|
|
49
50
|
title: "Cart Not Found",
|
|
50
51
|
children: /* @__PURE__ */ w(r, {
|
|
51
52
|
illustration: "empty-search",
|
|
@@ -54,36 +55,36 @@ function k() {
|
|
|
54
55
|
description: "Direct service is not available for this cart.",
|
|
55
56
|
action: /* @__PURE__ */ w("button", {
|
|
56
57
|
type: "button",
|
|
57
|
-
onClick: () =>
|
|
58
|
+
onClick: () => j("/customer/carts"),
|
|
58
59
|
className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
59
60
|
children: "Browse Carts"
|
|
60
61
|
})
|
|
61
62
|
})
|
|
62
63
|
});
|
|
63
|
-
let
|
|
64
|
+
let G = k(), K = D.indexOf(N), q = () => {
|
|
64
65
|
if (!navigator.geolocation) {
|
|
65
66
|
alert("Geolocation is not supported by this browser.");
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
navigator.geolocation.getCurrentPosition(() => {
|
|
69
|
-
|
|
70
|
+
R((e) => ({
|
|
70
71
|
...e,
|
|
71
72
|
address: e.address || "Current location detected"
|
|
72
73
|
})), alert("Location detected successfully!");
|
|
73
74
|
}, () => {
|
|
74
75
|
alert("Failed to get your location. Please enter address manually.");
|
|
75
76
|
});
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
}, X = () => {
|
|
79
|
-
M === "details" ? N("location") : M === "payment" && N("details");
|
|
77
|
+
}, J = () => L.address.trim() ? L.phoneNumber.trim() ? !0 : (alert("Please enter your phone number."), !1) : (alert("Please enter your address."), !1), Y = () => z.preferredTime ? !0 : (alert("Please select a preferred time slot."), !1), X = () => {
|
|
78
|
+
N === "location" && J() ? P("details") : N === "details" && Y() ? P("payment") : N === "payment" && Q();
|
|
80
79
|
}, Z = () => {
|
|
81
|
-
|
|
82
|
-
|
|
80
|
+
N === "details" ? P("location") : N === "payment" && P("details");
|
|
81
|
+
}, Q = () => {
|
|
82
|
+
I(!0), setTimeout(() => {
|
|
83
|
+
W({
|
|
83
84
|
bookingId: `BK-${Date.now()}`,
|
|
84
85
|
transactionId: `TXN-${Date.now()}`,
|
|
85
86
|
estimatedArrival: new Date(Date.now() + 30 * 6e4).toISOString()
|
|
86
|
-
}),
|
|
87
|
+
}), P("confirmation"), I(!1);
|
|
87
88
|
}, 1500);
|
|
88
89
|
};
|
|
89
90
|
return /* @__PURE__ */ T(n, {
|
|
@@ -91,38 +92,42 @@ function k() {
|
|
|
91
92
|
className: "flex items-center gap-3",
|
|
92
93
|
children: [/* @__PURE__ */ w("button", {
|
|
93
94
|
type: "button",
|
|
94
|
-
onClick: () =>
|
|
95
|
+
onClick: () => j(`/customer/carts/${M.id}`),
|
|
95
96
|
className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
|
|
96
97
|
children: /* @__PURE__ */ w(l, { className: "h-5 w-5" })
|
|
97
98
|
}), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("span", { children: "Book Direct Service" }), /* @__PURE__ */ w("p", {
|
|
98
99
|
className: "text-xs font-normal text-text-secondary",
|
|
99
|
-
children:
|
|
100
|
+
children: M.name
|
|
100
101
|
})] })]
|
|
101
102
|
}),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
103
|
+
purpose: "Book a service from this cart in a few guided steps — pick the service, choose a date and time, add any details, and confirm. Follow the steps top to bottom and you'll have a confirmed booking at the end.",
|
|
104
|
+
children: [/* @__PURE__ */ w(E, {
|
|
105
|
+
className: "mb-6",
|
|
106
|
+
children: /* @__PURE__ */ w("div", {
|
|
107
|
+
className: "flex items-center justify-between px-2",
|
|
108
|
+
children: D.map((e, n) => {
|
|
109
|
+
let r = n < K, i = e === N;
|
|
110
|
+
return /* @__PURE__ */ T("div", {
|
|
111
|
+
className: "flex items-center",
|
|
112
|
+
children: [/* @__PURE__ */ T("div", {
|
|
113
|
+
className: "flex flex-col items-center",
|
|
114
|
+
children: [/* @__PURE__ */ w("div", {
|
|
115
|
+
className: t("flex h-8 w-8 items-center justify-center rounded-full text-xs font-medium", r ? "bg-status-success-bg-subtle/20 text-status-success-text" : i ? "bg-foreground text-background" : "bg-bg-sunken text-text-secondary"),
|
|
116
|
+
children: r ? /* @__PURE__ */ w(f, { className: "h-4 w-4" }) : n + 1
|
|
117
|
+
}), /* @__PURE__ */ w("span", {
|
|
118
|
+
className: t("mt-1 text-[10px]", i ? "font-medium text-text-primary" : "text-text-secondary"),
|
|
119
|
+
children: O[e]
|
|
120
|
+
})]
|
|
121
|
+
}), n < D.length - 1 && /* @__PURE__ */ w("div", { className: t("mx-2 h-0.5 w-8 sm:w-16", r ? "bg-status-success-bg-subtle/30" : "bg-border") })]
|
|
122
|
+
}, e);
|
|
123
|
+
})
|
|
119
124
|
})
|
|
120
125
|
}), /* @__PURE__ */ T("div", {
|
|
121
126
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
122
127
|
children: [/* @__PURE__ */ T("div", {
|
|
123
128
|
className: "lg:col-span-2",
|
|
124
129
|
children: [
|
|
125
|
-
|
|
130
|
+
N === "location" && /* @__PURE__ */ T("div", {
|
|
126
131
|
className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
|
|
127
132
|
children: [
|
|
128
133
|
/* @__PURE__ */ T("h2", {
|
|
@@ -147,15 +152,15 @@ function k() {
|
|
|
147
152
|
children: [/* @__PURE__ */ w("input", {
|
|
148
153
|
type: "text",
|
|
149
154
|
placeholder: "Enter your full address",
|
|
150
|
-
value:
|
|
151
|
-
onChange: (e) =>
|
|
155
|
+
value: L.address,
|
|
156
|
+
onChange: (e) => R((t) => ({
|
|
152
157
|
...t,
|
|
153
158
|
address: e.target.value
|
|
154
159
|
})),
|
|
155
160
|
className: "flex-1 rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
156
161
|
}), /* @__PURE__ */ T("button", {
|
|
157
162
|
type: "button",
|
|
158
|
-
onClick:
|
|
163
|
+
onClick: q,
|
|
159
164
|
className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-3 py-2 text-xs font-medium text-text-primary hover:bg-accent transition-colors whitespace-nowrap",
|
|
160
165
|
children: [/* @__PURE__ */ w(v, { className: "h-3.5 w-3.5" }), "Use Current Location"]
|
|
161
166
|
})]
|
|
@@ -166,8 +171,8 @@ function k() {
|
|
|
166
171
|
}), /* @__PURE__ */ w("input", {
|
|
167
172
|
type: "text",
|
|
168
173
|
placeholder: "e.g., Near Metro Station, Opposite Mall",
|
|
169
|
-
value:
|
|
170
|
-
onChange: (e) =>
|
|
174
|
+
value: L.landmark,
|
|
175
|
+
onChange: (e) => R((t) => ({
|
|
171
176
|
...t,
|
|
172
177
|
landmark: e.target.value
|
|
173
178
|
})),
|
|
@@ -179,8 +184,8 @@ function k() {
|
|
|
179
184
|
}), /* @__PURE__ */ w("textarea", {
|
|
180
185
|
rows: 3,
|
|
181
186
|
placeholder: "Any specific instructions to help us find you...",
|
|
182
|
-
value:
|
|
183
|
-
onChange: (e) =>
|
|
187
|
+
value: L.instructions,
|
|
188
|
+
onChange: (e) => R((t) => ({
|
|
184
189
|
...t,
|
|
185
190
|
instructions: e.target.value
|
|
186
191
|
})),
|
|
@@ -197,8 +202,8 @@ function k() {
|
|
|
197
202
|
children: [/* @__PURE__ */ w(y, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ w("input", {
|
|
198
203
|
type: "tel",
|
|
199
204
|
placeholder: "Enter your phone number",
|
|
200
|
-
value:
|
|
201
|
-
onChange: (e) =>
|
|
205
|
+
value: L.phoneNumber,
|
|
206
|
+
onChange: (e) => R((t) => ({
|
|
202
207
|
...t,
|
|
203
208
|
phoneNumber: e.target.value
|
|
204
209
|
})),
|
|
@@ -209,7 +214,7 @@ function k() {
|
|
|
209
214
|
})
|
|
210
215
|
]
|
|
211
216
|
}),
|
|
212
|
-
|
|
217
|
+
N === "details" && /* @__PURE__ */ T("div", {
|
|
213
218
|
className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
|
|
214
219
|
children: [
|
|
215
220
|
/* @__PURE__ */ T("h2", {
|
|
@@ -231,13 +236,13 @@ function k() {
|
|
|
231
236
|
})]
|
|
232
237
|
}), /* @__PURE__ */ w("div", {
|
|
233
238
|
className: "grid grid-cols-4 gap-2",
|
|
234
|
-
children:
|
|
239
|
+
children: G.map((e) => /* @__PURE__ */ w("button", {
|
|
235
240
|
type: "button",
|
|
236
|
-
onClick: () =>
|
|
241
|
+
onClick: () => B((t) => ({
|
|
237
242
|
...t,
|
|
238
243
|
preferredTime: e.value
|
|
239
244
|
})),
|
|
240
|
-
className: t("rounded-lg border py-2 px-2 text-xs font-medium transition-colors",
|
|
245
|
+
className: t("rounded-lg border py-2 px-2 text-xs font-medium transition-colors", z.preferredTime === e.value ? "border-foreground bg-accent text-text-primary" : "border-border-subtle text-text-secondary hover:bg-accent hover:text-text-primary"),
|
|
241
246
|
children: e.label
|
|
242
247
|
}, e.value))
|
|
243
248
|
})] }),
|
|
@@ -247,8 +252,8 @@ function k() {
|
|
|
247
252
|
}), /* @__PURE__ */ w("textarea", {
|
|
248
253
|
rows: 3,
|
|
249
254
|
placeholder: "Any special requests or dietary preferences...",
|
|
250
|
-
value:
|
|
251
|
-
onChange: (e) =>
|
|
255
|
+
value: z.specialInstructions,
|
|
256
|
+
onChange: (e) => B((t) => ({
|
|
252
257
|
...t,
|
|
253
258
|
specialInstructions: e.target.value
|
|
254
259
|
})),
|
|
@@ -258,8 +263,8 @@ function k() {
|
|
|
258
263
|
className: "flex items-center gap-2 cursor-pointer",
|
|
259
264
|
children: [/* @__PURE__ */ w("input", {
|
|
260
265
|
type: "checkbox",
|
|
261
|
-
checked:
|
|
262
|
-
onChange: (e) =>
|
|
266
|
+
checked: z.isUrgent,
|
|
267
|
+
onChange: (e) => B((t) => ({
|
|
263
268
|
...t,
|
|
264
269
|
isUrgent: e.target.checked
|
|
265
270
|
})),
|
|
@@ -273,7 +278,7 @@ function k() {
|
|
|
273
278
|
})
|
|
274
279
|
]
|
|
275
280
|
}),
|
|
276
|
-
|
|
281
|
+
N === "payment" && /* @__PURE__ */ T("div", {
|
|
277
282
|
className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
|
|
278
283
|
children: [
|
|
279
284
|
/* @__PURE__ */ T("h2", {
|
|
@@ -322,8 +327,8 @@ function k() {
|
|
|
322
327
|
}
|
|
323
328
|
].map(({ value: e, label: n, sub: r, Icon: i }) => /* @__PURE__ */ T("button", {
|
|
324
329
|
type: "button",
|
|
325
|
-
onClick: () =>
|
|
326
|
-
className: t("rounded-lg border p-3 text-center transition-colors",
|
|
330
|
+
onClick: () => H(e),
|
|
331
|
+
className: t("rounded-lg border p-3 text-center transition-colors", V === e ? "border-foreground bg-accent" : "border-border-subtle hover:bg-accent"),
|
|
327
332
|
children: [
|
|
328
333
|
/* @__PURE__ */ w(i, { className: "mx-auto h-5 w-5 text-text-secondary mb-1" }),
|
|
329
334
|
/* @__PURE__ */ w("p", {
|
|
@@ -386,7 +391,7 @@ function k() {
|
|
|
386
391
|
})
|
|
387
392
|
]
|
|
388
393
|
}),
|
|
389
|
-
|
|
394
|
+
N === "confirmation" && U && /* @__PURE__ */ T("div", {
|
|
390
395
|
className: "rounded-lg border border-border-seam bg-bg-surface p-5 bg-gloss-card shadow-pop",
|
|
391
396
|
children: [
|
|
392
397
|
/* @__PURE__ */ T("div", {
|
|
@@ -419,14 +424,14 @@ function k() {
|
|
|
419
424
|
children: "Booking ID"
|
|
420
425
|
}), /* @__PURE__ */ w("p", {
|
|
421
426
|
className: "font-mono text-xs text-text-primary",
|
|
422
|
-
children:
|
|
427
|
+
children: U.bookingId
|
|
423
428
|
})] }),
|
|
424
429
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("span", {
|
|
425
430
|
className: "text-xs text-text-secondary",
|
|
426
431
|
children: "Est. Arrival"
|
|
427
432
|
}), /* @__PURE__ */ w("p", {
|
|
428
433
|
className: "text-text-primary",
|
|
429
|
-
children: new Date(
|
|
434
|
+
children: new Date(U.estimatedArrival).toLocaleTimeString([], {
|
|
430
435
|
hour: "2-digit",
|
|
431
436
|
minute: "2-digit"
|
|
432
437
|
})
|
|
@@ -436,14 +441,14 @@ function k() {
|
|
|
436
441
|
children: "Location"
|
|
437
442
|
}), /* @__PURE__ */ w("p", {
|
|
438
443
|
className: "text-text-primary truncate",
|
|
439
|
-
children:
|
|
444
|
+
children: L.address
|
|
440
445
|
})] }),
|
|
441
446
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("span", {
|
|
442
447
|
className: "text-xs text-text-secondary",
|
|
443
448
|
children: "Phone"
|
|
444
449
|
}), /* @__PURE__ */ w("p", {
|
|
445
450
|
className: "text-text-primary",
|
|
446
|
-
children:
|
|
451
|
+
children: L.phoneNumber
|
|
447
452
|
})] })
|
|
448
453
|
]
|
|
449
454
|
})]
|
|
@@ -461,7 +466,7 @@ function k() {
|
|
|
461
466
|
children: "Transaction ID"
|
|
462
467
|
}), /* @__PURE__ */ w("p", {
|
|
463
468
|
className: "font-mono text-xs text-text-primary",
|
|
464
|
-
children:
|
|
469
|
+
children: U.transactionId
|
|
465
470
|
})] }),
|
|
466
471
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("span", {
|
|
467
472
|
className: "text-xs text-text-secondary",
|
|
@@ -475,7 +480,7 @@ function k() {
|
|
|
475
480
|
children: "Method"
|
|
476
481
|
}), /* @__PURE__ */ w("p", {
|
|
477
482
|
className: "capitalize text-text-primary",
|
|
478
|
-
children:
|
|
483
|
+
children: V
|
|
479
484
|
})] }),
|
|
480
485
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("span", {
|
|
481
486
|
className: "text-xs text-text-secondary",
|
|
@@ -509,7 +514,7 @@ function k() {
|
|
|
509
514
|
children: [/* @__PURE__ */ w(p, { className: "h-3.5 w-3.5 mt-0.5 shrink-0" }), /* @__PURE__ */ T("span", { children: [
|
|
510
515
|
"Cart will arrive around",
|
|
511
516
|
" ",
|
|
512
|
-
new Date(
|
|
517
|
+
new Date(U.estimatedArrival).toLocaleTimeString([], {
|
|
513
518
|
hour: "2-digit",
|
|
514
519
|
minute: "2-digit"
|
|
515
520
|
})
|
|
@@ -531,32 +536,32 @@ function k() {
|
|
|
531
536
|
className: "flex gap-3",
|
|
532
537
|
children: [/* @__PURE__ */ w("button", {
|
|
533
538
|
type: "button",
|
|
534
|
-
onClick: () =>
|
|
539
|
+
onClick: () => j(`/customer/bookings/${U.bookingId}`),
|
|
535
540
|
className: "flex-1 rounded-lg bg-foreground px-4 py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
536
541
|
children: "View Booking"
|
|
537
542
|
}), /* @__PURE__ */ w("button", {
|
|
538
543
|
type: "button",
|
|
539
|
-
onClick: () =>
|
|
544
|
+
onClick: () => j("/customer/carts"),
|
|
540
545
|
className: "flex-1 rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
541
546
|
children: "Browse More"
|
|
542
547
|
})]
|
|
543
548
|
})
|
|
544
549
|
]
|
|
545
550
|
}),
|
|
546
|
-
|
|
551
|
+
N !== "confirmation" && /* @__PURE__ */ T("div", {
|
|
547
552
|
className: "flex justify-between mt-5",
|
|
548
553
|
children: [/* @__PURE__ */ T("button", {
|
|
549
554
|
type: "button",
|
|
550
|
-
onClick:
|
|
551
|
-
disabled:
|
|
552
|
-
className: t("flex items-center gap-2 rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary transition-colors",
|
|
555
|
+
onClick: Z,
|
|
556
|
+
disabled: N === "location",
|
|
557
|
+
className: t("flex items-center gap-2 rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary transition-colors", N === "location" ? "opacity-40 cursor-not-allowed" : "hover:bg-accent"),
|
|
553
558
|
children: [/* @__PURE__ */ w(l, { className: "h-4 w-4" }), "Previous"]
|
|
554
559
|
}), /* @__PURE__ */ w("button", {
|
|
555
560
|
type: "button",
|
|
556
|
-
onClick:
|
|
557
|
-
disabled:
|
|
558
|
-
className: t("flex items-center gap-2 rounded-lg bg-foreground px-4 py-2.5 text-sm font-medium text-background transition-opacity",
|
|
559
|
-
children:
|
|
561
|
+
onClick: X,
|
|
562
|
+
disabled: F,
|
|
563
|
+
className: t("flex items-center gap-2 rounded-lg bg-foreground px-4 py-2.5 text-sm font-medium text-background transition-opacity", F ? "opacity-60 cursor-not-allowed" : "hover:opacity-90"),
|
|
564
|
+
children: F ? /* @__PURE__ */ T(C, { children: [/* @__PURE__ */ w(g, { className: "h-4 w-4 animate-spin" }), N === "payment" ? "Processing Payment..." : "Processing..."] }) : /* @__PURE__ */ T(C, { children: [N === "payment" ? "Confirm & Pay" : "Next", /* @__PURE__ */ w(u, { className: "h-4 w-4" })] })
|
|
560
565
|
})]
|
|
561
566
|
})
|
|
562
567
|
]
|
|
@@ -572,15 +577,15 @@ function k() {
|
|
|
572
577
|
/* @__PURE__ */ T("div", {
|
|
573
578
|
className: "flex items-center gap-3 mb-4",
|
|
574
579
|
children: [/* @__PURE__ */ w("img", {
|
|
575
|
-
src:
|
|
576
|
-
alt:
|
|
580
|
+
src: M.image,
|
|
581
|
+
alt: M.name,
|
|
577
582
|
className: "h-12 w-12 rounded-lg object-cover"
|
|
578
583
|
}), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
579
584
|
className: "text-sm font-medium text-text-primary",
|
|
580
|
-
children:
|
|
585
|
+
children: M.name
|
|
581
586
|
}), /* @__PURE__ */ w("p", {
|
|
582
587
|
className: "text-xs text-text-secondary",
|
|
583
|
-
children:
|
|
588
|
+
children: M.category
|
|
584
589
|
})] })]
|
|
585
590
|
}),
|
|
586
591
|
/* @__PURE__ */ T("div", {
|
|
@@ -619,6 +624,6 @@ function k() {
|
|
|
619
624
|
});
|
|
620
625
|
}
|
|
621
626
|
//#endregion
|
|
622
|
-
export {
|
|
627
|
+
export { A as DirectServiceBookingPage };
|
|
623
628
|
|
|
624
629
|
//# sourceMappingURL=DirectServiceBookingPage.js.map
|