@burdenoff/microfe-kadaikodi 2026.626.2 → 2026.704.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 (96) hide show
  1. package/dist/kadaikodi/hooks/useKadaikodiApi.js +260 -105
  2. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  3. package/dist/kadaikodi/pages/HomePage.js +4 -4
  4. package/dist/kadaikodi/pages/HomePage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
  6. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
  8. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
  10. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
  12. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
  14. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
  16. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/admin/CartManagementPage.js +279 -333
  18. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  19. package/dist/kadaikodi/pages/admin/UserManagementPage.js +299 -372
  20. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
  22. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
  24. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +329 -432
  26. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -384
  28. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
  30. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +276 -279
  32. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +229 -447
  34. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
  36. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
  38. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  39. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
  40. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  41. package/dist/kadaikodi/pages/common/SettingsPage.js +34 -46
  42. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  43. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +193 -447
  44. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/CartDetailPage.js +6 -6
  46. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
  48. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
  50. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  51. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
  52. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  53. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
  54. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  55. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +255 -215
  56. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  57. package/dist/kadaikodi/pages/customer/FavoritesPage.js +141 -178
  58. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  59. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  60. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +155 -161
  61. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
  63. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/customer/ReviewsPage.js +14 -140
  65. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  66. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
  67. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
  69. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  70. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +258 -523
  71. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
  73. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  74. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +128 -295
  75. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  76. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +205 -291
  77. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  78. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
  79. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  80. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +426 -514
  81. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  82. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +231 -225
  83. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  84. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +197 -301
  85. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  86. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +247 -399
  87. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  88. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +294 -327
  89. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  90. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +179 -397
  91. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  92. package/package.json +1 -1
  93. package/dist/kadaikodi/mocks/data.js +0 -1517
  94. package/dist/kadaikodi/mocks/data.js.map +0 -1
  95. package/dist/kadaikodi/mocks/users.js +0 -34
  96. package/dist/kadaikodi/mocks/users.js.map +0 -1
