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