@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.
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +260 -105
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/HomePage.js +4 -4
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +279 -333
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +299 -372
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +329 -432
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -384
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +276 -279
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +229 -447
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +34 -46
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +193 -447
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +6 -6
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +255 -215
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +141 -178
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +155 -161
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +14 -140
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +258 -523
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +128 -295
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +205 -291
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +426 -514
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +231 -225
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +197 -301
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +247 -399
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +294 -327
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +179 -397
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -1
- package/dist/kadaikodi/mocks/data.js +0 -1517
- package/dist/kadaikodi/mocks/data.js.map +0 -1
- package/dist/kadaikodi/mocks/users.js +0 -34
- 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 {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
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
|
|
13
|
-
let { navigateTo:
|
|
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
|
-
}),
|
|
49
|
-
let e = [...
|
|
50
|
-
if (
|
|
51
|
-
let n =
|
|
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 (
|
|
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
|
|
37
|
+
return w.type === "carts" ? {
|
|
69
38
|
carts: e,
|
|
70
39
|
products: []
|
|
71
|
-
} :
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
])(),
|
|
48
|
+
S,
|
|
49
|
+
C,
|
|
50
|
+
w
|
|
51
|
+
])(), O = (e) => {
|
|
83
52
|
console.log("Remove cart:", e);
|
|
84
|
-
},
|
|
53
|
+
}, k = (e) => {
|
|
85
54
|
console.log("Remove product:", e);
|
|
86
|
-
},
|
|
87
|
-
return
|
|
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
|
-
|
|
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__ */
|
|
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
|
|
64
|
+
/* @__PURE__ */ _(y, {
|
|
102
65
|
className: "mb-6",
|
|
103
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
69
|
+
/* @__PURE__ */ v("span", {
|
|
107
70
|
className: "flex items-center gap-1.5",
|
|
108
71
|
children: [
|
|
109
|
-
/* @__PURE__ */
|
|
110
|
-
|
|
72
|
+
/* @__PURE__ */ _(p, { className: "h-3.5 w-3.5" }),
|
|
73
|
+
S.length,
|
|
111
74
|
" carts"
|
|
112
75
|
]
|
|
113
76
|
}),
|
|
114
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ v("span", {
|
|
115
78
|
className: "flex items-center gap-1.5",
|
|
116
79
|
children: [
|
|
117
|
-
/* @__PURE__ */
|
|
118
|
-
|
|
80
|
+
/* @__PURE__ */ _(h, { className: "h-3.5 w-3.5" }),
|
|
81
|
+
C.length,
|
|
119
82
|
" products"
|
|
120
83
|
]
|
|
121
84
|
}),
|
|
122
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ v("span", {
|
|
123
86
|
className: "flex items-center gap-1.5",
|
|
124
87
|
children: [
|
|
125
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ _(m, { className: "h-3.5 w-3.5" }),
|
|
126
89
|
"Total saved: ",
|
|
127
|
-
|
|
90
|
+
i(A, { minimumFractionDigits: 0 })
|
|
128
91
|
]
|
|
129
92
|
})
|
|
130
93
|
]
|
|
131
94
|
})
|
|
132
95
|
}),
|
|
133
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ _("div", {
|
|
134
97
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 mb-6",
|
|
135
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
101
|
+
/* @__PURE__ */ v("div", {
|
|
139
102
|
className: "relative",
|
|
140
|
-
children: [/* @__PURE__ */
|
|
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:
|
|
144
|
-
onChange: (e) =>
|
|
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__ */
|
|
152
|
-
value:
|
|
153
|
-
onChange: (e) =>
|
|
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__ */
|
|
122
|
+
/* @__PURE__ */ _("option", {
|
|
160
123
|
value: "all",
|
|
161
124
|
children: "All Favorites"
|
|
162
125
|
}),
|
|
163
|
-
/* @__PURE__ */
|
|
126
|
+
/* @__PURE__ */ _("option", {
|
|
164
127
|
value: "carts",
|
|
165
128
|
children: "Favorite Carts"
|
|
166
129
|
}),
|
|
167
|
-
/* @__PURE__ */
|
|
130
|
+
/* @__PURE__ */ _("option", {
|
|
168
131
|
value: "products",
|
|
169
132
|
children: "Favorite Products"
|
|
170
133
|
})
|
|
171
134
|
]
|
|
172
135
|
}),
|
|
173
|
-
/* @__PURE__ */
|
|
174
|
-
value:
|
|
175
|
-
onChange: (e) =>
|
|
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__ */
|
|
144
|
+
/* @__PURE__ */ _("option", {
|
|
182
145
|
value: "",
|
|
183
146
|
children: "All Categories"
|
|
184
147
|
}),
|
|
185
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ _("option", {
|
|
186
149
|
value: "Food & Beverage",
|
|
187
150
|
children: "Food & Beverage"
|
|
188
151
|
}),
|
|
189
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ _("option", {
|
|
190
153
|
value: "Street Food",
|
|
191
154
|
children: "Street Food"
|
|
192
155
|
}),
|
|
193
|
-
/* @__PURE__ */
|
|
156
|
+
/* @__PURE__ */ _("option", {
|
|
194
157
|
value: "South Indian",
|
|
195
158
|
children: "South Indian"
|
|
196
159
|
}),
|
|
197
|
-
/* @__PURE__ */
|
|
160
|
+
/* @__PURE__ */ _("option", {
|
|
198
161
|
value: "Beverages",
|
|
199
162
|
children: "Beverages"
|
|
200
163
|
})
|
|
201
164
|
]
|
|
202
165
|
}),
|
|
203
|
-
/* @__PURE__ */
|
|
204
|
-
value:
|
|
205
|
-
onChange: (e) =>
|
|
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__ */
|
|
174
|
+
/* @__PURE__ */ _("option", {
|
|
212
175
|
value: "recent",
|
|
213
176
|
children: "Recently Added"
|
|
214
177
|
}),
|
|
215
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ _("option", {
|
|
216
179
|
value: "name",
|
|
217
180
|
children: "Name A-Z"
|
|
218
181
|
}),
|
|
219
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ _("option", {
|
|
220
183
|
value: "rating",
|
|
221
184
|
children: "Highest Rated"
|
|
222
185
|
}),
|
|
223
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
195
|
+
E.length === 0 && D.length === 0 ? /* @__PURE__ */ _(r, {
|
|
233
196
|
illustration: "empty-data",
|
|
234
|
-
icon: /* @__PURE__ */
|
|
197
|
+
icon: /* @__PURE__ */ _(l, { className: "h-12 w-12" }),
|
|
235
198
|
title: "No favorites yet",
|
|
236
|
-
description: "
|
|
237
|
-
action: /* @__PURE__ */
|
|
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: () =>
|
|
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__ */
|
|
206
|
+
}) : /* @__PURE__ */ v("div", {
|
|
244
207
|
className: "space-y-8",
|
|
245
|
-
children: [
|
|
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__ */
|
|
211
|
+
/* @__PURE__ */ _(p, { className: "h-4 w-4 text-text-secondary" }),
|
|
249
212
|
"Favorite Carts (",
|
|
250
|
-
|
|
213
|
+
E.length,
|
|
251
214
|
")"
|
|
252
215
|
]
|
|
253
|
-
}), /* @__PURE__ */
|
|
216
|
+
}), /* @__PURE__ */ _("div", {
|
|
254
217
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
255
|
-
children:
|
|
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__ */
|
|
220
|
+
children: [/* @__PURE__ */ v("div", {
|
|
258
221
|
className: "relative h-36 bg-bg-sunken",
|
|
259
222
|
children: [
|
|
260
|
-
/* @__PURE__ */
|
|
223
|
+
/* @__PURE__ */ _("button", {
|
|
261
224
|
type: "button",
|
|
262
|
-
onClick: () =>
|
|
225
|
+
onClick: () => x(`/customer/carts/${e.id}`),
|
|
263
226
|
className: "block h-full w-full",
|
|
264
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
233
|
+
/* @__PURE__ */ _("button", {
|
|
271
234
|
type: "button",
|
|
272
|
-
onClick: () =>
|
|
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__ */
|
|
238
|
+
children: /* @__PURE__ */ _(l, { className: "h-4 w-4 fill-current" })
|
|
276
239
|
}),
|
|
277
|
-
/* @__PURE__ */
|
|
240
|
+
/* @__PURE__ */ _("div", {
|
|
278
241
|
className: "absolute top-2 left-2",
|
|
279
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
248
|
+
}), /* @__PURE__ */ v("div", {
|
|
286
249
|
className: "p-4",
|
|
287
250
|
children: [
|
|
288
|
-
/* @__PURE__ */
|
|
251
|
+
/* @__PURE__ */ v("div", {
|
|
289
252
|
className: "flex items-start justify-between gap-2 mb-2",
|
|
290
|
-
children: [/* @__PURE__ */
|
|
253
|
+
children: [/* @__PURE__ */ _("h4", {
|
|
291
254
|
className: "text-sm font-semibold text-text-primary truncate",
|
|
292
255
|
children: e.name
|
|
293
|
-
}), /* @__PURE__ */
|
|
256
|
+
}), /* @__PURE__ */ v("div", {
|
|
294
257
|
className: "flex items-center gap-1 shrink-0",
|
|
295
258
|
children: [
|
|
296
|
-
/* @__PURE__ */
|
|
297
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
279
|
+
/* @__PURE__ */ v("div", {
|
|
317
280
|
className: "space-y-1.5 text-xs text-text-secondary",
|
|
318
281
|
children: [
|
|
319
|
-
/* @__PURE__ */
|
|
282
|
+
/* @__PURE__ */ v("div", {
|
|
320
283
|
className: "flex justify-between",
|
|
321
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
290
|
+
/* @__PURE__ */ v("div", {
|
|
328
291
|
className: "flex justify-between",
|
|
329
|
-
children: [/* @__PURE__ */
|
|
292
|
+
children: [/* @__PURE__ */ _("span", { children: "Total orders:" }), /* @__PURE__ */ _("span", { children: e.totalOrders })]
|
|
330
293
|
}),
|
|
331
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ v("div", {
|
|
332
295
|
className: "flex justify-between",
|
|
333
|
-
children: [/* @__PURE__ */
|
|
296
|
+
children: [/* @__PURE__ */ _("span", { children: "Total spent:" }), /* @__PURE__ */ _("span", {
|
|
334
297
|
className: "font-medium",
|
|
335
|
-
children:
|
|
298
|
+
children: i(e.totalSpent, { minimumFractionDigits: 0 })
|
|
336
299
|
})]
|
|
337
300
|
}),
|
|
338
|
-
e.lastOrdered && /* @__PURE__ */
|
|
301
|
+
e.lastOrdered && /* @__PURE__ */ v("div", {
|
|
339
302
|
className: "flex justify-between",
|
|
340
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
311
|
+
/* @__PURE__ */ v("div", {
|
|
349
312
|
className: "flex gap-2 mt-4",
|
|
350
|
-
children: [/* @__PURE__ */
|
|
313
|
+
children: [/* @__PURE__ */ v("button", {
|
|
351
314
|
type: "button",
|
|
352
|
-
onClick: () =>
|
|
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__ */
|
|
355
|
-
}), /* @__PURE__ */
|
|
317
|
+
children: [/* @__PURE__ */ _(d, { className: "h-3 w-3" }), "Order Again"]
|
|
318
|
+
}), /* @__PURE__ */ _("button", {
|
|
356
319
|
type: "button",
|
|
357
|
-
onClick: () =>
|
|
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
|
-
})] }),
|
|
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__ */
|
|
331
|
+
/* @__PURE__ */ _(h, { className: "h-4 w-4 text-text-secondary" }),
|
|
369
332
|
"Favorite Products (",
|
|
370
|
-
|
|
333
|
+
D.length,
|
|
371
334
|
")"
|
|
372
335
|
]
|
|
373
|
-
}), /* @__PURE__ */
|
|
336
|
+
}), /* @__PURE__ */ _("div", {
|
|
374
337
|
className: "space-y-3",
|
|
375
|
-
children:
|
|
338
|
+
children: D.map((e) => /* @__PURE__ */ _("div", {
|
|
376
339
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
|
|
377
|
-
children: /* @__PURE__ */
|
|
340
|
+
children: /* @__PURE__ */ v("div", {
|
|
378
341
|
className: "flex flex-col sm:flex-row sm:items-center gap-4",
|
|
379
342
|
children: [
|
|
380
|
-
/* @__PURE__ */
|
|
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__ */
|
|
348
|
+
/* @__PURE__ */ v("div", {
|
|
386
349
|
className: "flex-1 min-w-0",
|
|
387
350
|
children: [
|
|
388
|
-
/* @__PURE__ */
|
|
351
|
+
/* @__PURE__ */ v("div", {
|
|
389
352
|
className: "flex items-start justify-between gap-2 mb-1",
|
|
390
|
-
children: [/* @__PURE__ */
|
|
353
|
+
children: [/* @__PURE__ */ _("h4", {
|
|
391
354
|
className: "text-sm font-semibold text-text-primary",
|
|
392
355
|
children: e.name
|
|
393
|
-
}), /* @__PURE__ */
|
|
356
|
+
}), /* @__PURE__ */ v("div", {
|
|
394
357
|
className: "flex items-center gap-2 shrink-0",
|
|
395
|
-
children: [/* @__PURE__ */
|
|
358
|
+
children: [/* @__PURE__ */ _("span", {
|
|
396
359
|
className: "text-base font-bold text-text-primary",
|
|
397
|
-
children:
|
|
398
|
-
}), /* @__PURE__ */
|
|
360
|
+
children: i(e.price, { minimumFractionDigits: 0 })
|
|
361
|
+
}), /* @__PURE__ */ _("button", {
|
|
399
362
|
type: "button",
|
|
400
|
-
onClick: () =>
|
|
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__ */
|
|
366
|
+
children: /* @__PURE__ */ _(g, { className: "h-4 w-4" })
|
|
404
367
|
})]
|
|
405
368
|
})]
|
|
406
369
|
}),
|
|
407
|
-
/* @__PURE__ */
|
|
370
|
+
/* @__PURE__ */ _("p", {
|
|
408
371
|
className: "text-xs text-text-secondary mb-2",
|
|
409
372
|
children: e.description
|
|
410
373
|
}),
|
|
411
|
-
/* @__PURE__ */
|
|
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__ */
|
|
377
|
+
/* @__PURE__ */ v("span", { children: [
|
|
415
378
|
"From:",
|
|
416
379
|
" ",
|
|
417
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ _("span", {
|
|
418
381
|
className: "font-medium text-text-primary",
|
|
419
382
|
children: e.cartName
|
|
420
383
|
})
|
|
421
384
|
] }),
|
|
422
|
-
/* @__PURE__ */
|
|
385
|
+
/* @__PURE__ */ v("span", { children: [
|
|
423
386
|
"Ordered ",
|
|
424
387
|
e.orderCount,
|
|
425
388
|
" times"
|
|
426
389
|
] }),
|
|
427
|
-
/* @__PURE__ */
|
|
390
|
+
/* @__PURE__ */ v("span", { children: [
|
|
428
391
|
"Added:",
|
|
429
392
|
" ",
|
|
430
|
-
|
|
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__ */
|
|
401
|
+
/* @__PURE__ */ v("div", {
|
|
439
402
|
className: "flex flex-wrap items-center gap-2",
|
|
440
403
|
children: [
|
|
441
|
-
e.isVegetarian && /* @__PURE__ */
|
|
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__ */
|
|
406
|
+
children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), "Veg"]
|
|
444
407
|
}),
|
|
445
|
-
e.isVegan && /* @__PURE__ */
|
|
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__ */
|
|
410
|
+
children: [/* @__PURE__ */ _(u, { className: "h-3 w-3" }), "Vegan"]
|
|
448
411
|
}),
|
|
449
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
424
|
+
/* @__PURE__ */ v("div", {
|
|
462
425
|
className: "flex sm:flex-col gap-2 shrink-0",
|
|
463
|
-
children: [/* @__PURE__ */
|
|
426
|
+
children: [/* @__PURE__ */ _("button", {
|
|
464
427
|
type: "button",
|
|
465
|
-
onClick: () =>
|
|
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__ */
|
|
431
|
+
}), /* @__PURE__ */ _("button", {
|
|
469
432
|
type: "button",
|
|
470
|
-
onClick: () =>
|
|
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 {
|
|
447
|
+
export { x as FavoritesPage };
|
|
485
448
|
|
|
486
449
|
//# sourceMappingURL=FavoritesPage.js.map
|