@@ -2,56 +2,25 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.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 { useOrders as i, useProviders as a } from "../../hooks/useKadaikodiApi.js";
6
- import { formatCurrency as o, formatDate as s } from "../../utils/formatters.js";
7
- import { useCallback as c, useState as l } from "react";
8
- import { Clock as u, Heart as d, Leaf as f, RotateCcw as p, Search as m, ShoppingCart as h, Star as g, Utensils as _, X as v } from "lucide-react";
9
- import { jsx as y, jsxs as b } from "react/jsx-runtime";
10
- import { EmphasisPanel as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
5
+ import { formatCurrency as i, formatDate as a } from "../../utils/formatters.js";
6
+ import { useCallback as o, useState as s } from "react";
7
+ import { Clock as c, Heart as l, Leaf as u, RotateCcw as d, Search as f, ShoppingCart as p, Star as m, Utensils as h, X as g } from "lucide-react";
8
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
9
+ import { EmphasisPanel as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
11
10
  //#region src/kadaikodi/pages/customer/FavoritesPage.tsx
12
- function C() {
13
- let { navigateTo: C, currentUser: w } = e(), { data: T = [], isLoading: E } = a(), { data: D = [], isLoading: O } = i({ customerId: w?.id }), k = T.slice(0, 2).map((e) => ({
14
- id: e.id,
15
- name: e.name,
16
- description: "Authentic services from Kadaikodi",
17
- category: e.category,
18
- image: e.image,
19
- rating: e.rating,
20
- reviewCount: e.totalRatings,
21
- isOpen: e.isOpen,
22
- isVerified: e.isVerified || !1,
23
- distance: e.distance,
24
- estimatedTime: e.estimatedTime,
25
- addedToFavorites: (/* @__PURE__ */ new Date()).toISOString(),
26
- totalOrders: D.filter((t) => t.cartId === e.id).length,
27
- totalSpent: D.filter((t) => t.cartId === e.id).reduce((e, t) => e + t.total, 0)
28
- })), A = [{
29
- id: "prod-001",
30
- name: "Masala Dosa",
31
- description: "Crispy rice crepe with spiced potato filling",
32
- price: 120,
33
- category: "South Indian",
34
- image: "https://images.unsplash.com/photo-1630383249896-424e482df921?w=300",
35
- cartId: T[0]?.id || "FOOD-001",
36
- cartName: T[0]?.name || "Dosa Express",
37
- isVegetarian: !0,
38
- isVegan: !1,
39
- preparationTime: 15,
40
- rating: 4.7,
41
- addedToFavorites: "2024-02-20T12:30:00Z",
42
- orderCount: 8
43
- }], [j, M] = l({
11
+ function x() {
12
+ let { navigateTo: x } = e(), S = [], C = [], [w, T] = s({
44
13
  searchQuery: "",
45
14
  type: "all",
46
15
  category: "",
47
16
  sortBy: "recent"
48
- }), N = E || O, { carts: P, products: F } = c(() => {
49
- let e = [...k], t = [...A];
50
- if (j.searchQuery) {
51
- let n = j.searchQuery.toLowerCase();
17
+ }), { carts: E, products: D } = o(() => {
18
+ let e = [...S], t = [...C];
19
+ if (w.searchQuery) {
20
+ let n = w.searchQuery.toLowerCase();
52
21
  e = e.filter((e) => e.name.toLowerCase().includes(n) || e.description.toLowerCase().includes(n) || e.category.toLowerCase().includes(n)), t = t.filter((e) => e.name.toLowerCase().includes(n) || e.description.toLowerCase().includes(n) || e.category.toLowerCase().includes(n) || e.cartName.toLowerCase().includes(n));
53
22
  }
54
- switch (j.category && (e = e.filter((e) => e.category === j.category), t = t.filter((e) => e.category === j.category)), j.sortBy) {
23
+ switch (w.category && (e = e.filter((e) => e.category === w.category), t = t.filter((e) => e.category === w.category)), w.sortBy) {
55
24
  case "recent":
56
25
  e.sort((e, t) => new Date(t.addedToFavorites).getTime() - new Date(e.addedToFavorites).getTime()), t.sort((e, t) => new Date(t.addedToFavorites).getTime() - new Date(e.addedToFavorites).getTime());
57
26
  break;
@@ -65,10 +34,10 @@ function C() {
65
34
  e.sort((e, t) => t.totalOrders - e.totalOrders), t.sort((e, t) => t.orderCount - e.orderCount);
66
35
  break;
67
36
  }
68
- return j.type === "carts" ? {
37
+ return w.type === "carts" ? {
69
38
  carts: e,
70
39
  products: []
71
- } : j.type === "products" ? {
40
+ } : w.type === "products" ? {
72
41
  carts: [],
73
42
  products: t
74
43
  } : {
@@ -76,151 +45,145 @@ function C() {
76
45
  products: t
77
46
  };
78
47
  }, [
79
- k,
80
- A,
81
- j
82
- ])(), I = (e) => {
48
+ S,
49
+ C,
50
+ w
51
+ ])(), O = (e) => {
83
52
  console.log("Remove cart:", e);
84
- }, L = (e) => {
53
+ }, k = (e) => {
85
54
  console.log("Remove product:", e);
86
- }, R = k.reduce((e, t) => e + t.totalSpent, 0) + A.reduce((e, t) => e + t.price * t.orderCount, 0);
87
- return N ? /* @__PURE__ */ y(n, {
55
+ }, A = S.reduce((e, t) => e + t.totalSpent, 0) + C.reduce((e, t) => e + t.price * t.orderCount, 0);
56
+ return /* @__PURE__ */ v(n, {
88
57
  title: "My Favorites",
89
- children: /* @__PURE__ */ y("div", {
90
- className: "flex items-center justify-center py-20",
91
- children: /* @__PURE__ */ y("div", { className: "animate-spin rounded-full h-12 w-12 border-b-2 border-foreground" })
92
- })
93
- }) : /* @__PURE__ */ b(n, {
94
- title: "My Favorites",
95
- description: `${k.length} carts, ${A.length} products`,
58
+ description: `${S.length} carts, ${C.length} products`,
96
59
  children: [
97
- /* @__PURE__ */ y(S, {
60
+ /* @__PURE__ */ _(b, {
98
61
  className: "mb-6",
99
62
  children: "Everything you've saved in one place — the carts you love and the dishes you keep coming back to. Reorder a favourite in a tap, or use the filters to find exactly what you saved."
100
63
  }),
101
- /* @__PURE__ */ y(x, {
64
+ /* @__PURE__ */ _(y, {
102
65
  className: "mb-6",
103
- children: /* @__PURE__ */ b("div", {
66
+ children: /* @__PURE__ */ v("div", {
104
67
  className: "flex flex-wrap items-center gap-4 text-sm text-text-secondary",
105
68
  children: [
106
- /* @__PURE__ */ b("span", {
69
+ /* @__PURE__ */ v("span", {
107
70
  className: "flex items-center gap-1.5",
108
71
  children: [
109
- /* @__PURE__ */ y(h, { className: "h-3.5 w-3.5" }),
110
- k.length,
72
+ /* @__PURE__ */ _(p, { className: "h-3.5 w-3.5" }),
73
+ S.length,
111
74
  " carts"
112
75
  ]
113
76
  }),
114
- /* @__PURE__ */ b("span", {
77
+ /* @__PURE__ */ v("span", {
115
78
  className: "flex items-center gap-1.5",
116
79
  children: [
117
- /* @__PURE__ */ y(_, { className: "h-3.5 w-3.5" }),
118
- A.length,
80
+ /* @__PURE__ */ _(h, { className: "h-3.5 w-3.5" }),
81
+ C.length,
119
82
  " products"
120
83
  ]
121
84
  }),
122
- /* @__PURE__ */ b("span", {
85
+ /* @__PURE__ */ v("span", {
123
86
  className: "flex items-center gap-1.5",
124
87
  children: [
125
- /* @__PURE__ */ y(g, { className: "h-3.5 w-3.5" }),
88
+ /* @__PURE__ */ _(m, { className: "h-3.5 w-3.5" }),
126
89
  "Total saved: ",
127
- o(R, { minimumFractionDigits: 0 })
90
+ i(A, { minimumFractionDigits: 0 })
128
91
  ]
129
92
  })
130
93
  ]
131
94
  })
132
95
  }),
133
- /* @__PURE__ */ y("div", {
96
+ /* @__PURE__ */ _("div", {
134
97
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 mb-6",
135
- children: /* @__PURE__ */ b("div", {
98
+ children: /* @__PURE__ */ v("div", {
136
99
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",
137
100
  children: [
138
- /* @__PURE__ */ b("div", {
101
+ /* @__PURE__ */ v("div", {
139
102
  className: "relative",
140
- children: [/* @__PURE__ */ y(m, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ y("input", {
103
+ children: [/* @__PURE__ */ _(f, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ _("input", {
141
104
  type: "text",
142
105
  placeholder: "Search favorites...",
143
- value: j.searchQuery,
144
- onChange: (e) => M((t) => ({
106
+ value: w.searchQuery,
107
+ onChange: (e) => T((t) => ({
145
108
  ...t,
146
109
  searchQuery: e.target.value
147
110
  })),
148
111
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-9 pr-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
149
112
  })]
150
113
  }),
151
- /* @__PURE__ */ b("select", {
152
- value: j.type,
153
- onChange: (e) => M((t) => ({
114
+ /* @__PURE__ */ v("select", {
115
+ value: w.type,
116
+ onChange: (e) => T((t) => ({
154
117
  ...t,
155
118
  type: e.target.value
156
119
  })),
157
120
  className: "w-full 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)]",
158
121
  children: [
159
- /* @__PURE__ */ y("option", {
122
+ /* @__PURE__ */ _("option", {
160
123
  value: "all",
161
124
  children: "All Favorites"
162
125
  }),
163
- /* @__PURE__ */ y("option", {
126
+ /* @__PURE__ */ _("option", {
164
127
  value: "carts",
165
128
  children: "Favorite Carts"
166
129
  }),
167
- /* @__PURE__ */ y("option", {
130
+ /* @__PURE__ */ _("option", {
168
131
  value: "products",
169
132
  children: "Favorite Products"
170
133
  })
171
134
  ]
172
135
  }),
173
- /* @__PURE__ */ b("select", {
174
- value: j.category,
175
- onChange: (e) => M((t) => ({
136
+ /* @__PURE__ */ v("select", {
137
+ value: w.category,
138
+ onChange: (e) => T((t) => ({
176
139
  ...t,
177
140
  category: e.target.value
178
141
  })),
179
142
  className: "w-full 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)]",
180
143
  children: [
181
- /* @__PURE__ */ y("option", {
144
+ /* @__PURE__ */ _("option", {
182
145
  value: "",
183
146
  children: "All Categories"
184
147
  }),
185
- /* @__PURE__ */ y("option", {
148
+ /* @__PURE__ */ _("option", {
186
149
  value: "Food & Beverage",
187
150
  children: "Food & Beverage"
188
151
  }),
189
- /* @__PURE__ */ y("option", {
152
+ /* @__PURE__ */ _("option", {
190
153
  value: "Street Food",
191
154
  children: "Street Food"
192
155
  }),
193
- /* @__PURE__ */ y("option", {
156
+ /* @__PURE__ */ _("option", {
194
157
  value: "South Indian",
195
158
  children: "South Indian"
196
159
  }),
197
- /* @__PURE__ */ y("option", {
160
+ /* @__PURE__ */ _("option", {
198
161
  value: "Beverages",
199
162
  children: "Beverages"
200
163
  })
201
164
  ]
202
165
  }),
203
- /* @__PURE__ */ b("select", {
204
- value: j.sortBy,
205
- onChange: (e) => M((t) => ({
166
+ /* @__PURE__ */ v("select", {
167
+ value: w.sortBy,
168
+ onChange: (e) => T((t) => ({
206
169
  ...t,
207
170
  sortBy: e.target.value
208
171
  })),
209
172
  className: "w-full 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)]",
210
173
  children: [
211
- /* @__PURE__ */ y("option", {
174
+ /* @__PURE__ */ _("option", {
212
175
  value: "recent",
213
176
  children: "Recently Added"
214
177
  }),
215
- /* @__PURE__ */ y("option", {
178
+ /* @__PURE__ */ _("option", {
216
179
  value: "name",
217
180
  children: "Name A-Z"
218
181
  }),
219
- /* @__PURE__ */ y("option", {
182
+ /* @__PURE__ */ _("option", {
220
183
  value: "rating",
221
184
  children: "Highest Rated"
222
185
  }),
223
- /* @__PURE__ */ y("option", {
186
+ /* @__PURE__ */ _("option", {
224
187
  value: "orders",
225
188
  children: "Most Ordered"
226
189
  })
@@ -229,76 +192,76 @@ function C() {
229
192
  ]
230
193
  })
231
194
  }),
232
- P.length === 0 && F.length === 0 ? /* @__PURE__ */ y(r, {
195
+ E.length === 0 && D.length === 0 ? /* @__PURE__ */ _(r, {
233
196
  illustration: "empty-data",
234
- icon: /* @__PURE__ */ y(d, { className: "h-12 w-12" }),
197
+ icon: /* @__PURE__ */ _(l, { className: "h-12 w-12" }),
235
198
  title: "No favorites yet",
236
- description: "Browse carts and tap the heart icon to add them to your favorites.",
237
- action: /* @__PURE__ */ y("button", {
199
+ description: "You haven't saved any favorites yet. Once you save the carts and dishes you love, they'll show up here.",
200
+ action: /* @__PURE__ */ _("button", {
238
201
  type: "button",
239
- onClick: () => C("/customer/carts"),
202
+ onClick: () => x("/customer/carts"),
240
203
  className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
241
204
  children: "Discover Carts"
242
205
  })
243
- }) : /* @__PURE__ */ b("div", {
206
+ }) : /* @__PURE__ */ v("div", {
244
207
  className: "space-y-8",
245
- children: [P.length > 0 && /* @__PURE__ */ b("section", { children: [/* @__PURE__ */ b("h3", {
208
+ children: [E.length > 0 && /* @__PURE__ */ v("section", { children: [/* @__PURE__ */ v("h3", {
246
209
  className: "text-base font-semibold text-text-primary mb-4 flex items-center gap-2",
247
210
  children: [
248
- /* @__PURE__ */ y(h, { className: "h-4 w-4 text-text-secondary" }),
211
+ /* @__PURE__ */ _(p, { className: "h-4 w-4 text-text-secondary" }),
249
212
  "Favorite Carts (",
250
- P.length,
213
+ E.length,
251
214
  ")"
252
215
  ]
253
- }), /* @__PURE__ */ y("div", {
216
+ }), /* @__PURE__ */ _("div", {
254
217
  className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
255
- children: P.map((e) => /* @__PURE__ */ b("div", {
218
+ children: E.map((e) => /* @__PURE__ */ v("div", {
256
219
  className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden",
257
- children: [/* @__PURE__ */ b("div", {
220
+ children: [/* @__PURE__ */ v("div", {
258
221
  className: "relative h-36 bg-bg-sunken",
259
222
  children: [
260
- /* @__PURE__ */ y("button", {
223
+ /* @__PURE__ */ _("button", {
261
224
  type: "button",
262
- onClick: () => C(`/customer/carts/${e.id}`),
225
+ onClick: () => x(`/customer/carts/${e.id}`),
263
226
  className: "block h-full w-full",
264
- children: /* @__PURE__ */ y("img", {
227
+ children: /* @__PURE__ */ _("img", {
265
228
  src: e.image,
266
229
  alt: e.name,
267
230
  className: "h-full w-full object-cover"
268
231
  })
269
232
  }),
270
- /* @__PURE__ */ y("button", {
233
+ /* @__PURE__ */ _("button", {
271
234
  type: "button",
272
- onClick: () => I(e.id),
235
+ onClick: () => O(e.id),
273
236
  title: "Remove from favorites",
274
237
  className: "absolute top-2 right-2 flex h-8 w-8 items-center justify-center rounded-full bg-bg-surface/80 backdrop-blur-sm text-status-error-text hover:bg-bg-surface transition-colors",
275
- children: /* @__PURE__ */ y(d, { className: "h-4 w-4 fill-current" })
238
+ children: /* @__PURE__ */ _(l, { className: "h-4 w-4 fill-current" })
276
239
  }),
277
- /* @__PURE__ */ y("div", {
240
+ /* @__PURE__ */ _("div", {
278
241
  className: "absolute top-2 left-2",
279
- children: /* @__PURE__ */ y("span", {
242
+ children: /* @__PURE__ */ _("span", {
280
243
  className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium", e.isOpen ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg/20 text-status-error-text"),
281
244
  children: e.isOpen ? "Open" : "Closed"
282
245
  })
283
246
  })
284
247
  ]
285
- }), /* @__PURE__ */ b("div", {
248
+ }), /* @__PURE__ */ v("div", {
286
249
  className: "p-4",
287
250
  children: [
288
- /* @__PURE__ */ b("div", {
251
+ /* @__PURE__ */ v("div", {
289
252
  className: "flex items-start justify-between gap-2 mb-2",
290
- children: [/* @__PURE__ */ y("h4", {
253
+ children: [/* @__PURE__ */ _("h4", {
291
254
  className: "text-sm font-semibold text-text-primary truncate",
292
255
  children: e.name
293
- }), /* @__PURE__ */ b("div", {
256
+ }), /* @__PURE__ */ v("div", {
294
257
  className: "flex items-center gap-1 shrink-0",
295
258
  children: [
296
- /* @__PURE__ */ y(g, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }),
297
- /* @__PURE__ */ y("span", {
259
+ /* @__PURE__ */ _(m, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }),
260
+ /* @__PURE__ */ _("span", {
298
261
  className: "text-xs font-medium text-text-primary",
299
262
  children: e.rating
300
263
  }),
301
- /* @__PURE__ */ b("span", {
264
+ /* @__PURE__ */ v("span", {
302
265
  className: "text-xs text-text-secondary",
303
266
  children: [
304
267
  "(",
@@ -309,35 +272,35 @@ function C() {
309
272
  ]
310
273
  })]
311
274
  }),
312
- /* @__PURE__ */ y("p", {
275
+ /* @__PURE__ */ _("p", {
313
276
  className: "text-xs text-text-secondary line-clamp-2 mb-3",
314
277
  children: e.description
315
278
  }),
316
- /* @__PURE__ */ b("div", {
279
+ /* @__PURE__ */ v("div", {
317
280
  className: "space-y-1.5 text-xs text-text-secondary",
318
281
  children: [
319
- /* @__PURE__ */ b("div", {
282
+ /* @__PURE__ */ v("div", {
320
283
  className: "flex justify-between",
321
- children: [/* @__PURE__ */ y("span", { children: "Added:" }), /* @__PURE__ */ y("span", { children: s(e.addedToFavorites, {
284
+ children: [/* @__PURE__ */ _("span", { children: "Added:" }), /* @__PURE__ */ _("span", { children: a(e.addedToFavorites, {
322
285
  hour: void 0,
323
286
  minute: void 0,
324
287
  hour12: void 0
325
288
  }) })]
326
289
  }),
327
- /* @__PURE__ */ b("div", {
290
+ /* @__PURE__ */ v("div", {
328
291
  className: "flex justify-between",
329
- children: [/* @__PURE__ */ y("span", { children: "Total orders:" }), /* @__PURE__ */ y("span", { children: e.totalOrders })]
292
+ children: [/* @__PURE__ */ _("span", { children: "Total orders:" }), /* @__PURE__ */ _("span", { children: e.totalOrders })]
330
293
  }),
331
- /* @__PURE__ */ b("div", {
294
+ /* @__PURE__ */ v("div", {
332
295
  className: "flex justify-between",
333
- children: [/* @__PURE__ */ y("span", { children: "Total spent:" }), /* @__PURE__ */ y("span", {
296
+ children: [/* @__PURE__ */ _("span", { children: "Total spent:" }), /* @__PURE__ */ _("span", {
334
297
  className: "font-medium",
335
- children: o(e.totalSpent, { minimumFractionDigits: 0 })
298
+ children: i(e.totalSpent, { minimumFractionDigits: 0 })
336
299
  })]
337
300
  }),
338
- e.lastOrdered && /* @__PURE__ */ b("div", {
301
+ e.lastOrdered && /* @__PURE__ */ v("div", {
339
302
  className: "flex justify-between",
340
- children: [/* @__PURE__ */ y("span", { children: "Last ordered:" }), /* @__PURE__ */ y("span", { children: s(e.lastOrdered, {
303
+ children: [/* @__PURE__ */ _("span", { children: "Last ordered:" }), /* @__PURE__ */ _("span", { children: a(e.lastOrdered, {
341
304
  hour: void 0,
342
305
  minute: void 0,
343
306
  hour12: void 0
@@ -345,16 +308,16 @@ function C() {
345
308
  })
346
309
  ]
347
310
  }),
348
- /* @__PURE__ */ b("div", {
311
+ /* @__PURE__ */ v("div", {
349
312
  className: "flex gap-2 mt-4",
350
- children: [/* @__PURE__ */ b("button", {
313
+ children: [/* @__PURE__ */ v("button", {
351
314
  type: "button",
352
- onClick: () => C(`/customer/carts/${e.id}`),
315
+ onClick: () => x(`/customer/carts/${e.id}`),
353
316
  className: "flex-1 flex items-center justify-center gap-1.5 rounded-lg bg-foreground px-3 py-2 text-xs font-medium text-background hover:opacity-90 transition-opacity",
354
- children: [/* @__PURE__ */ y(p, { className: "h-3 w-3" }), "Order Again"]
355
- }), /* @__PURE__ */ y("button", {
317
+ children: [/* @__PURE__ */ _(d, { className: "h-3 w-3" }), "Order Again"]
318
+ }), /* @__PURE__ */ _("button", {
356
319
  type: "button",
357
- onClick: () => C(`/customer/carts/${e.id}`),
320
+ onClick: () => x(`/customer/carts/${e.id}`),
358
321
  className: "flex-1 rounded-lg border border-border-subtle px-3 py-2 text-xs font-medium text-text-primary hover:bg-accent transition-colors",
359
322
  children: "View Menu"
360
323
  })]
@@ -362,72 +325,72 @@ function C() {
362
325
  ]
363
326
  })]
364
327
  }, e.id))
365
- })] }), F.length > 0 && /* @__PURE__ */ b("section", { children: [/* @__PURE__ */ b("h3", {
328
+ })] }), D.length > 0 && /* @__PURE__ */ v("section", { children: [/* @__PURE__ */ v("h3", {
366
329
  className: "text-base font-semibold text-text-primary mb-4 flex items-center gap-2",
367
330
  children: [
368
- /* @__PURE__ */ y(_, { className: "h-4 w-4 text-text-secondary" }),
331
+ /* @__PURE__ */ _(h, { className: "h-4 w-4 text-text-secondary" }),
369
332
  "Favorite Products (",
370
- F.length,
333
+ D.length,
371
334
  ")"
372
335
  ]
373
- }), /* @__PURE__ */ y("div", {
336
+ }), /* @__PURE__ */ _("div", {
374
337
  className: "space-y-3",
375
- children: F.map((e) => /* @__PURE__ */ y("div", {
338
+ children: D.map((e) => /* @__PURE__ */ _("div", {
376
339
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
377
- children: /* @__PURE__ */ b("div", {
340
+ children: /* @__PURE__ */ v("div", {
378
341
  className: "flex flex-col sm:flex-row sm:items-center gap-4",
379
342
  children: [
380
- /* @__PURE__ */ y("img", {
343
+ /* @__PURE__ */ _("img", {
381
344
  src: e.image,
382
345
  alt: e.name,
383
346
  className: "w-20 h-20 rounded-lg object-cover shrink-0 mx-auto sm:mx-0"
384
347
  }),
385
- /* @__PURE__ */ b("div", {
348
+ /* @__PURE__ */ v("div", {
386
349
  className: "flex-1 min-w-0",
387
350
  children: [
388
- /* @__PURE__ */ b("div", {
351
+ /* @__PURE__ */ v("div", {
389
352
  className: "flex items-start justify-between gap-2 mb-1",
390
- children: [/* @__PURE__ */ y("h4", {
353
+ children: [/* @__PURE__ */ _("h4", {
391
354
  className: "text-sm font-semibold text-text-primary",
392
355
  children: e.name
393
- }), /* @__PURE__ */ b("div", {
356
+ }), /* @__PURE__ */ v("div", {
394
357
  className: "flex items-center gap-2 shrink-0",
395
- children: [/* @__PURE__ */ y("span", {
358
+ children: [/* @__PURE__ */ _("span", {
396
359
  className: "text-base font-bold text-text-primary",
397
- children: o(e.price, { minimumFractionDigits: 0 })
398
- }), /* @__PURE__ */ y("button", {
360
+ children: i(e.price, { minimumFractionDigits: 0 })
361
+ }), /* @__PURE__ */ _("button", {
399
362
  type: "button",
400
- onClick: () => L(e.id),
363
+ onClick: () => k(e.id),
401
364
  title: "Remove from favorites",
402
365
  className: "rounded-md p-1 text-status-error-text hover:bg-status-error-bg/10 transition-colors",
403
- children: /* @__PURE__ */ y(v, { className: "h-4 w-4" })
366
+ children: /* @__PURE__ */ _(g, { className: "h-4 w-4" })
404
367
  })]
405
368
  })]
406
369
  }),
407
- /* @__PURE__ */ y("p", {
370
+ /* @__PURE__ */ _("p", {
408
371
  className: "text-xs text-text-secondary mb-2",
409
372
  children: e.description
410
373
  }),
411
- /* @__PURE__ */ b("div", {
374
+ /* @__PURE__ */ v("div", {
412
375
  className: "flex flex-wrap items-center gap-2 text-xs text-text-secondary mb-2",
413
376
  children: [
414
- /* @__PURE__ */ b("span", { children: [
377
+ /* @__PURE__ */ v("span", { children: [
415
378
  "From:",
416
379
  " ",
417
- /* @__PURE__ */ y("span", {
380
+ /* @__PURE__ */ _("span", {
418
381
  className: "font-medium text-text-primary",
419
382
  children: e.cartName
420
383
  })
421
384
  ] }),
422
- /* @__PURE__ */ b("span", { children: [
385
+ /* @__PURE__ */ v("span", { children: [
423
386
  "Ordered ",
424
387
  e.orderCount,
425
388
  " times"
426
389
  ] }),
427
- /* @__PURE__ */ b("span", { children: [
390
+ /* @__PURE__ */ v("span", { children: [
428
391
  "Added:",
429
392
  " ",
430
- s(e.addedToFavorites, {
393
+ a(e.addedToFavorites, {
431
394
  hour: void 0,
432
395
  minute: void 0,
433
396
  hour12: void 0
@@ -435,21 +398,21 @@ function C() {
435
398
  ] })
436
399
  ]
437
400
  }),
438
- /* @__PURE__ */ b("div", {
401
+ /* @__PURE__ */ v("div", {
439
402
  className: "flex flex-wrap items-center gap-2",
440
403
  children: [
441
- e.isVegetarian && /* @__PURE__ */ b("span", {
404
+ e.isVegetarian && /* @__PURE__ */ v("span", {
442
405
  className: "inline-flex items-center gap-1 rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-[10px] font-medium text-status-success-text",
443
- children: [/* @__PURE__ */ y(f, { className: "h-3 w-3" }), "Veg"]
406
+ children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), "Veg"]
444
407
  }),
445
- e.isVegan && /* @__PURE__ */ b("span", {
408
+ e.isVegan && /* @__PURE__ */ v("span", {
446
409
  className: "inline-flex items-center gap-1 rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-[10px] font-medium text-status-success-text",
447
- children: [/* @__PURE__ */ y(f, { className: "h-3 w-3" }), "Vegan"]
410
+ children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), "Vegan"]
448
411
  }),
449
- /* @__PURE__ */ b("span", {
412
+ /* @__PURE__ */ v("span", {
450
413
  className: "inline-flex items-center gap-1 rounded-full bg-bg-sunken px-2 py-0.5 text-[10px] font-medium text-text-secondary",
451
414
  children: [
452
- /* @__PURE__ */ y(u, { className: "h-3 w-3" }),
415
+ /* @__PURE__ */ _(c, { className: "h-3 w-3" }),
453
416
  e.preparationTime,
454
417
  " min"
455
418
  ]
@@ -458,16 +421,16 @@ function C() {
458
421
  })
459
422
  ]
460
423
  }),
461
- /* @__PURE__ */ b("div", {
424
+ /* @__PURE__ */ v("div", {
462
425
  className: "flex sm:flex-col gap-2 shrink-0",
463
- children: [/* @__PURE__ */ y("button", {
426
+ children: [/* @__PURE__ */ _("button", {
464
427
  type: "button",
465
- onClick: () => C(`/customer/carts/${e.cartId}`),
428
+ onClick: () => x(`/customer/carts/${e.cartId}`),
466
429
  className: "flex-1 sm:flex-none rounded-lg bg-foreground px-4 py-2 text-xs font-medium text-background hover:opacity-90 transition-opacity whitespace-nowrap",
467
430
  children: "Add to Cart"
468
- }), /* @__PURE__ */ y("button", {
431
+ }), /* @__PURE__ */ _("button", {
469
432
  type: "button",
470
- onClick: () => C(`/customer/carts/${e.cartId}`),
433
+ onClick: () => x(`/customer/carts/${e.cartId}`),
471
434
  className: "flex-1 sm:flex-none rounded-lg border border-border-subtle px-4 py-2 text-xs font-medium text-text-primary hover:bg-accent transition-colors whitespace-nowrap",
472
435
  children: "View Cart"
473
436
  })]
@@ -481,6 +444,6 @@ function C() {
481
444
  });
482
445
  }
483
446
  //#endregion
484
- export { C as FavoritesPage };
447
+ export { x as FavoritesPage };
485
448
 
486
449
  //# sourceMappingURL=FavoritesPage.js.map