@burdenoff/microfe-atheletebridge 2026.624.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/atheletebridge/components/EmptyState.js +18 -11
- package/dist/atheletebridge/components/EmptyState.js.map +1 -1
- package/dist/atheletebridge/components/InvestmentCard.js +7 -7
- package/dist/atheletebridge/components/InvestmentCard.js.map +1 -1
- package/dist/atheletebridge/components/MetricsCard.js +20 -14
- package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
- package/dist/atheletebridge/components/PageLayout.js +30 -19
- package/dist/atheletebridge/components/PageLayout.js.map +1 -1
- package/dist/atheletebridge/pages/HomePage.js +210 -195
- package/dist/atheletebridge/pages/HomePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
- package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
- package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
- package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
- package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js +100 -91
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
- package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +365 -356
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDetailPage.js +277 -241
- package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +261 -250
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
- package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +524 -512
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/FavoritesPage.js +84 -75
- package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +117 -108
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +66 -61
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +81 -75
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/ReviewsPage.js +81 -72
- package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +63 -55
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +90 -84
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +38 -32
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +353 -319
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +134 -128
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -342
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,35 +5,36 @@ import { EmptyState as r } from "../../components/EmptyState.js";
|
|
|
5
5
|
import { useInvestmentOpportunities as i, useProviders as a } from "../../hooks/useAthleteBridgeApi.js";
|
|
6
6
|
import { formatCurrency as o, formatDistance as s } from "../../utils/formatters.js";
|
|
7
7
|
import { useMemo as c, useState as l } from "react";
|
|
8
|
-
import { AlertCircle as u, Calendar as d, CheckCircle2 as f, Clock as p, Home as m, Info as h, Loader2 as g, MapPin as _, Search as v, Star as y, Tag as
|
|
9
|
-
import { Fragment as
|
|
8
|
+
import { AlertCircle as u, Calendar as d, CheckCircle2 as f, Clock as p, Home as m, Info as h, Loader2 as g, MapPin as _, Search as v, Star as y, Tag as ee, TrendingUp as b, X as x } from "lucide-react";
|
|
9
|
+
import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
10
|
+
import { EmphasisPanel as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
|
|
10
11
|
//#region src/atheletebridge/pages/customer/CartDiscoveryPage.tsx
|
|
11
|
-
var
|
|
12
|
-
function
|
|
13
|
-
let { navigateTo:
|
|
12
|
+
var D = "All";
|
|
13
|
+
function O() {
|
|
14
|
+
let { navigateTo: O } = e(), [k, A] = l(""), [j, M] = l(D), [N, P] = l(""), [F, I] = l(""), [L, R] = l("rating"), [z, B] = l(9), [V, H] = l(!1), [U, W] = l(null), { data: G = [], isLoading: K, isError: q } = a(), { data: J = [] } = i(), Y = c(() => {
|
|
14
15
|
let e = /* @__PURE__ */ new Set();
|
|
15
|
-
return
|
|
16
|
+
return G.forEach((t) => {
|
|
16
17
|
t.category && e.add(t.category);
|
|
17
|
-
}), [
|
|
18
|
-
}, [
|
|
19
|
-
let e = [...
|
|
20
|
-
if (
|
|
21
|
-
let t =
|
|
18
|
+
}), [D, ...Array.from(e)];
|
|
19
|
+
}, [G]), X = c(() => {
|
|
20
|
+
let e = [...G];
|
|
21
|
+
if (k.trim()) {
|
|
22
|
+
let t = k.toLowerCase();
|
|
22
23
|
e = e.filter((e) => e.name.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
|
|
23
24
|
}
|
|
24
|
-
if (
|
|
25
|
-
let t = parseFloat(
|
|
25
|
+
if (j !== D && (e = e.filter((e) => e.category === j)), N) {
|
|
26
|
+
let t = parseFloat(N);
|
|
26
27
|
e = e.filter((e) => e.rating >= t);
|
|
27
28
|
}
|
|
28
|
-
switch (
|
|
29
|
+
switch (F && (e = e.filter((e) => {
|
|
29
30
|
let t = e.averageOrderValue ?? 0;
|
|
30
|
-
switch (
|
|
31
|
+
switch (F) {
|
|
31
32
|
case "low": return t <= 300;
|
|
32
33
|
case "medium": return t > 300 && t <= 800;
|
|
33
34
|
case "high": return t > 800;
|
|
34
35
|
default: return !0;
|
|
35
36
|
}
|
|
36
|
-
})),
|
|
37
|
+
})), L) {
|
|
37
38
|
case "rating":
|
|
38
39
|
e.sort((e, t) => t.rating - e.rating);
|
|
39
40
|
break;
|
|
@@ -49,34 +50,34 @@ function D() {
|
|
|
49
50
|
}
|
|
50
51
|
return e;
|
|
51
52
|
}, [
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
]),
|
|
59
|
-
|
|
53
|
+
G,
|
|
54
|
+
k,
|
|
55
|
+
j,
|
|
56
|
+
N,
|
|
57
|
+
F,
|
|
58
|
+
L
|
|
59
|
+
]), Z = X.slice(0, z), Q = z < X.length, te = j !== D || N !== "" || F !== "" || k.trim() !== "", $ = () => {
|
|
60
|
+
A(""), M(D), P(""), I(""), R("rating"), B(9);
|
|
60
61
|
};
|
|
61
|
-
return
|
|
62
|
+
return K ? /* @__PURE__ */ C(n, {
|
|
62
63
|
title: "Discover Carts",
|
|
63
64
|
description: "Finding services and shops near you...",
|
|
64
|
-
children: /* @__PURE__ */
|
|
65
|
+
children: /* @__PURE__ */ C("div", {
|
|
65
66
|
className: "flex h-[60vh] items-center justify-center",
|
|
66
|
-
children: /* @__PURE__ */
|
|
67
|
+
children: /* @__PURE__ */ C(g, { className: "h-8 w-8 animate-spin text-primary" })
|
|
67
68
|
})
|
|
68
|
-
}) :
|
|
69
|
+
}) : q ? /* @__PURE__ */ C(n, {
|
|
69
70
|
title: "Discover Carts",
|
|
70
71
|
description: "Error loading carts",
|
|
71
|
-
children: /* @__PURE__ */
|
|
72
|
+
children: /* @__PURE__ */ w("div", {
|
|
72
73
|
className: "flex h-[60vh] flex-col items-center justify-center gap-4",
|
|
73
74
|
children: [
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ C(u, { className: "h-12 w-12 text-status-error-text" }),
|
|
76
|
+
/* @__PURE__ */ C("h2", {
|
|
76
77
|
className: "text-xl font-semibold",
|
|
77
78
|
children: "Error loading service providers"
|
|
78
79
|
}),
|
|
79
|
-
/* @__PURE__ */
|
|
80
|
+
/* @__PURE__ */ C("button", {
|
|
80
81
|
type: "button",
|
|
81
82
|
onClick: () => window.location.reload(),
|
|
82
83
|
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text",
|
|
@@ -84,171 +85,180 @@ function D() {
|
|
|
84
85
|
})
|
|
85
86
|
]
|
|
86
87
|
})
|
|
87
|
-
}) : /* @__PURE__ */
|
|
88
|
+
}) : /* @__PURE__ */ w(n, {
|
|
88
89
|
title: "Discover Carts",
|
|
89
90
|
description: "Find services and shops near you",
|
|
90
|
-
actions: /* @__PURE__ */
|
|
91
|
+
actions: /* @__PURE__ */ w("span", {
|
|
91
92
|
className: "text-sm text-text-secondary",
|
|
92
|
-
children: [
|
|
93
|
+
children: [X.length, " carts found"]
|
|
93
94
|
}),
|
|
94
95
|
children: [
|
|
95
|
-
/* @__PURE__ */
|
|
96
|
-
className: "
|
|
97
|
-
children:
|
|
98
|
-
/* @__PURE__ */ w(v, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }),
|
|
99
|
-
/* @__PURE__ */ w("input", {
|
|
100
|
-
type: "text",
|
|
101
|
-
placeholder: "Search carts, services, or items...",
|
|
102
|
-
value: O,
|
|
103
|
-
onChange: (e) => k(e.target.value),
|
|
104
|
-
className: t("w-full rounded-lg border border-border-subtle bg-bg-surface py-2.5 pl-10 pr-10 text-sm text-text-primary", "placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]")
|
|
105
|
-
}),
|
|
106
|
-
O && /* @__PURE__ */ w("button", {
|
|
107
|
-
type: "button",
|
|
108
|
-
onClick: () => k(""),
|
|
109
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2 text-text-secondary hover:text-text-primary",
|
|
110
|
-
children: /* @__PURE__ */ w(S, { className: "h-4 w-4" })
|
|
111
|
-
})
|
|
112
|
-
]
|
|
113
|
-
}),
|
|
114
|
-
/* @__PURE__ */ w("div", {
|
|
115
|
-
className: "mt-4 flex flex-wrap gap-2",
|
|
116
|
-
children: J.map((e) => /* @__PURE__ */ w("button", {
|
|
117
|
-
type: "button",
|
|
118
|
-
onClick: () => j(e),
|
|
119
|
-
className: t("rounded-full px-3 py-1.5 text-xs font-medium transition-colors", A === e ? "bg-foreground text-background" : "bg-bg-sunken text-text-secondary hover:bg-accent hover:text-text-primary"),
|
|
120
|
-
children: e
|
|
121
|
-
}, e))
|
|
96
|
+
/* @__PURE__ */ C(E, {
|
|
97
|
+
className: "mb-6",
|
|
98
|
+
children: "Find the right service provider near you. Search by name, filter by category, rating and price, then sort to surface the best match. Tap any cart to see its offerings and place an order — this is your starting point for discovering local services."
|
|
122
99
|
}),
|
|
123
|
-
/* @__PURE__ */ T
|
|
124
|
-
className: "
|
|
100
|
+
/* @__PURE__ */ w(T, {
|
|
101
|
+
className: "p-4",
|
|
125
102
|
children: [
|
|
126
|
-
/* @__PURE__ */
|
|
127
|
-
|
|
128
|
-
onChange: (e) => N(e.target.value),
|
|
129
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-xs text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
103
|
+
/* @__PURE__ */ w("div", {
|
|
104
|
+
className: "relative",
|
|
130
105
|
children: [
|
|
131
|
-
/* @__PURE__ */
|
|
132
|
-
|
|
133
|
-
|
|
106
|
+
/* @__PURE__ */ C(v, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }),
|
|
107
|
+
/* @__PURE__ */ C("input", {
|
|
108
|
+
type: "text",
|
|
109
|
+
placeholder: "Search carts, services, or items...",
|
|
110
|
+
value: k,
|
|
111
|
+
onChange: (e) => A(e.target.value),
|
|
112
|
+
className: t("w-full rounded-lg border border-border-subtle bg-bg-surface py-2.5 pl-10 pr-10 text-sm text-text-primary", "placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]")
|
|
134
113
|
}),
|
|
135
|
-
/* @__PURE__ */
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
value: "4.0",
|
|
141
|
-
children: "4.0+ Stars"
|
|
142
|
-
}),
|
|
143
|
-
/* @__PURE__ */ w("option", {
|
|
144
|
-
value: "3.5",
|
|
145
|
-
children: "3.5+ Stars"
|
|
114
|
+
k && /* @__PURE__ */ C("button", {
|
|
115
|
+
type: "button",
|
|
116
|
+
onClick: () => A(""),
|
|
117
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 text-text-secondary hover:text-text-primary",
|
|
118
|
+
children: /* @__PURE__ */ C(x, { className: "h-4 w-4" })
|
|
146
119
|
})
|
|
147
120
|
]
|
|
148
121
|
}),
|
|
149
|
-
/* @__PURE__ */
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}),
|
|
158
|
-
/* @__PURE__ */ w("option", {
|
|
159
|
-
value: "low",
|
|
160
|
-
children: "Under ₹300"
|
|
161
|
-
}),
|
|
162
|
-
/* @__PURE__ */ w("option", {
|
|
163
|
-
value: "medium",
|
|
164
|
-
children: "₹300 - ₹800"
|
|
165
|
-
}),
|
|
166
|
-
/* @__PURE__ */ w("option", {
|
|
167
|
-
value: "high",
|
|
168
|
-
children: "₹800+"
|
|
169
|
-
})
|
|
170
|
-
]
|
|
122
|
+
/* @__PURE__ */ C("div", {
|
|
123
|
+
className: "mt-4 flex flex-wrap gap-2",
|
|
124
|
+
children: Y.map((e) => /* @__PURE__ */ C("button", {
|
|
125
|
+
type: "button",
|
|
126
|
+
onClick: () => M(e),
|
|
127
|
+
className: t("rounded-full px-3 py-1.5 text-xs font-medium transition-colors", j === e ? "bg-foreground text-background" : "bg-bg-sunken text-text-secondary hover:bg-accent hover:text-text-primary"),
|
|
128
|
+
children: e
|
|
129
|
+
}, e))
|
|
171
130
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
173
|
-
|
|
174
|
-
onChange: (e) => L(e.target.value),
|
|
175
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-xs text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
131
|
+
/* @__PURE__ */ w("div", {
|
|
132
|
+
className: "mt-4 flex flex-wrap items-center gap-3",
|
|
176
133
|
children: [
|
|
177
|
-
/* @__PURE__ */ w("
|
|
178
|
-
value:
|
|
179
|
-
|
|
134
|
+
/* @__PURE__ */ w("select", {
|
|
135
|
+
value: N,
|
|
136
|
+
onChange: (e) => P(e.target.value),
|
|
137
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-xs text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ C("option", {
|
|
140
|
+
value: "",
|
|
141
|
+
children: "Any Rating"
|
|
142
|
+
}),
|
|
143
|
+
/* @__PURE__ */ C("option", {
|
|
144
|
+
value: "4.5",
|
|
145
|
+
children: "4.5+ Stars"
|
|
146
|
+
}),
|
|
147
|
+
/* @__PURE__ */ C("option", {
|
|
148
|
+
value: "4.0",
|
|
149
|
+
children: "4.0+ Stars"
|
|
150
|
+
}),
|
|
151
|
+
/* @__PURE__ */ C("option", {
|
|
152
|
+
value: "3.5",
|
|
153
|
+
children: "3.5+ Stars"
|
|
154
|
+
})
|
|
155
|
+
]
|
|
180
156
|
}),
|
|
181
|
-
/* @__PURE__ */ w("
|
|
182
|
-
value:
|
|
183
|
-
|
|
157
|
+
/* @__PURE__ */ w("select", {
|
|
158
|
+
value: F,
|
|
159
|
+
onChange: (e) => I(e.target.value),
|
|
160
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-xs text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
161
|
+
children: [
|
|
162
|
+
/* @__PURE__ */ C("option", {
|
|
163
|
+
value: "",
|
|
164
|
+
children: "Any Price"
|
|
165
|
+
}),
|
|
166
|
+
/* @__PURE__ */ C("option", {
|
|
167
|
+
value: "low",
|
|
168
|
+
children: "Under ₹300"
|
|
169
|
+
}),
|
|
170
|
+
/* @__PURE__ */ C("option", {
|
|
171
|
+
value: "medium",
|
|
172
|
+
children: "₹300 - ₹800"
|
|
173
|
+
}),
|
|
174
|
+
/* @__PURE__ */ C("option", {
|
|
175
|
+
value: "high",
|
|
176
|
+
children: "₹800+"
|
|
177
|
+
})
|
|
178
|
+
]
|
|
184
179
|
}),
|
|
185
|
-
/* @__PURE__ */ w("
|
|
186
|
-
value:
|
|
187
|
-
|
|
180
|
+
/* @__PURE__ */ w("select", {
|
|
181
|
+
value: L,
|
|
182
|
+
onChange: (e) => R(e.target.value),
|
|
183
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-xs text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
184
|
+
children: [
|
|
185
|
+
/* @__PURE__ */ C("option", {
|
|
186
|
+
value: "rating",
|
|
187
|
+
children: "Highest Rated"
|
|
188
|
+
}),
|
|
189
|
+
/* @__PURE__ */ C("option", {
|
|
190
|
+
value: "popularity",
|
|
191
|
+
children: "Most Popular"
|
|
192
|
+
}),
|
|
193
|
+
/* @__PURE__ */ C("option", {
|
|
194
|
+
value: "distance",
|
|
195
|
+
children: "Nearest"
|
|
196
|
+
}),
|
|
197
|
+
/* @__PURE__ */ C("option", {
|
|
198
|
+
value: "newest",
|
|
199
|
+
children: "Newest"
|
|
200
|
+
})
|
|
201
|
+
]
|
|
188
202
|
}),
|
|
189
|
-
/* @__PURE__ */
|
|
190
|
-
|
|
191
|
-
|
|
203
|
+
te && /* @__PURE__ */ C("button", {
|
|
204
|
+
type: "button",
|
|
205
|
+
onClick: $,
|
|
206
|
+
className: "rounded-lg border border-border-subtle px-3 py-2 text-xs font-medium text-text-secondary hover:text-text-primary transition-colors",
|
|
207
|
+
children: "Clear All Filters"
|
|
192
208
|
})
|
|
193
209
|
]
|
|
194
|
-
}),
|
|
195
|
-
Q && /* @__PURE__ */ w("button", {
|
|
196
|
-
type: "button",
|
|
197
|
-
onClick: $,
|
|
198
|
-
className: "rounded-lg border border-border-subtle px-3 py-2 text-xs font-medium text-text-secondary hover:text-text-primary transition-colors",
|
|
199
|
-
children: "Clear All Filters"
|
|
200
210
|
})
|
|
201
211
|
]
|
|
202
212
|
}),
|
|
203
|
-
|
|
213
|
+
Z.length > 0 ? /* @__PURE__ */ w(S, { children: [/* @__PURE__ */ C("div", {
|
|
204
214
|
className: "mt-6 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
205
|
-
children:
|
|
206
|
-
let n =
|
|
207
|
-
return /* @__PURE__ */
|
|
215
|
+
children: Z.map((e) => {
|
|
216
|
+
let n = J.find((t) => t.cartId === e.id);
|
|
217
|
+
return /* @__PURE__ */ w("div", {
|
|
208
218
|
className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden hover:shadow-md transition-shadow flex flex-col",
|
|
209
|
-
children: [/* @__PURE__ */
|
|
219
|
+
children: [/* @__PURE__ */ w("div", {
|
|
210
220
|
className: "relative h-40 bg-bg-sunken",
|
|
211
221
|
children: [
|
|
212
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ C("img", {
|
|
213
223
|
src: e.image,
|
|
214
224
|
alt: e.name,
|
|
215
225
|
className: "h-full w-full object-cover"
|
|
216
226
|
}),
|
|
217
|
-
/* @__PURE__ */
|
|
227
|
+
/* @__PURE__ */ w("div", {
|
|
218
228
|
className: "absolute top-2 left-2 flex gap-1.5",
|
|
219
|
-
children: [/* @__PURE__ */
|
|
229
|
+
children: [/* @__PURE__ */ C("span", {
|
|
220
230
|
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium backdrop-blur-sm", e.isOpen ? "bg-green-500/20 text-green-600 dark:text-green-400" : "bg-red-500/20 text-red-600 dark:text-red-400"),
|
|
221
231
|
children: e.isOpen ? "Open" : "Closed"
|
|
222
|
-
}), e.isVerified && /* @__PURE__ */
|
|
232
|
+
}), e.isVerified && /* @__PURE__ */ w("span", {
|
|
223
233
|
className: "inline-flex items-center gap-0.5 rounded-full bg-blue-500/20 px-2 py-0.5 text-xs font-medium text-blue-600 dark:text-blue-400 backdrop-blur-sm",
|
|
224
|
-
children: [/* @__PURE__ */
|
|
234
|
+
children: [/* @__PURE__ */ C(f, { className: "h-3 w-3" }), "Verified"]
|
|
225
235
|
})]
|
|
226
236
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
237
|
+
/* @__PURE__ */ C("div", {
|
|
228
238
|
className: "absolute top-2 right-2",
|
|
229
|
-
children: /* @__PURE__ */
|
|
239
|
+
children: /* @__PURE__ */ w("span", {
|
|
230
240
|
className: "rounded-full bg-black/50 px-2 py-0.5 text-xs text-white backdrop-blur-sm",
|
|
231
241
|
children: [e.estimatedTime, " min"]
|
|
232
242
|
})
|
|
233
243
|
})
|
|
234
244
|
]
|
|
235
|
-
}), /* @__PURE__ */
|
|
245
|
+
}), /* @__PURE__ */ w("div", {
|
|
236
246
|
className: "flex flex-col flex-1 p-4",
|
|
237
247
|
children: [
|
|
238
|
-
/* @__PURE__ */
|
|
248
|
+
/* @__PURE__ */ w("div", {
|
|
239
249
|
className: "flex items-start justify-between gap-2 mb-1",
|
|
240
|
-
children: [/* @__PURE__ */
|
|
250
|
+
children: [/* @__PURE__ */ C("h3", {
|
|
241
251
|
className: "text-sm font-semibold text-text-primary truncate flex-1",
|
|
242
252
|
children: e.name
|
|
243
|
-
}), /* @__PURE__ */
|
|
253
|
+
}), /* @__PURE__ */ w("div", {
|
|
244
254
|
className: "flex items-center gap-1 shrink-0",
|
|
245
255
|
children: [
|
|
246
|
-
/* @__PURE__ */
|
|
247
|
-
/* @__PURE__ */
|
|
256
|
+
/* @__PURE__ */ C(y, { className: "h-3.5 w-3.5 fill-yellow-400 text-yellow-400" }),
|
|
257
|
+
/* @__PURE__ */ C("span", {
|
|
248
258
|
className: "text-xs font-medium text-text-primary",
|
|
249
259
|
children: e.rating
|
|
250
260
|
}),
|
|
251
|
-
/* @__PURE__ */
|
|
261
|
+
/* @__PURE__ */ w("span", {
|
|
252
262
|
className: "text-xs text-text-secondary",
|
|
253
263
|
children: [
|
|
254
264
|
"(",
|
|
@@ -259,83 +269,83 @@ function D() {
|
|
|
259
269
|
]
|
|
260
270
|
})]
|
|
261
271
|
}),
|
|
262
|
-
/* @__PURE__ */
|
|
272
|
+
/* @__PURE__ */ C("p", {
|
|
263
273
|
className: "text-xs text-text-secondary mb-2",
|
|
264
274
|
children: e.category
|
|
265
275
|
}),
|
|
266
|
-
/* @__PURE__ */
|
|
276
|
+
/* @__PURE__ */ C("div", {
|
|
267
277
|
className: "flex items-center gap-3 text-xs text-text-secondary mb-2",
|
|
268
|
-
children: /* @__PURE__ */
|
|
278
|
+
children: /* @__PURE__ */ w("span", {
|
|
269
279
|
className: "flex items-center gap-1",
|
|
270
|
-
children: [/* @__PURE__ */
|
|
280
|
+
children: [/* @__PURE__ */ C(_, { className: "h-3 w-3" }), e.location?.address?.split(",")[0] || "Unknown"]
|
|
271
281
|
})
|
|
272
282
|
}),
|
|
273
|
-
/* @__PURE__ */
|
|
283
|
+
/* @__PURE__ */ w("div", {
|
|
274
284
|
className: "flex items-center gap-3 text-xs text-text-secondary mb-3",
|
|
275
|
-
children: [e.averageOrderValue && /* @__PURE__ */
|
|
285
|
+
children: [e.averageOrderValue && /* @__PURE__ */ w("span", { children: ["Avg ", o(e.averageOrderValue, { minimumFractionDigits: 0 })] }), /* @__PURE__ */ w("span", {
|
|
276
286
|
className: "flex items-center gap-1",
|
|
277
|
-
children: [/* @__PURE__ */
|
|
287
|
+
children: [/* @__PURE__ */ C(_, { className: "h-3 w-3" }), s(e.distance)]
|
|
278
288
|
})]
|
|
279
289
|
}),
|
|
280
|
-
e.serviceTypes?.includes("appointment") && /* @__PURE__ */
|
|
290
|
+
e.serviceTypes?.includes("appointment") && /* @__PURE__ */ C("div", {
|
|
281
291
|
className: "mb-3 rounded-md bg-blue-500/10 border border-blue-500/20 p-2",
|
|
282
|
-
children: /* @__PURE__ */
|
|
292
|
+
children: /* @__PURE__ */ w("div", {
|
|
283
293
|
className: "flex items-center gap-1 text-xs text-blue-600 dark:text-blue-400",
|
|
284
|
-
children: [/* @__PURE__ */
|
|
294
|
+
children: [/* @__PURE__ */ C(d, { className: "h-3 w-3" }), /* @__PURE__ */ C("span", {
|
|
285
295
|
className: "font-medium",
|
|
286
296
|
children: "Appointment available"
|
|
287
297
|
})]
|
|
288
298
|
})
|
|
289
299
|
}),
|
|
290
|
-
e.serviceTypes?.includes("direct_service") && /* @__PURE__ */
|
|
300
|
+
e.serviceTypes?.includes("direct_service") && /* @__PURE__ */ C("div", {
|
|
291
301
|
className: "mb-3 rounded-md bg-purple-500/10 border border-purple-500/20 p-2",
|
|
292
|
-
children: /* @__PURE__ */
|
|
302
|
+
children: /* @__PURE__ */ w("div", {
|
|
293
303
|
className: "flex items-center gap-1 text-xs text-purple-600 dark:text-purple-400",
|
|
294
|
-
children: [/* @__PURE__ */
|
|
304
|
+
children: [/* @__PURE__ */ C(m, { className: "h-3 w-3" }), /* @__PURE__ */ C("span", {
|
|
295
305
|
className: "font-medium",
|
|
296
306
|
children: "Direct Service Available"
|
|
297
307
|
})]
|
|
298
308
|
})
|
|
299
309
|
}),
|
|
300
|
-
e.serviceTypes && e.serviceTypes.length > 0 && /* @__PURE__ */
|
|
310
|
+
e.serviceTypes && e.serviceTypes.length > 0 && /* @__PURE__ */ C("div", {
|
|
301
311
|
className: "flex flex-wrap gap-1 mb-3",
|
|
302
|
-
children: e.serviceTypes.slice(0, 3).map((e) => /* @__PURE__ */
|
|
312
|
+
children: e.serviceTypes.slice(0, 3).map((e) => /* @__PURE__ */ C("span", {
|
|
303
313
|
className: "rounded-full bg-bg-sunken px-2 py-0.5 text-[10px] text-text-secondary",
|
|
304
314
|
children: e.replace(/_/g, " ")
|
|
305
315
|
}, e))
|
|
306
316
|
}),
|
|
307
|
-
/* @__PURE__ */
|
|
317
|
+
/* @__PURE__ */ w("div", {
|
|
308
318
|
className: "mt-auto flex gap-2",
|
|
309
319
|
children: [
|
|
310
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ C("button", {
|
|
311
321
|
type: "button",
|
|
312
|
-
onClick: () =>
|
|
322
|
+
onClick: () => O(`/customer/cart/${e.id}`),
|
|
313
323
|
disabled: !e.isOpen,
|
|
314
324
|
className: t("flex-1 rounded-lg py-2 text-xs font-medium transition-opacity", e.isOpen ? "bg-foreground text-background hover:opacity-90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
|
|
315
325
|
children: e.isOpen ? "View Services" : "Closed"
|
|
316
326
|
}),
|
|
317
|
-
e.serviceTypes?.includes("direct_service") && /* @__PURE__ */
|
|
327
|
+
e.serviceTypes?.includes("direct_service") && /* @__PURE__ */ C("button", {
|
|
318
328
|
type: "button",
|
|
319
|
-
onClick: () =>
|
|
329
|
+
onClick: () => O(`/customer/cart/${e.id}`),
|
|
320
330
|
className: "rounded-lg border border-border-subtle px-2 py-2 text-xs text-text-primary hover:bg-accent transition-colors",
|
|
321
331
|
title: "Book Direct Service",
|
|
322
|
-
children: /* @__PURE__ */
|
|
332
|
+
children: /* @__PURE__ */ C(m, { className: "h-3.5 w-3.5" })
|
|
323
333
|
}),
|
|
324
|
-
n && /* @__PURE__ */
|
|
334
|
+
n && /* @__PURE__ */ C("button", {
|
|
325
335
|
type: "button",
|
|
326
336
|
onClick: () => alert("Investment opportunity available! View in Investor section."),
|
|
327
337
|
className: "rounded-lg border border-green-500/30 bg-green-500/10 px-2 py-2 text-xs text-green-600 dark:text-green-400 hover:bg-green-500/20 transition-colors",
|
|
328
338
|
title: "Investment Opportunity",
|
|
329
|
-
children: /* @__PURE__ */
|
|
339
|
+
children: /* @__PURE__ */ C(b, { className: "h-3.5 w-3.5" })
|
|
330
340
|
}),
|
|
331
|
-
/* @__PURE__ */
|
|
341
|
+
/* @__PURE__ */ C("button", {
|
|
332
342
|
type: "button",
|
|
333
343
|
onClick: () => {
|
|
334
|
-
|
|
344
|
+
W(e), H(!0);
|
|
335
345
|
},
|
|
336
346
|
className: "rounded-lg border border-border-subtle px-2 py-2 text-xs text-text-primary hover:bg-accent transition-colors",
|
|
337
347
|
title: "Cart Info",
|
|
338
|
-
children: /* @__PURE__ */
|
|
348
|
+
children: /* @__PURE__ */ C(h, { className: "h-3.5 w-3.5" })
|
|
339
349
|
})
|
|
340
350
|
]
|
|
341
351
|
})
|
|
@@ -343,21 +353,22 @@ function D() {
|
|
|
343
353
|
})]
|
|
344
354
|
}, e.id);
|
|
345
355
|
})
|
|
346
|
-
}),
|
|
356
|
+
}), Q && /* @__PURE__ */ C("div", {
|
|
347
357
|
className: "mt-8 text-center",
|
|
348
|
-
children: /* @__PURE__ */
|
|
358
|
+
children: /* @__PURE__ */ C("button", {
|
|
349
359
|
type: "button",
|
|
350
|
-
onClick: () =>
|
|
360
|
+
onClick: () => B((e) => e + 9),
|
|
351
361
|
className: "rounded-lg border border-border-subtle px-6 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
352
362
|
children: "Load More Carts"
|
|
353
363
|
})
|
|
354
|
-
})] }) : /* @__PURE__ */
|
|
364
|
+
})] }) : /* @__PURE__ */ C("div", {
|
|
355
365
|
className: "mt-6",
|
|
356
|
-
children: /* @__PURE__ */
|
|
357
|
-
|
|
366
|
+
children: /* @__PURE__ */ C(r, {
|
|
367
|
+
illustration: "empty-search",
|
|
368
|
+
icon: /* @__PURE__ */ C(v, { className: "h-12 w-12" }),
|
|
358
369
|
title: "No carts found",
|
|
359
|
-
description:
|
|
360
|
-
action: /* @__PURE__ */
|
|
370
|
+
description: k ? `No results for "${k}". Try a different search term.` : "No carts available with these filters.",
|
|
371
|
+
action: /* @__PURE__ */ C("button", {
|
|
361
372
|
type: "button",
|
|
362
373
|
onClick: $,
|
|
363
374
|
className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
@@ -365,171 +376,171 @@ function D() {
|
|
|
365
376
|
})
|
|
366
377
|
})
|
|
367
378
|
}),
|
|
368
|
-
|
|
379
|
+
V && U && /* @__PURE__ */ C("div", {
|
|
369
380
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
370
|
-
children: /* @__PURE__ */
|
|
381
|
+
children: /* @__PURE__ */ C("div", {
|
|
371
382
|
className: "w-full max-w-2xl max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface",
|
|
372
|
-
children: /* @__PURE__ */
|
|
383
|
+
children: /* @__PURE__ */ w("div", {
|
|
373
384
|
className: "p-5",
|
|
374
385
|
children: [
|
|
375
|
-
/* @__PURE__ */
|
|
386
|
+
/* @__PURE__ */ w("div", {
|
|
376
387
|
className: "flex items-center justify-between mb-4",
|
|
377
|
-
children: [/* @__PURE__ */
|
|
388
|
+
children: [/* @__PURE__ */ C("h3", {
|
|
378
389
|
className: "text-lg font-semibold text-text-primary",
|
|
379
390
|
children: "Cart Information"
|
|
380
|
-
}), /* @__PURE__ */
|
|
391
|
+
}), /* @__PURE__ */ C("button", {
|
|
381
392
|
type: "button",
|
|
382
|
-
onClick: () =>
|
|
393
|
+
onClick: () => H(!1),
|
|
383
394
|
className: "rounded-md p-1 text-text-secondary hover:text-text-primary transition-colors",
|
|
384
|
-
children: /* @__PURE__ */
|
|
395
|
+
children: /* @__PURE__ */ C(x, { className: "h-5 w-5" })
|
|
385
396
|
})]
|
|
386
397
|
}),
|
|
387
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ C("div", {
|
|
388
399
|
className: "h-48 rounded-lg overflow-hidden mb-4",
|
|
389
|
-
children: /* @__PURE__ */
|
|
390
|
-
src:
|
|
391
|
-
alt:
|
|
400
|
+
children: /* @__PURE__ */ C("img", {
|
|
401
|
+
src: U.image,
|
|
402
|
+
alt: U.name,
|
|
392
403
|
className: "h-full w-full object-cover"
|
|
393
404
|
})
|
|
394
405
|
}),
|
|
395
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ C("h4", {
|
|
396
407
|
className: "text-xl font-semibold text-text-primary mb-1",
|
|
397
|
-
children:
|
|
408
|
+
children: U.name
|
|
398
409
|
}),
|
|
399
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ w("div", {
|
|
400
411
|
className: "flex flex-wrap items-center gap-3 mb-4",
|
|
401
|
-
children: [/* @__PURE__ */
|
|
412
|
+
children: [/* @__PURE__ */ w("div", {
|
|
402
413
|
className: "flex items-center gap-1",
|
|
403
414
|
children: [
|
|
404
|
-
/* @__PURE__ */
|
|
405
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ C(y, { className: "h-3.5 w-3.5 fill-yellow-400 text-yellow-400" }),
|
|
416
|
+
/* @__PURE__ */ C("span", {
|
|
406
417
|
className: "text-sm font-medium",
|
|
407
|
-
children:
|
|
418
|
+
children: U.rating
|
|
408
419
|
}),
|
|
409
|
-
/* @__PURE__ */
|
|
420
|
+
/* @__PURE__ */ w("span", {
|
|
410
421
|
className: "text-xs text-text-secondary",
|
|
411
422
|
children: [
|
|
412
423
|
"(",
|
|
413
|
-
|
|
424
|
+
U.totalRatings,
|
|
414
425
|
" reviews)"
|
|
415
426
|
]
|
|
416
427
|
})
|
|
417
428
|
]
|
|
418
|
-
}), /* @__PURE__ */
|
|
419
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",
|
|
420
|
-
children:
|
|
429
|
+
}), /* @__PURE__ */ C("span", {
|
|
430
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium", U.isOpen ? "bg-green-500/20 text-green-600 dark:text-green-400" : "bg-red-500/20 text-red-600 dark:text-red-400"),
|
|
431
|
+
children: U.isOpen ? "Open" : "Closed"
|
|
421
432
|
})]
|
|
422
433
|
}),
|
|
423
|
-
/* @__PURE__ */
|
|
434
|
+
/* @__PURE__ */ w("div", {
|
|
424
435
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 mb-4",
|
|
425
436
|
children: [
|
|
426
|
-
/* @__PURE__ */
|
|
437
|
+
/* @__PURE__ */ w("div", {
|
|
427
438
|
className: "rounded-md bg-bg-sunken p-3",
|
|
428
|
-
children: [/* @__PURE__ */
|
|
439
|
+
children: [/* @__PURE__ */ w("p", {
|
|
429
440
|
className: "text-xs font-medium text-text-secondary flex items-center gap-1",
|
|
430
|
-
children: [/* @__PURE__ */
|
|
431
|
-
}), /* @__PURE__ */
|
|
441
|
+
children: [/* @__PURE__ */ C(_, { className: "h-3 w-3" }), " Location"]
|
|
442
|
+
}), /* @__PURE__ */ C("p", {
|
|
432
443
|
className: "mt-1 text-sm text-text-primary",
|
|
433
|
-
children:
|
|
444
|
+
children: U.location.address
|
|
434
445
|
})]
|
|
435
446
|
}),
|
|
436
|
-
/* @__PURE__ */
|
|
447
|
+
/* @__PURE__ */ w("div", {
|
|
437
448
|
className: "rounded-md bg-bg-sunken p-3",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
449
|
+
children: [/* @__PURE__ */ w("p", {
|
|
439
450
|
className: "text-xs font-medium text-text-secondary flex items-center gap-1",
|
|
440
|
-
children: [/* @__PURE__ */
|
|
441
|
-
}), /* @__PURE__ */
|
|
451
|
+
children: [/* @__PURE__ */ C(ee, { className: "h-3 w-3" }), " Category"]
|
|
452
|
+
}), /* @__PURE__ */ C("p", {
|
|
442
453
|
className: "mt-1 text-sm text-text-primary",
|
|
443
|
-
children:
|
|
454
|
+
children: U.category
|
|
444
455
|
})]
|
|
445
456
|
}),
|
|
446
|
-
|
|
457
|
+
U.averageOrderValue && /* @__PURE__ */ w("div", {
|
|
447
458
|
className: "rounded-md bg-bg-sunken p-3",
|
|
448
|
-
children: [/* @__PURE__ */
|
|
459
|
+
children: [/* @__PURE__ */ C("p", {
|
|
449
460
|
className: "text-xs font-medium text-text-secondary",
|
|
450
461
|
children: "Average Order"
|
|
451
|
-
}), /* @__PURE__ */
|
|
462
|
+
}), /* @__PURE__ */ C("p", {
|
|
452
463
|
className: "mt-1 text-sm text-text-primary",
|
|
453
|
-
children: o(
|
|
464
|
+
children: o(U.averageOrderValue, { minimumFractionDigits: 0 })
|
|
454
465
|
})]
|
|
455
466
|
}),
|
|
456
|
-
/* @__PURE__ */
|
|
467
|
+
/* @__PURE__ */ w("div", {
|
|
457
468
|
className: "rounded-md bg-bg-sunken p-3",
|
|
458
|
-
children: [/* @__PURE__ */
|
|
469
|
+
children: [/* @__PURE__ */ w("p", {
|
|
459
470
|
className: "text-xs font-medium text-text-secondary flex items-center gap-1",
|
|
460
|
-
children: [/* @__PURE__ */
|
|
461
|
-
}), /* @__PURE__ */
|
|
471
|
+
children: [/* @__PURE__ */ C(p, { className: "h-3 w-3" }), " Estimated Time"]
|
|
472
|
+
}), /* @__PURE__ */ w("p", {
|
|
462
473
|
className: "mt-1 text-sm text-text-primary",
|
|
463
|
-
children: [
|
|
474
|
+
children: [U.estimatedTime, " minutes"]
|
|
464
475
|
})]
|
|
465
476
|
}),
|
|
466
|
-
/* @__PURE__ */
|
|
477
|
+
/* @__PURE__ */ w("div", {
|
|
467
478
|
className: "rounded-md bg-bg-sunken p-3",
|
|
468
|
-
children: [/* @__PURE__ */
|
|
479
|
+
children: [/* @__PURE__ */ C("p", {
|
|
469
480
|
className: "text-xs font-medium text-text-secondary",
|
|
470
481
|
children: "Distance"
|
|
471
|
-
}), /* @__PURE__ */
|
|
482
|
+
}), /* @__PURE__ */ C("p", {
|
|
472
483
|
className: "mt-1 text-sm text-text-primary",
|
|
473
|
-
children: s(
|
|
484
|
+
children: s(U.distance)
|
|
474
485
|
})]
|
|
475
486
|
}),
|
|
476
|
-
|
|
487
|
+
U.isVerified && /* @__PURE__ */ w("div", {
|
|
477
488
|
className: "rounded-md bg-bg-sunken p-3",
|
|
478
|
-
children: [/* @__PURE__ */
|
|
489
|
+
children: [/* @__PURE__ */ w("p", {
|
|
479
490
|
className: "text-xs font-medium text-text-secondary flex items-center gap-1",
|
|
480
|
-
children: [/* @__PURE__ */
|
|
481
|
-
}), /* @__PURE__ */
|
|
491
|
+
children: [/* @__PURE__ */ C(f, { className: "h-3 w-3" }), " Verification"]
|
|
492
|
+
}), /* @__PURE__ */ C("p", {
|
|
482
493
|
className: "mt-1 text-sm text-text-primary",
|
|
483
494
|
children: "Verified cart"
|
|
484
495
|
})]
|
|
485
496
|
})
|
|
486
497
|
]
|
|
487
498
|
}),
|
|
488
|
-
|
|
499
|
+
U.serviceTypes && U.serviceTypes.length > 0 && /* @__PURE__ */ w("div", {
|
|
489
500
|
className: "mb-4",
|
|
490
|
-
children: [/* @__PURE__ */
|
|
501
|
+
children: [/* @__PURE__ */ C("p", {
|
|
491
502
|
className: "text-xs font-medium text-text-secondary mb-2",
|
|
492
503
|
children: "Service Types"
|
|
493
|
-
}), /* @__PURE__ */
|
|
504
|
+
}), /* @__PURE__ */ C("div", {
|
|
494
505
|
className: "flex flex-wrap gap-2",
|
|
495
|
-
children:
|
|
506
|
+
children: U.serviceTypes.map((e) => /* @__PURE__ */ C("span", {
|
|
496
507
|
className: "rounded-full bg-bg-sunken px-2.5 py-1 text-xs text-text-secondary capitalize",
|
|
497
508
|
children: e.replace(/_/g, " ")
|
|
498
509
|
}, e))
|
|
499
510
|
})]
|
|
500
511
|
}),
|
|
501
|
-
|
|
512
|
+
U.businessHours && Object.keys(U.businessHours).length > 0 && /* @__PURE__ */ w("div", {
|
|
502
513
|
className: "mb-4",
|
|
503
|
-
children: [/* @__PURE__ */
|
|
514
|
+
children: [/* @__PURE__ */ C("p", {
|
|
504
515
|
className: "text-xs font-medium text-text-secondary mb-2",
|
|
505
516
|
children: "Operating Hours"
|
|
506
|
-
}), /* @__PURE__ */
|
|
517
|
+
}), /* @__PURE__ */ C("div", {
|
|
507
518
|
className: "space-y-1",
|
|
508
|
-
children: Object.entries(
|
|
519
|
+
children: Object.entries(U.businessHours).map(([e, t]) => /* @__PURE__ */ w("div", {
|
|
509
520
|
className: "flex justify-between text-xs",
|
|
510
|
-
children: [/* @__PURE__ */
|
|
521
|
+
children: [/* @__PURE__ */ C("span", {
|
|
511
522
|
className: "capitalize text-text-primary",
|
|
512
523
|
children: e
|
|
513
|
-
}), /* @__PURE__ */
|
|
524
|
+
}), /* @__PURE__ */ C("span", {
|
|
514
525
|
className: "text-text-secondary",
|
|
515
526
|
children: t.isOpen ? `${t.open} - ${t.close}` : "Closed"
|
|
516
527
|
})]
|
|
517
528
|
}, e))
|
|
518
529
|
})]
|
|
519
530
|
}),
|
|
520
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ w("div", {
|
|
521
532
|
className: "flex gap-3 mt-6",
|
|
522
|
-
children: [/* @__PURE__ */
|
|
533
|
+
children: [/* @__PURE__ */ C("button", {
|
|
523
534
|
type: "button",
|
|
524
535
|
onClick: () => {
|
|
525
|
-
|
|
536
|
+
H(!1), O(`/customer/carts/${U.id}`);
|
|
526
537
|
},
|
|
527
|
-
disabled: !
|
|
528
|
-
className: t("flex-1 rounded-lg py-2.5 text-sm font-medium transition-opacity",
|
|
529
|
-
children:
|
|
530
|
-
}), /* @__PURE__ */
|
|
538
|
+
disabled: !U.isOpen,
|
|
539
|
+
className: t("flex-1 rounded-lg py-2.5 text-sm font-medium transition-opacity", U.isOpen ? "bg-foreground text-background hover:opacity-90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
|
|
540
|
+
children: U.isOpen ? "View Menu" : "Currently Closed"
|
|
541
|
+
}), /* @__PURE__ */ C("button", {
|
|
531
542
|
type: "button",
|
|
532
|
-
onClick: () =>
|
|
543
|
+
onClick: () => H(!1),
|
|
533
544
|
className: "rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
534
545
|
children: "Close"
|
|
535
546
|
})]
|
|
@@ -542,6 +553,6 @@ function D() {
|
|
|
542
553
|
});
|
|
543
554
|
}
|
|
544
555
|
//#endregion
|
|
545
|
-
export {
|
|
556
|
+
export { O as CartDiscoveryPage };
|
|
546
557
|
|
|
547
558
|
//# sourceMappingURL=CartDiscoveryPage.js.map
|