@burdenoff/microfe-coolandlovely 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/coolandlovely/components/EmptyState.js +17 -21
- package/dist/coolandlovely/components/EmptyState.js.map +1 -1
- package/dist/coolandlovely/components/InvestmentCard.js +25 -23
- package/dist/coolandlovely/components/InvestmentCard.js.map +1 -1
- package/dist/coolandlovely/components/MetricsCard.js +18 -12
- package/dist/coolandlovely/components/MetricsCard.js.map +1 -1
- package/dist/coolandlovely/components/PageLayout.js +38 -19
- package/dist/coolandlovely/components/PageLayout.js.map +1 -1
- package/dist/coolandlovely/components/RatingDisplay.js +3 -3
- package/dist/coolandlovely/components/RatingDisplay.js.map +1 -1
- package/dist/coolandlovely/components/StatusBadge.js +36 -16
- package/dist/coolandlovely/components/StatusBadge.js.map +1 -1
- package/dist/coolandlovely/pages/HomePage.js +219 -204
- package/dist/coolandlovely/pages/HomePage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +98 -92
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminDashboard.js +111 -77
- package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +49 -43
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +234 -229
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js +67 -62
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +235 -230
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/CartManagementPage.js +291 -286
- package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/UserManagementPage.js +287 -282
- package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +108 -100
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +260 -255
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +596 -554
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +187 -182
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +229 -221
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +675 -674
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +525 -524
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +264 -266
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/HelpSupportPage.js +137 -137
- package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js +81 -75
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/SettingsPage.js +745 -736
- package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +394 -357
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CartDetailPage.js +189 -186
- package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +222 -211
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CheckoutPage.js +219 -222
- package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js +446 -404
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +525 -488
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +522 -513
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/FavoritesPage.js +94 -84
- package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +121 -112
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +312 -275
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +90 -84
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/ReviewsPage.js +99 -89
- package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +74 -68
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +317 -279
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +249 -243
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +87 -81
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js +359 -323
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +115 -109
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +179 -146
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +397 -392
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +364 -327
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js +580 -543
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +114 -109
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +115 -110
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +100 -95
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,12 +5,13 @@ import { EmptyState as r } from "../../components/EmptyState.js";
|
|
|
5
5
|
import { useInvestmentOpportunities as i, useOfferings as a, useProviders as o } from "../../hooks/useCoolAndLovelyApi.js";
|
|
6
6
|
import { formatCurrency as s, formatDistance as c, formatDuration as l } from "../../utils/formatters.js";
|
|
7
7
|
import { useMemo as u, useState as d } from "react";
|
|
8
|
-
import { ArrowLeft as f, Calendar as p, CheckCircle2 as m, Clock as h, Flame as
|
|
9
|
-
import { useParams as
|
|
10
|
-
import { Fragment as
|
|
8
|
+
import { ArrowLeft as f, Calendar as p, CheckCircle2 as m, Clock as h, Flame as ee, Home as te, Leaf as g, MapPin as _, Minus as v, Plus as y, Search as b, ShoppingCart as x, Star as S, TrendingUp as C, X as w } from "lucide-react";
|
|
9
|
+
import { useParams as T } from "react-router-dom";
|
|
10
|
+
import { Fragment as E, jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
11
|
+
import { EmphasisPanel as k, PagePurpose as ne } from "@burdenoff/fe-libs/ui";
|
|
11
12
|
//#region src/coolandlovely/pages/customer/CartDetailPage.tsx
|
|
12
13
|
function A() {
|
|
13
|
-
let { cartId: A } =
|
|
14
|
+
let { cartId: A } = T(), { navigateTo: j } = e(), { data: M = [], isLoading: re } = o(), { data: N = [], isLoading: ie } = a(A), { data: P = [], isLoading: ae } = i(), F = u(() => M.find((e) => e.id === A), [M, A]), I = u(() => P.find((e) => e.cartId === A), [P, A]), [L, R] = d(""), [z, B] = d(""), [V, H] = d([]), [U, W] = d(!1), [G, K] = d(null), q = u(() => N.map((e) => ({
|
|
14
15
|
id: e.id,
|
|
15
16
|
name: e.name,
|
|
16
17
|
price: e.price,
|
|
@@ -36,7 +37,7 @@ function A() {
|
|
|
36
37
|
return Y.forEach((t) => {
|
|
37
38
|
e[t.category] || (e[t.category] = []), e[t.category].push(t);
|
|
38
39
|
}), e;
|
|
39
|
-
}, [Y]),
|
|
40
|
+
}, [Y]), oe = (e, t = 1, n) => {
|
|
40
41
|
H((r) => r.find((t) => t.productId === e.id) ? r.map((n) => n.productId === e.id ? {
|
|
41
42
|
...n,
|
|
42
43
|
quantity: n.quantity + t
|
|
@@ -48,61 +49,66 @@ function A() {
|
|
|
48
49
|
quantity: t,
|
|
49
50
|
specialInstructions: n
|
|
50
51
|
}]);
|
|
51
|
-
},
|
|
52
|
+
}, Z = (e, t) => {
|
|
52
53
|
H((n) => n.map((n) => n.productId === e ? {
|
|
53
54
|
...n,
|
|
54
55
|
quantity: Math.max(0, n.quantity + t)
|
|
55
56
|
} : n).filter((e) => e.quantity > 0));
|
|
56
|
-
},
|
|
57
|
+
}, Q = (e) => {
|
|
57
58
|
H((t) => t.filter((t) => t.productId !== e));
|
|
58
|
-
},
|
|
59
|
+
}, $ = (e) => V.find((t) => t.productId === e)?.quantity ?? 0, se = V.reduce((e, t) => e + t.price * t.quantity, 0), ce = V.reduce((e, t) => e + t.quantity, 0), le = (e) => {
|
|
59
60
|
K({
|
|
60
61
|
product: e,
|
|
61
62
|
quantity: 1,
|
|
62
63
|
specialInstructions: ""
|
|
63
64
|
}), W(!0);
|
|
64
65
|
};
|
|
65
|
-
return F ? /* @__PURE__ */
|
|
66
|
-
title: /* @__PURE__ */
|
|
66
|
+
return F ? /* @__PURE__ */ O(n, {
|
|
67
|
+
title: /* @__PURE__ */ O("div", {
|
|
67
68
|
className: "flex items-center gap-3",
|
|
68
69
|
children: [
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ D("button", {
|
|
70
71
|
type: "button",
|
|
71
72
|
onClick: () => j("/customer/carts"),
|
|
72
73
|
className: "rounded-md p-1 text-text-secondary hover:bg-accent hover:text-text-primary transition-colors",
|
|
73
|
-
children: /* @__PURE__ */
|
|
74
|
+
children: /* @__PURE__ */ D(f, { className: "h-5 w-5" })
|
|
74
75
|
}),
|
|
75
|
-
/* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */ D("span", {
|
|
76
77
|
className: "truncate",
|
|
77
78
|
children: F.name
|
|
78
79
|
}),
|
|
79
|
-
F.isVerified && /* @__PURE__ */
|
|
80
|
+
F.isVerified && /* @__PURE__ */ D(m, { className: "h-5 w-5 text-accent-blue shrink-0" })
|
|
80
81
|
]
|
|
81
82
|
}),
|
|
82
83
|
description: F.category,
|
|
83
84
|
children: [
|
|
84
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ D(ne, {
|
|
86
|
+
className: "mb-6",
|
|
87
|
+
icon: /* @__PURE__ */ D(x, { className: "h-4 w-4" }),
|
|
88
|
+
children: "Everything this cart offers, in one place. Browse and search the menu or services, customise an item, then build your order in the basket on the right and head to checkout — plus see appointment, direct-service and investment options where available."
|
|
89
|
+
}),
|
|
90
|
+
/* @__PURE__ */ O("div", {
|
|
85
91
|
className: "relative h-48 rounded-lg bg-bg-sunken overflow-hidden",
|
|
86
|
-
children: [/* @__PURE__ */
|
|
92
|
+
children: [/* @__PURE__ */ D("img", {
|
|
87
93
|
src: F.image,
|
|
88
94
|
alt: F.name,
|
|
89
95
|
className: "h-full w-full object-cover"
|
|
90
|
-
}), /* @__PURE__ */
|
|
96
|
+
}), /* @__PURE__ */ D("div", {
|
|
91
97
|
className: "absolute bottom-0 inset-x-0 bg-gradient-to-t from-black/60 to-transparent p-4",
|
|
92
|
-
children: /* @__PURE__ */
|
|
98
|
+
children: /* @__PURE__ */ O("div", {
|
|
93
99
|
className: "flex items-center gap-3",
|
|
94
|
-
children: [/* @__PURE__ */
|
|
95
|
-
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", F.isOpen ? "bg-
|
|
100
|
+
children: [/* @__PURE__ */ D("span", {
|
|
101
|
+
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", F.isOpen ? "bg-status-success-bg-subtle/20 text-status-success-text" : "bg-status-error-bg-subtle/20 text-status-error-text"),
|
|
96
102
|
children: F.isOpen ? "Open Now" : "Closed"
|
|
97
|
-
}), /* @__PURE__ */
|
|
103
|
+
}), /* @__PURE__ */ O("div", {
|
|
98
104
|
className: "flex items-center gap-1 text-white text-sm",
|
|
99
105
|
children: [
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
/* @__PURE__ */
|
|
106
|
+
/* @__PURE__ */ D(S, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }),
|
|
107
|
+
/* @__PURE__ */ D("span", {
|
|
102
108
|
className: "font-medium",
|
|
103
109
|
children: F.rating
|
|
104
110
|
}),
|
|
105
|
-
/* @__PURE__ */
|
|
111
|
+
/* @__PURE__ */ O("span", {
|
|
106
112
|
className: "text-white/70",
|
|
107
113
|
children: [
|
|
108
114
|
"(",
|
|
@@ -115,71 +121,71 @@ function A() {
|
|
|
115
121
|
})
|
|
116
122
|
})]
|
|
117
123
|
}),
|
|
118
|
-
!F.isOpen && /* @__PURE__ */
|
|
119
|
-
className: "mt-4 rounded-lg border border-
|
|
120
|
-
children: /* @__PURE__ */
|
|
121
|
-
className: "text-sm text-
|
|
122
|
-
children: [/* @__PURE__ */
|
|
124
|
+
!F.isOpen && /* @__PURE__ */ D("div", {
|
|
125
|
+
className: "mt-4 rounded-lg border border-status-warning-border/30 bg-status-warning-bg-subtle/10 p-3",
|
|
126
|
+
children: /* @__PURE__ */ O("p", {
|
|
127
|
+
className: "text-sm text-status-warning-text",
|
|
128
|
+
children: [/* @__PURE__ */ D("strong", { children: "This cart is currently closed." }), " You can browse the offerings but orders are not being accepted."]
|
|
123
129
|
})
|
|
124
130
|
}),
|
|
125
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ O("div", {
|
|
126
132
|
className: "mt-4 grid grid-cols-1 gap-3 sm:grid-cols-3",
|
|
127
133
|
children: [
|
|
128
|
-
/* @__PURE__ */
|
|
134
|
+
/* @__PURE__ */ O("div", {
|
|
129
135
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
130
136
|
children: [
|
|
131
|
-
/* @__PURE__ */
|
|
137
|
+
/* @__PURE__ */ O("div", {
|
|
132
138
|
className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
|
|
133
|
-
children: [/* @__PURE__ */
|
|
139
|
+
children: [/* @__PURE__ */ D(_, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
|
|
134
140
|
className: "font-medium uppercase tracking-wider",
|
|
135
141
|
children: "Location"
|
|
136
142
|
})]
|
|
137
143
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ D("p", {
|
|
139
145
|
className: "text-sm text-text-primary",
|
|
140
146
|
children: F.location.address
|
|
141
147
|
}),
|
|
142
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ O("p", {
|
|
143
149
|
className: "text-xs text-text-secondary",
|
|
144
150
|
children: [c(F.distance), " away"]
|
|
145
151
|
})
|
|
146
152
|
]
|
|
147
153
|
}),
|
|
148
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ O("div", {
|
|
149
155
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
150
156
|
children: [
|
|
151
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ O("div", {
|
|
152
158
|
className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
|
|
153
|
-
children: [/* @__PURE__ */
|
|
159
|
+
children: [/* @__PURE__ */ D(h, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
|
|
154
160
|
className: "font-medium uppercase tracking-wider",
|
|
155
161
|
children: "Estimated Time"
|
|
156
162
|
})]
|
|
157
163
|
}),
|
|
158
|
-
/* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ D("p", {
|
|
159
165
|
className: "text-sm text-text-primary",
|
|
160
166
|
children: l(F.estimatedTime)
|
|
161
167
|
}),
|
|
162
|
-
F.averageOrderValue && /* @__PURE__ */
|
|
168
|
+
F.averageOrderValue && /* @__PURE__ */ O("p", {
|
|
163
169
|
className: "text-xs text-text-secondary",
|
|
164
170
|
children: ["Avg ", s(F.averageOrderValue, { minimumFractionDigits: 0 })]
|
|
165
171
|
})
|
|
166
172
|
]
|
|
167
173
|
}),
|
|
168
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ O("div", {
|
|
169
175
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
170
176
|
children: [
|
|
171
|
-
/* @__PURE__ */
|
|
177
|
+
/* @__PURE__ */ O("div", {
|
|
172
178
|
className: "flex items-center gap-2 text-text-secondary text-xs mb-1",
|
|
173
|
-
children: [/* @__PURE__ */
|
|
179
|
+
children: [/* @__PURE__ */ D(S, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ D("span", {
|
|
174
180
|
className: "font-medium uppercase tracking-wider",
|
|
175
181
|
children: "Rating"
|
|
176
182
|
})]
|
|
177
183
|
}),
|
|
178
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ O("p", {
|
|
179
185
|
className: "text-sm text-text-primary",
|
|
180
186
|
children: [F.rating, " / 5.0"]
|
|
181
187
|
}),
|
|
182
|
-
/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ O("p", {
|
|
183
189
|
className: "text-xs text-text-secondary",
|
|
184
190
|
children: [F.totalRatings, " reviews"]
|
|
185
191
|
})
|
|
@@ -187,62 +193,62 @@ function A() {
|
|
|
187
193
|
})
|
|
188
194
|
]
|
|
189
195
|
}),
|
|
190
|
-
F.businessHours && Object.keys(F.businessHours).length > 0 && /* @__PURE__ */
|
|
196
|
+
F.businessHours && Object.keys(F.businessHours).length > 0 && /* @__PURE__ */ O("section", {
|
|
191
197
|
className: "mt-6",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
198
|
+
children: [/* @__PURE__ */ D("h2", {
|
|
193
199
|
className: "text-base font-semibold text-text-primary mb-2",
|
|
194
200
|
children: "Operating Hours"
|
|
195
|
-
}), /* @__PURE__ */
|
|
201
|
+
}), /* @__PURE__ */ D("div", {
|
|
196
202
|
className: "rounded-lg border border-border-subtle bg-bg-surface overflow-hidden",
|
|
197
|
-
children: Object.entries(F.businessHours).map(([e, t]) => /* @__PURE__ */
|
|
203
|
+
children: Object.entries(F.businessHours).map(([e, t]) => /* @__PURE__ */ O("div", {
|
|
198
204
|
className: "flex items-center justify-between px-4 py-2 border-b border-border-subtle last:border-b-0",
|
|
199
|
-
children: [/* @__PURE__ */
|
|
205
|
+
children: [/* @__PURE__ */ D("span", {
|
|
200
206
|
className: "text-sm font-medium text-text-primary capitalize",
|
|
201
207
|
children: e
|
|
202
|
-
}), t.isOpen ? /* @__PURE__ */
|
|
208
|
+
}), t.isOpen ? /* @__PURE__ */ O("span", {
|
|
203
209
|
className: "text-sm text-text-secondary",
|
|
204
210
|
children: [
|
|
205
211
|
t.open,
|
|
206
212
|
" - ",
|
|
207
213
|
t.close
|
|
208
214
|
]
|
|
209
|
-
}) : /* @__PURE__ */
|
|
215
|
+
}) : /* @__PURE__ */ D("span", {
|
|
210
216
|
className: "text-sm text-status-error-text",
|
|
211
217
|
children: "Closed"
|
|
212
218
|
})]
|
|
213
219
|
}, e))
|
|
214
220
|
})]
|
|
215
221
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ O("div", {
|
|
217
223
|
className: "mt-6 grid grid-cols-1 gap-6 lg:grid-cols-3",
|
|
218
|
-
children: [/* @__PURE__ */
|
|
224
|
+
children: [/* @__PURE__ */ O("div", {
|
|
219
225
|
className: "lg:col-span-2",
|
|
220
226
|
children: [
|
|
221
|
-
/* @__PURE__ */
|
|
227
|
+
/* @__PURE__ */ O("div", {
|
|
222
228
|
className: "flex flex-col gap-3 sm:flex-row mb-4",
|
|
223
|
-
children: [/* @__PURE__ */
|
|
229
|
+
children: [/* @__PURE__ */ O("div", {
|
|
224
230
|
className: "relative flex-1",
|
|
225
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ D(b, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ D("input", {
|
|
226
232
|
type: "text",
|
|
227
233
|
placeholder: "Search offerings...",
|
|
228
234
|
value: L,
|
|
229
235
|
onChange: (e) => R(e.target.value),
|
|
230
236
|
className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
231
237
|
})]
|
|
232
|
-
}), /* @__PURE__ */
|
|
238
|
+
}), /* @__PURE__ */ O("select", {
|
|
233
239
|
value: z,
|
|
234
240
|
onChange: (e) => B(e.target.value),
|
|
235
241
|
className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
242
|
+
children: [/* @__PURE__ */ D("option", {
|
|
237
243
|
value: "",
|
|
238
244
|
children: "All Categories"
|
|
239
|
-
}), J.map((e) => /* @__PURE__ */
|
|
245
|
+
}), J.map((e) => /* @__PURE__ */ D("option", {
|
|
240
246
|
value: e,
|
|
241
247
|
children: e
|
|
242
248
|
}, e))]
|
|
243
249
|
})]
|
|
244
250
|
}),
|
|
245
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ O("h2", {
|
|
246
252
|
className: "text-lg font-semibold text-text-primary mb-3",
|
|
247
253
|
children: [
|
|
248
254
|
"Menu & Services (",
|
|
@@ -250,102 +256,100 @@ function A() {
|
|
|
250
256
|
")"
|
|
251
257
|
]
|
|
252
258
|
}),
|
|
253
|
-
Y.length === 0 ? /* @__PURE__ */
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
})]
|
|
259
|
-
}) : /* @__PURE__ */ O("div", {
|
|
259
|
+
Y.length === 0 ? /* @__PURE__ */ D(r, {
|
|
260
|
+
illustration: L || z ? "empty-search" : "empty-data",
|
|
261
|
+
title: "No offerings found",
|
|
262
|
+
description: L || z ? "Try a different search term or clear the category filter." : "This cart has not listed any offerings yet. Check back soon."
|
|
263
|
+
}) : /* @__PURE__ */ D("div", {
|
|
260
264
|
className: "space-y-6",
|
|
261
|
-
children: Object.entries(X).map(([e, n]) => /* @__PURE__ */
|
|
265
|
+
children: Object.entries(X).map(([e, n]) => /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("h3", {
|
|
262
266
|
className: "text-sm font-semibold text-text-primary mb-2 px-1",
|
|
263
267
|
children: e
|
|
264
|
-
}), /* @__PURE__ */
|
|
268
|
+
}), /* @__PURE__ */ D("div", {
|
|
265
269
|
className: "space-y-2",
|
|
266
270
|
children: n.map((e) => {
|
|
267
|
-
let n =
|
|
268
|
-
return /* @__PURE__ */
|
|
269
|
-
className: "flex gap-4 rounded-lg border border-border-
|
|
270
|
-
children: [/* @__PURE__ */
|
|
271
|
+
let n = $(e.id);
|
|
272
|
+
return /* @__PURE__ */ O("div", {
|
|
273
|
+
className: "flex gap-4 rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
274
|
+
children: [/* @__PURE__ */ D("div", {
|
|
271
275
|
className: "h-20 w-20 shrink-0 rounded-md bg-bg-sunken overflow-hidden",
|
|
272
|
-
children: /* @__PURE__ */
|
|
276
|
+
children: /* @__PURE__ */ D("img", {
|
|
273
277
|
src: e.image,
|
|
274
278
|
alt: e.name,
|
|
275
279
|
className: "h-full w-full object-cover"
|
|
276
280
|
})
|
|
277
|
-
}), /* @__PURE__ */
|
|
281
|
+
}), /* @__PURE__ */ O("div", {
|
|
278
282
|
className: "flex-1 min-w-0",
|
|
279
283
|
children: [
|
|
280
|
-
/* @__PURE__ */
|
|
284
|
+
/* @__PURE__ */ O("div", {
|
|
281
285
|
className: "flex items-start justify-between gap-2",
|
|
282
|
-
children: [/* @__PURE__ */
|
|
286
|
+
children: [/* @__PURE__ */ O("div", { children: [/* @__PURE__ */ O("div", {
|
|
283
287
|
className: "flex items-center gap-2",
|
|
284
|
-
children: [/* @__PURE__ */
|
|
288
|
+
children: [/* @__PURE__ */ D("h4", {
|
|
285
289
|
className: "text-sm font-semibold text-text-primary",
|
|
286
290
|
children: e.name
|
|
287
|
-
}), e.isVeg && /* @__PURE__ */
|
|
288
|
-
}), /* @__PURE__ */
|
|
291
|
+
}), e.isVeg && /* @__PURE__ */ D(g, { className: "h-3.5 w-3.5 text-status-success-text" })]
|
|
292
|
+
}), /* @__PURE__ */ D("p", {
|
|
289
293
|
className: "text-xs text-text-secondary mt-0.5",
|
|
290
294
|
children: e.category
|
|
291
|
-
})] }), /* @__PURE__ */
|
|
295
|
+
})] }), /* @__PURE__ */ D("span", {
|
|
292
296
|
className: "text-sm font-bold text-text-primary whitespace-nowrap",
|
|
293
297
|
children: s(e.price, { minimumFractionDigits: 0 })
|
|
294
298
|
})]
|
|
295
299
|
}),
|
|
296
|
-
/* @__PURE__ */
|
|
300
|
+
/* @__PURE__ */ D("p", {
|
|
297
301
|
className: "mt-1 text-xs text-text-secondary line-clamp-2",
|
|
298
302
|
children: e.description
|
|
299
303
|
}),
|
|
300
|
-
/* @__PURE__ */
|
|
304
|
+
/* @__PURE__ */ O("div", {
|
|
301
305
|
className: "mt-2 flex flex-wrap items-center gap-2 text-[10px] text-text-secondary",
|
|
302
306
|
children: [
|
|
303
|
-
e.duration != null && e.duration > 0 && /* @__PURE__ */
|
|
307
|
+
e.duration != null && e.duration > 0 && /* @__PURE__ */ O("span", {
|
|
304
308
|
className: "flex items-center gap-0.5",
|
|
305
|
-
children: [/* @__PURE__ */
|
|
309
|
+
children: [/* @__PURE__ */ D(h, { className: "h-3 w-3" }), l(e.duration)]
|
|
306
310
|
}),
|
|
307
|
-
e.serviceType && /* @__PURE__ */
|
|
311
|
+
e.serviceType && /* @__PURE__ */ D("span", {
|
|
308
312
|
className: "rounded bg-bg-sunken px-1.5 py-0.5 capitalize",
|
|
309
313
|
children: e.serviceType
|
|
310
314
|
}),
|
|
311
|
-
e.spiceLevel && /* @__PURE__ */
|
|
315
|
+
e.spiceLevel && /* @__PURE__ */ O("span", {
|
|
312
316
|
className: "flex items-center gap-0.5 rounded bg-bg-sunken px-1.5 py-0.5 capitalize",
|
|
313
|
-
children: [/* @__PURE__ */
|
|
317
|
+
children: [/* @__PURE__ */ D(ee, { className: "h-3 w-3" }), e.spiceLevel]
|
|
314
318
|
})
|
|
315
319
|
]
|
|
316
320
|
}),
|
|
317
|
-
/* @__PURE__ */
|
|
321
|
+
/* @__PURE__ */ D("div", {
|
|
318
322
|
className: "mt-2 flex justify-end",
|
|
319
|
-
children: n > 0 ? /* @__PURE__ */
|
|
323
|
+
children: n > 0 ? /* @__PURE__ */ O("div", {
|
|
320
324
|
className: "flex items-center gap-2",
|
|
321
325
|
children: [
|
|
322
|
-
/* @__PURE__ */
|
|
326
|
+
/* @__PURE__ */ D("button", {
|
|
323
327
|
type: "button",
|
|
324
|
-
onClick: () =>
|
|
328
|
+
onClick: () => Z(e.id, -1),
|
|
325
329
|
className: "flex h-7 w-7 items-center justify-center rounded-full bg-bg-sunken text-text-primary hover:bg-accent",
|
|
326
|
-
children: /* @__PURE__ */
|
|
330
|
+
children: /* @__PURE__ */ D(v, { className: "h-3.5 w-3.5" })
|
|
327
331
|
}),
|
|
328
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ D("span", {
|
|
329
333
|
className: "min-w-[2ch] text-center text-sm font-medium text-text-primary",
|
|
330
334
|
children: n
|
|
331
335
|
}),
|
|
332
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ D("button", {
|
|
333
337
|
type: "button",
|
|
334
|
-
onClick: () =>
|
|
338
|
+
onClick: () => Z(e.id, 1),
|
|
335
339
|
className: "flex h-7 w-7 items-center justify-center rounded-full bg-foreground text-background hover:opacity-90",
|
|
336
|
-
children: /* @__PURE__ */
|
|
340
|
+
children: /* @__PURE__ */ D(y, { className: "h-3.5 w-3.5" })
|
|
337
341
|
}),
|
|
338
|
-
/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ D("button", {
|
|
339
343
|
type: "button",
|
|
340
|
-
onClick: () =>
|
|
344
|
+
onClick: () => Q(e.id),
|
|
341
345
|
className: "ml-1 flex h-7 w-7 items-center justify-center rounded-full text-status-error-text hover:bg-status-error-bg/10",
|
|
342
|
-
children: /* @__PURE__ */
|
|
346
|
+
children: /* @__PURE__ */ D(w, { className: "h-3.5 w-3.5" })
|
|
343
347
|
})
|
|
344
348
|
]
|
|
345
|
-
}) : /* @__PURE__ */
|
|
349
|
+
}) : /* @__PURE__ */ D("button", {
|
|
346
350
|
type: "button",
|
|
347
351
|
disabled: !F.isOpen,
|
|
348
|
-
onClick: () =>
|
|
352
|
+
onClick: () => le(e),
|
|
349
353
|
className: t("rounded-lg px-4 py-1.5 text-xs font-medium transition-opacity", F.isOpen ? "bg-foreground text-background hover:opacity-90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
|
|
350
354
|
children: "Add"
|
|
351
355
|
})
|
|
@@ -357,30 +361,29 @@ function A() {
|
|
|
357
361
|
})] }, e))
|
|
358
362
|
})
|
|
359
363
|
]
|
|
360
|
-
}), /* @__PURE__ */
|
|
364
|
+
}), /* @__PURE__ */ O("div", {
|
|
361
365
|
className: "space-y-4",
|
|
362
366
|
children: [
|
|
363
|
-
/* @__PURE__ */ k
|
|
364
|
-
className: "
|
|
365
|
-
children: [/* @__PURE__ */
|
|
367
|
+
/* @__PURE__ */ O(k, {
|
|
368
|
+
className: "p-4 lg:sticky lg:top-6",
|
|
369
|
+
children: [/* @__PURE__ */ O("h3", {
|
|
366
370
|
className: "text-base font-semibold text-text-primary mb-3 flex items-center gap-2",
|
|
367
|
-
children: [/* @__PURE__ */
|
|
368
|
-
}), V.length === 0 ? /* @__PURE__ */
|
|
369
|
-
className: "py-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
}) : /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ O("div", {
|
|
371
|
+
children: [/* @__PURE__ */ D(x, { className: "h-4 w-4" }), "Your Order"]
|
|
372
|
+
}), V.length === 0 ? /* @__PURE__ */ D(r, {
|
|
373
|
+
className: "py-2",
|
|
374
|
+
illustration: "empty-generic",
|
|
375
|
+
title: "Your cart is empty",
|
|
376
|
+
description: "Add items from the menu to start your order."
|
|
377
|
+
}) : /* @__PURE__ */ O(E, { children: [/* @__PURE__ */ D("div", {
|
|
375
378
|
className: "space-y-2 max-h-64 overflow-y-auto mb-3",
|
|
376
|
-
children: V.map((e) => /* @__PURE__ */
|
|
379
|
+
children: V.map((e) => /* @__PURE__ */ O("div", {
|
|
377
380
|
className: "flex items-center justify-between gap-2",
|
|
378
|
-
children: [/* @__PURE__ */
|
|
381
|
+
children: [/* @__PURE__ */ O("div", {
|
|
379
382
|
className: "flex-1 min-w-0",
|
|
380
|
-
children: [/* @__PURE__ */
|
|
383
|
+
children: [/* @__PURE__ */ D("p", {
|
|
381
384
|
className: "text-sm font-medium text-text-primary truncate",
|
|
382
385
|
children: e.name
|
|
383
|
-
}), /* @__PURE__ */
|
|
386
|
+
}), /* @__PURE__ */ O("p", {
|
|
384
387
|
className: "text-xs text-text-secondary",
|
|
385
388
|
children: [
|
|
386
389
|
s(e.price, { minimumFractionDigits: 0 }),
|
|
@@ -389,46 +392,46 @@ function A() {
|
|
|
389
392
|
e.quantity
|
|
390
393
|
]
|
|
391
394
|
})]
|
|
392
|
-
}), /* @__PURE__ */
|
|
395
|
+
}), /* @__PURE__ */ O("div", {
|
|
393
396
|
className: "flex items-center gap-1",
|
|
394
397
|
children: [
|
|
395
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ D("button", {
|
|
396
399
|
type: "button",
|
|
397
|
-
onClick: () =>
|
|
400
|
+
onClick: () => Z(e.productId, -1),
|
|
398
401
|
className: "flex h-6 w-6 items-center justify-center rounded bg-bg-sunken text-text-primary text-xs",
|
|
399
402
|
children: "-"
|
|
400
403
|
}),
|
|
401
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ D("span", {
|
|
402
405
|
className: "min-w-[2ch] text-center text-xs font-medium",
|
|
403
406
|
children: e.quantity
|
|
404
407
|
}),
|
|
405
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ D("button", {
|
|
406
409
|
type: "button",
|
|
407
|
-
onClick: () =>
|
|
410
|
+
onClick: () => Z(e.productId, 1),
|
|
408
411
|
className: "flex h-6 w-6 items-center justify-center rounded bg-bg-sunken text-text-primary text-xs",
|
|
409
412
|
children: "+"
|
|
410
413
|
}),
|
|
411
|
-
/* @__PURE__ */
|
|
414
|
+
/* @__PURE__ */ D("button", {
|
|
412
415
|
type: "button",
|
|
413
|
-
onClick: () =>
|
|
416
|
+
onClick: () => Q(e.productId),
|
|
414
417
|
className: "ml-1 text-status-error-text hover:text-status-error-text/80",
|
|
415
|
-
children: /* @__PURE__ */
|
|
418
|
+
children: /* @__PURE__ */ D(w, { className: "h-3.5 w-3.5" })
|
|
416
419
|
})
|
|
417
420
|
]
|
|
418
421
|
})]
|
|
419
422
|
}, e.id))
|
|
420
|
-
}), /* @__PURE__ */
|
|
423
|
+
}), /* @__PURE__ */ O("div", {
|
|
421
424
|
className: "border-t border-border-subtle pt-3",
|
|
422
|
-
children: [/* @__PURE__ */
|
|
425
|
+
children: [/* @__PURE__ */ O("div", {
|
|
423
426
|
className: "flex justify-between items-center mb-3",
|
|
424
|
-
children: [/* @__PURE__ */
|
|
427
|
+
children: [/* @__PURE__ */ O("span", {
|
|
425
428
|
className: "text-sm font-semibold text-text-primary",
|
|
426
|
-
children: ["Total: ", s(
|
|
427
|
-
}), /* @__PURE__ */
|
|
429
|
+
children: ["Total: ", s(se, { minimumFractionDigits: 0 })]
|
|
430
|
+
}), /* @__PURE__ */ O("span", {
|
|
428
431
|
className: "text-xs text-text-secondary",
|
|
429
|
-
children: [
|
|
432
|
+
children: [ce, " items"]
|
|
430
433
|
})]
|
|
431
|
-
}), /* @__PURE__ */
|
|
434
|
+
}), /* @__PURE__ */ D("button", {
|
|
432
435
|
type: "button",
|
|
433
436
|
onClick: () => j("/customer/checkout"),
|
|
434
437
|
className: "w-full rounded-lg bg-foreground py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
@@ -436,67 +439,67 @@ function A() {
|
|
|
436
439
|
})]
|
|
437
440
|
})] })]
|
|
438
441
|
}),
|
|
439
|
-
F.serviceTypes?.includes("direct_service") && /* @__PURE__ */
|
|
440
|
-
className: "rounded-lg border border-purple-
|
|
442
|
+
F.serviceTypes?.includes("direct_service") && /* @__PURE__ */ O("div", {
|
|
443
|
+
className: "rounded-lg border border-accent-purple-subtle/30 bg-accent-purple-subtle/10 p-4",
|
|
441
444
|
children: [
|
|
442
|
-
/* @__PURE__ */
|
|
445
|
+
/* @__PURE__ */ O("h3", {
|
|
443
446
|
className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
|
|
444
|
-
children: [/* @__PURE__ */
|
|
447
|
+
children: [/* @__PURE__ */ D(te, { className: "h-4 w-4 text-accent-purple" }), "Direct Service"]
|
|
445
448
|
}),
|
|
446
|
-
/* @__PURE__ */
|
|
449
|
+
/* @__PURE__ */ D("p", {
|
|
447
450
|
className: "text-xs text-text-secondary mb-3",
|
|
448
451
|
children: "Cart comes to your location!"
|
|
449
452
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
453
|
+
/* @__PURE__ */ D("button", {
|
|
451
454
|
type: "button",
|
|
452
455
|
onClick: () => j(`/customer/carts/${F.id}`),
|
|
453
|
-
className: "w-full rounded-lg bg-purple-
|
|
456
|
+
className: "w-full rounded-lg bg-accent-purple-subtle py-2 text-xs font-medium text-white hover:bg-accent-purple-subtle transition-colors",
|
|
454
457
|
children: "Book Direct Service"
|
|
455
458
|
})
|
|
456
459
|
]
|
|
457
460
|
}),
|
|
458
|
-
F.serviceTypes?.includes("appointment") && /* @__PURE__ */
|
|
459
|
-
className: "rounded-lg border border-blue-
|
|
460
|
-
children: [/* @__PURE__ */
|
|
461
|
+
F.serviceTypes?.includes("appointment") && /* @__PURE__ */ O("div", {
|
|
462
|
+
className: "rounded-lg border border-accent-blue-subtle/30 bg-accent-blue-subtle/10 p-4",
|
|
463
|
+
children: [/* @__PURE__ */ O("h3", {
|
|
461
464
|
className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
|
|
462
|
-
children: [/* @__PURE__ */
|
|
463
|
-
}), /* @__PURE__ */
|
|
465
|
+
children: [/* @__PURE__ */ D(p, { className: "h-4 w-4 text-accent-blue" }), "Appointments Available"]
|
|
466
|
+
}), /* @__PURE__ */ D("p", {
|
|
464
467
|
className: "text-xs text-text-secondary",
|
|
465
468
|
children: "This service provider accepts appointments. Contact them to schedule."
|
|
466
469
|
})]
|
|
467
470
|
}),
|
|
468
|
-
I && /* @__PURE__ */
|
|
469
|
-
className: "rounded-lg border border-
|
|
471
|
+
I && /* @__PURE__ */ O("div", {
|
|
472
|
+
className: "rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-4",
|
|
470
473
|
children: [
|
|
471
|
-
/* @__PURE__ */
|
|
474
|
+
/* @__PURE__ */ O("h3", {
|
|
472
475
|
className: "text-sm font-semibold text-text-primary flex items-center gap-2 mb-2",
|
|
473
|
-
children: [/* @__PURE__ */
|
|
476
|
+
children: [/* @__PURE__ */ D(C, { className: "h-4 w-4 text-status-success-text" }), "Investment Opportunity"]
|
|
474
477
|
}),
|
|
475
|
-
/* @__PURE__ */
|
|
478
|
+
/* @__PURE__ */ D("p", {
|
|
476
479
|
className: "text-xs text-text-secondary mb-2",
|
|
477
480
|
children: I.description
|
|
478
481
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ O("div", {
|
|
480
483
|
className: "space-y-1 text-xs text-text-secondary mb-3",
|
|
481
484
|
children: [
|
|
482
|
-
/* @__PURE__ */
|
|
483
|
-
/* @__PURE__ */
|
|
484
|
-
/* @__PURE__ */
|
|
485
|
+
/* @__PURE__ */ O("p", { children: ["Target: ", s(I.targetAmount, { minimumFractionDigits: 0 })] }),
|
|
486
|
+
/* @__PURE__ */ O("p", { children: ["Raised: ", s(I.raisedAmount, { minimumFractionDigits: 0 })] }),
|
|
487
|
+
/* @__PURE__ */ O("p", { children: [
|
|
485
488
|
"Expected Returns: ",
|
|
486
489
|
I.expectedReturns,
|
|
487
490
|
"%"
|
|
488
491
|
] }),
|
|
489
|
-
/* @__PURE__ */
|
|
492
|
+
/* @__PURE__ */ O("p", { children: [
|
|
490
493
|
"Min Investment:",
|
|
491
494
|
" ",
|
|
492
495
|
s(I.minimumInvestment, { minimumFractionDigits: 0 })
|
|
493
496
|
] })
|
|
494
497
|
]
|
|
495
498
|
}),
|
|
496
|
-
/* @__PURE__ */
|
|
499
|
+
/* @__PURE__ */ D("button", {
|
|
497
500
|
type: "button",
|
|
498
501
|
onClick: () => alert("Navigate to investor section to fund this business."),
|
|
499
|
-
className: "w-full rounded-lg bg-
|
|
502
|
+
className: "w-full rounded-lg bg-status-success-bg-subtle py-2 text-xs font-medium text-white hover:bg-status-success-bg-subtle transition-colors",
|
|
500
503
|
children: "Fund This Business"
|
|
501
504
|
})
|
|
502
505
|
]
|
|
@@ -504,74 +507,74 @@ function A() {
|
|
|
504
507
|
]
|
|
505
508
|
})]
|
|
506
509
|
}),
|
|
507
|
-
U && G && /* @__PURE__ */
|
|
510
|
+
U && G && /* @__PURE__ */ D("div", {
|
|
508
511
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
509
|
-
children: /* @__PURE__ */
|
|
512
|
+
children: /* @__PURE__ */ D("div", {
|
|
510
513
|
className: "w-full max-w-md max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface",
|
|
511
|
-
children: /* @__PURE__ */
|
|
514
|
+
children: /* @__PURE__ */ O("div", {
|
|
512
515
|
className: "p-5",
|
|
513
516
|
children: [
|
|
514
|
-
/* @__PURE__ */
|
|
517
|
+
/* @__PURE__ */ O("div", {
|
|
515
518
|
className: "flex items-center justify-between mb-4",
|
|
516
|
-
children: [/* @__PURE__ */
|
|
519
|
+
children: [/* @__PURE__ */ D("h3", {
|
|
517
520
|
className: "text-lg font-semibold text-text-primary",
|
|
518
521
|
children: G.product.name
|
|
519
|
-
}), /* @__PURE__ */
|
|
522
|
+
}), /* @__PURE__ */ D("button", {
|
|
520
523
|
type: "button",
|
|
521
524
|
onClick: () => {
|
|
522
525
|
W(!1), K(null);
|
|
523
526
|
},
|
|
524
527
|
className: "rounded-md p-1 text-text-secondary hover:text-text-primary",
|
|
525
|
-
children: /* @__PURE__ */
|
|
528
|
+
children: /* @__PURE__ */ D(w, { className: "h-5 w-5" })
|
|
526
529
|
})]
|
|
527
530
|
}),
|
|
528
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ D("p", {
|
|
529
532
|
className: "text-sm text-text-secondary mb-4",
|
|
530
533
|
children: G.product.description
|
|
531
534
|
}),
|
|
532
|
-
/* @__PURE__ */
|
|
535
|
+
/* @__PURE__ */ D("p", {
|
|
533
536
|
className: "text-lg font-bold text-text-primary mb-4",
|
|
534
537
|
children: s(G.product.price, { minimumFractionDigits: 0 })
|
|
535
538
|
}),
|
|
536
|
-
/* @__PURE__ */
|
|
539
|
+
/* @__PURE__ */ O("div", {
|
|
537
540
|
className: "mb-4",
|
|
538
|
-
children: [/* @__PURE__ */
|
|
541
|
+
children: [/* @__PURE__ */ D("label", {
|
|
539
542
|
className: "block text-sm font-medium text-text-primary mb-2",
|
|
540
543
|
children: "Quantity"
|
|
541
|
-
}), /* @__PURE__ */
|
|
544
|
+
}), /* @__PURE__ */ O("div", {
|
|
542
545
|
className: "flex items-center gap-3",
|
|
543
546
|
children: [
|
|
544
|
-
/* @__PURE__ */
|
|
547
|
+
/* @__PURE__ */ D("button", {
|
|
545
548
|
type: "button",
|
|
546
549
|
onClick: () => K((e) => e && {
|
|
547
550
|
...e,
|
|
548
551
|
quantity: Math.max(1, e.quantity - 1)
|
|
549
552
|
}),
|
|
550
553
|
className: "flex h-8 w-8 items-center justify-center rounded-full bg-bg-sunken text-text-primary",
|
|
551
|
-
children: /* @__PURE__ */
|
|
554
|
+
children: /* @__PURE__ */ D(v, { className: "h-4 w-4" })
|
|
552
555
|
}),
|
|
553
|
-
/* @__PURE__ */
|
|
556
|
+
/* @__PURE__ */ D("span", {
|
|
554
557
|
className: "min-w-[2ch] text-center font-medium text-text-primary",
|
|
555
558
|
children: G.quantity
|
|
556
559
|
}),
|
|
557
|
-
/* @__PURE__ */
|
|
560
|
+
/* @__PURE__ */ D("button", {
|
|
558
561
|
type: "button",
|
|
559
562
|
onClick: () => K((e) => e && {
|
|
560
563
|
...e,
|
|
561
564
|
quantity: e.quantity + 1
|
|
562
565
|
}),
|
|
563
566
|
className: "flex h-8 w-8 items-center justify-center rounded-full bg-bg-sunken text-text-primary",
|
|
564
|
-
children: /* @__PURE__ */
|
|
567
|
+
children: /* @__PURE__ */ D(y, { className: "h-4 w-4" })
|
|
565
568
|
})
|
|
566
569
|
]
|
|
567
570
|
})]
|
|
568
571
|
}),
|
|
569
|
-
/* @__PURE__ */
|
|
572
|
+
/* @__PURE__ */ O("div", {
|
|
570
573
|
className: "mb-4",
|
|
571
|
-
children: [/* @__PURE__ */
|
|
574
|
+
children: [/* @__PURE__ */ D("label", {
|
|
572
575
|
className: "block text-sm font-medium text-text-primary mb-2",
|
|
573
576
|
children: "Special Instructions"
|
|
574
|
-
}), /* @__PURE__ */
|
|
577
|
+
}), /* @__PURE__ */ D("textarea", {
|
|
575
578
|
value: G.specialInstructions,
|
|
576
579
|
onChange: (e) => K((t) => t && {
|
|
577
580
|
...t,
|
|
@@ -582,10 +585,10 @@ function A() {
|
|
|
582
585
|
rows: 3
|
|
583
586
|
})]
|
|
584
587
|
}),
|
|
585
|
-
/* @__PURE__ */
|
|
588
|
+
/* @__PURE__ */ O("button", {
|
|
586
589
|
type: "button",
|
|
587
590
|
onClick: () => {
|
|
588
|
-
G && (
|
|
591
|
+
G && (oe(G.product, G.quantity, G.specialInstructions), W(!1), K(null), alert(`${G.product.name} added to cart`));
|
|
589
592
|
},
|
|
590
593
|
className: "w-full rounded-lg bg-foreground py-2.5 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|
|
591
594
|
children: [
|
|
@@ -599,13 +602,13 @@ function A() {
|
|
|
599
602
|
})
|
|
600
603
|
})
|
|
601
604
|
]
|
|
602
|
-
}) : /* @__PURE__ */
|
|
605
|
+
}) : /* @__PURE__ */ D(n, {
|
|
603
606
|
title: "Cart Not Found",
|
|
604
|
-
children: /* @__PURE__ */
|
|
605
|
-
|
|
607
|
+
children: /* @__PURE__ */ D(r, {
|
|
608
|
+
illustration: "empty-search",
|
|
606
609
|
title: "Cart not found",
|
|
607
|
-
description: `No cart found with ID
|
|
608
|
-
action: /* @__PURE__ */
|
|
610
|
+
description: `No cart found with ID"${A}".`,
|
|
611
|
+
action: /* @__PURE__ */ D("button", {
|
|
609
612
|
type: "button",
|
|
610
613
|
onClick: () => j("/customer/carts"),
|
|
611
614
|
className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
|