@burdenoff/microfe-atheletebridge 2026.625.1 → 2026.625.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atheletebridge/pages/HomePage.js +272 -268
- package/dist/atheletebridge/pages/HomePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
- package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
- package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
- package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
- package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js +99 -91
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
- package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +364 -356
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDetailPage.js +276 -241
- package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +260 -250
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
- package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +523 -512
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/FavoritesPage.js +83 -75
- package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +116 -108
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +65 -61
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +80 -75
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/ReviewsPage.js +80 -72
- package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +62 -55
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +89 -84
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +37 -32
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +352 -319
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +133 -128
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -344
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.js";
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
|
+
import { formatCurrency as i } from "../../utils/formatters.js";
|
|
6
|
+
import { mockProducts as ee } from "../../mocks/data.js";
|
|
6
7
|
import { useMemo as a, useState as o } from "react";
|
|
7
|
-
import { AlertCircle as
|
|
8
|
-
import { Fragment as
|
|
8
|
+
import { AlertCircle as te, CheckCircle2 as s, Edit2 as ne, Package as c, Plus as l, Search as u, Trash2 as d, Upload as re, X as ie } from "lucide-react";
|
|
9
|
+
import { Fragment as ae, jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
10
|
+
import { EmphasisPanel as oe, PagePurpose as m } from "@burdenoff/fe-libs/ui";
|
|
9
11
|
//#region src/atheletebridge/pages/cart-owner/InventoryManagementPage.tsx
|
|
10
|
-
var
|
|
12
|
+
var h = [
|
|
11
13
|
"Service",
|
|
12
14
|
"Repair",
|
|
13
15
|
"Beauty",
|
|
@@ -16,7 +18,7 @@ var d = [
|
|
|
16
18
|
"Health",
|
|
17
19
|
"Wellness",
|
|
18
20
|
"Education"
|
|
19
|
-
],
|
|
21
|
+
], g = (e) => h.some((t) => e.includes(t)), _ = (e) => e === "Food & Beverage", v = [
|
|
20
22
|
10,
|
|
21
23
|
25,
|
|
22
24
|
0,
|
|
@@ -37,18 +39,18 @@ var d = [
|
|
|
37
39
|
22,
|
|
38
40
|
0,
|
|
39
41
|
45
|
|
40
|
-
],
|
|
42
|
+
], se = () => ee.slice(0, 20).map((e, t) => ({
|
|
41
43
|
id: e.id,
|
|
42
44
|
name: e.name,
|
|
43
45
|
description: e.description ?? `${e.name} - quality offering from ${e.cartName}`,
|
|
44
46
|
price: e.price,
|
|
45
47
|
originalPrice: t % 4 == 0 ? Math.round(e.price * 1.2) : void 0,
|
|
46
48
|
category: e.category,
|
|
47
|
-
stock:
|
|
49
|
+
stock: v[t] ?? 10,
|
|
48
50
|
isAvailable: t !== 2 && t !== 9 && t !== 18,
|
|
49
51
|
cartName: e.cartName,
|
|
50
52
|
preparationTime: 15,
|
|
51
|
-
calories:
|
|
53
|
+
calories: _(e.category) ? Math.floor(Math.random() * 400) + 100 : 0,
|
|
52
54
|
isVegetarian: t % 3 == 0,
|
|
53
55
|
isVegan: t % 5 == 0,
|
|
54
56
|
isGlutenFree: t % 7 == 0,
|
|
@@ -63,16 +65,16 @@ var d = [
|
|
|
63
65
|
"trending",
|
|
64
66
|
"new"
|
|
65
67
|
].slice(0, t % 3 + 1),
|
|
66
|
-
allergens:
|
|
67
|
-
duration:
|
|
68
|
-
serviceType:
|
|
68
|
+
allergens: _(e.category) ? ["nuts", "dairy"].slice(0, t % 2 + 1) : [],
|
|
69
|
+
duration: g(e.category) ? 30 + t * 5 : 0,
|
|
70
|
+
serviceType: g(e.category) ? [
|
|
69
71
|
"instant",
|
|
70
72
|
"appointment",
|
|
71
73
|
"recurring",
|
|
72
74
|
"consultation"
|
|
73
75
|
][t % 4] : "",
|
|
74
|
-
requirements:
|
|
75
|
-
})),
|
|
76
|
+
requirements: g(e.category) ? ["advance booking"] : []
|
|
77
|
+
})), y = {
|
|
76
78
|
name: "",
|
|
77
79
|
description: "",
|
|
78
80
|
category: "",
|
|
@@ -91,14 +93,14 @@ var d = [
|
|
|
91
93
|
duration: 30,
|
|
92
94
|
serviceType: "instant",
|
|
93
95
|
requirements: []
|
|
94
|
-
},
|
|
95
|
-
let { navigateTo:
|
|
96
|
-
let e = [...
|
|
97
|
-
if (
|
|
98
|
-
let t =
|
|
96
|
+
}, b = () => {
|
|
97
|
+
let { navigateTo: ee } = e(), [h, v] = o(se), [b, x] = o(""), [S, C] = o(""), [w, T] = o(""), [E, D] = o("name"), [ce, le] = o(!1), [O, k] = o(!1), [A, j] = o(null), [M, N] = o(y), [P, F] = o(""), [I, L] = o(""), [R, z] = o(""), [B, V] = o(null), H = a(() => [...new Set(h.map((e) => e.category))].sort(), [h]), U = a(() => {
|
|
98
|
+
let e = [...h];
|
|
99
|
+
if (b) {
|
|
100
|
+
let t = b.toLowerCase();
|
|
99
101
|
e = e.filter((e) => e.name.toLowerCase().includes(t) || e.description.toLowerCase().includes(t) || e.category.toLowerCase().includes(t) || e.tags.some((e) => e.toLowerCase().includes(t)));
|
|
100
102
|
}
|
|
101
|
-
switch (
|
|
103
|
+
switch (S && (e = e.filter((e) => e.category === S)), w === "available" ? e = e.filter((e) => e.isAvailable) : w === "unavailable" && (e = e.filter((e) => !e.isAvailable)), E) {
|
|
102
104
|
case "name":
|
|
103
105
|
e.sort((e, t) => e.name.localeCompare(t.name));
|
|
104
106
|
break;
|
|
@@ -114,23 +116,23 @@ var d = [
|
|
|
114
116
|
}
|
|
115
117
|
return e;
|
|
116
118
|
}, [
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
]),
|
|
123
|
-
|
|
119
|
+
h,
|
|
120
|
+
b,
|
|
121
|
+
S,
|
|
122
|
+
w,
|
|
123
|
+
E
|
|
124
|
+
]), ue = h.length, de = h.filter((e) => e.isAvailable).length, fe = h.filter((e) => !g(e.category) && e.stock === 0).length, pe = h.filter((e) => !g(e.category) && e.stock > 0 && e.stock < 10).length, W = (e, t) => {
|
|
125
|
+
V({
|
|
124
126
|
text: e,
|
|
125
127
|
type: t
|
|
126
|
-
}), setTimeout(() =>
|
|
128
|
+
}), setTimeout(() => V(null), 3e3);
|
|
127
129
|
}, G = () => {
|
|
128
|
-
|
|
129
|
-
...
|
|
130
|
-
category:
|
|
131
|
-
}),
|
|
130
|
+
j(null), N({
|
|
131
|
+
...y,
|
|
132
|
+
category: H[0] || ""
|
|
133
|
+
}), F(""), L(""), z(""), k(!0);
|
|
132
134
|
}, K = (e) => {
|
|
133
|
-
|
|
135
|
+
j(e), N({
|
|
134
136
|
name: e.name,
|
|
135
137
|
description: e.description,
|
|
136
138
|
category: e.category,
|
|
@@ -149,16 +151,16 @@ var d = [
|
|
|
149
151
|
duration: e.duration,
|
|
150
152
|
serviceType: e.serviceType,
|
|
151
153
|
requirements: e.requirements
|
|
152
|
-
}),
|
|
153
|
-
},
|
|
154
|
-
if (!
|
|
154
|
+
}), F(e.tags.join(", ")), L(e.allergens.join(", ")), z(e.requirements.join(", ")), k(!0);
|
|
155
|
+
}, me = () => {
|
|
156
|
+
if (!M.name || !M.description || !M.category || M.price <= 0) {
|
|
155
157
|
W("Please fill all required fields (name, description, category, price > 0)", "error");
|
|
156
158
|
return;
|
|
157
159
|
}
|
|
158
|
-
let e =
|
|
159
|
-
if (
|
|
160
|
+
let e = P.split(",").map((e) => e.trim()).filter(Boolean), t = I.split(",").map((e) => e.trim()).filter(Boolean), n = R.split(",").map((e) => e.trim()).filter(Boolean), r = g(M.category) ? "Service" : "Product";
|
|
161
|
+
if (A) v((r) => r.map((r) => r.id === A.id ? {
|
|
160
162
|
...r,
|
|
161
|
-
...
|
|
163
|
+
...M,
|
|
162
164
|
tags: e,
|
|
163
165
|
allergens: t,
|
|
164
166
|
requirements: n
|
|
@@ -166,33 +168,33 @@ var d = [
|
|
|
166
168
|
else {
|
|
167
169
|
let i = {
|
|
168
170
|
id: `item-${Date.now()}`,
|
|
169
|
-
...
|
|
171
|
+
...M,
|
|
170
172
|
tags: e,
|
|
171
173
|
allergens: t,
|
|
172
174
|
requirements: n,
|
|
173
175
|
cartName: "Dosa Express"
|
|
174
176
|
};
|
|
175
|
-
|
|
177
|
+
v((e) => [i, ...e]), W(`${r} added successfully`, "success");
|
|
176
178
|
}
|
|
177
|
-
|
|
179
|
+
k(!1);
|
|
178
180
|
}, q = (e) => {
|
|
179
|
-
confirm("Are you sure you want to delete this offering?") && (
|
|
181
|
+
confirm("Are you sure you want to delete this offering?") && (v((t) => t.filter((t) => t.id !== e)), W("Offering deleted successfully", "success"));
|
|
180
182
|
}, J = (e, t) => {
|
|
181
|
-
|
|
183
|
+
v((n) => n.map((n) => n.id === e ? {
|
|
182
184
|
...n,
|
|
183
185
|
isAvailable: t
|
|
184
186
|
} : n)), W(`Offering ${t ? "enabled" : "disabled"} successfully`, "success");
|
|
185
187
|
}, Y = (e) => {
|
|
186
|
-
let t = e === "enable", n =
|
|
188
|
+
let t = e === "enable", n = h.filter((e) => e.isAvailable !== t).length;
|
|
187
189
|
if (n === 0) {
|
|
188
190
|
W(`No offerings to ${e}`, "error");
|
|
189
191
|
return;
|
|
190
192
|
}
|
|
191
|
-
|
|
193
|
+
v((e) => e.map((e) => ({
|
|
192
194
|
...e,
|
|
193
195
|
isAvailable: t
|
|
194
196
|
}))), W(`${n} offerings ${e}d successfully`, "success");
|
|
195
|
-
}, X = (e) =>
|
|
197
|
+
}, X = (e) => g(e.category) ? {
|
|
196
198
|
color: "text-green-600 dark:text-green-400",
|
|
197
199
|
label: "Available"
|
|
198
200
|
} : e.stock === 0 ? {
|
|
@@ -204,165 +206,169 @@ var d = [
|
|
|
204
206
|
} : {
|
|
205
207
|
color: "text-green-600 dark:text-green-400",
|
|
206
208
|
label: `In Stock (${e.stock})`
|
|
207
|
-
}, Z =
|
|
208
|
-
return /* @__PURE__ */
|
|
209
|
+
}, Z = M.category ? g(M.category) : !1, he = M.category ? _(M.category) : !1, Q = !Z && he, $ = M.name && M.description && M.category && M.price > 0 && (!Z || M.duration && M.duration > 0) && (Z || M.stock >= 0);
|
|
210
|
+
return /* @__PURE__ */ p(n, {
|
|
209
211
|
title: "Offerings Management",
|
|
210
212
|
description: "Manage your products and services",
|
|
211
|
-
actions: /* @__PURE__ */
|
|
213
|
+
actions: /* @__PURE__ */ p("button", {
|
|
212
214
|
type: "button",
|
|
213
215
|
onClick: G,
|
|
214
216
|
className: "inline-flex items-center gap-2 rounded-md bg-accent px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
215
|
-
children: [/* @__PURE__ */ l
|
|
217
|
+
children: [/* @__PURE__ */ f(l, { className: "h-4 w-4" }), "Add Item"]
|
|
216
218
|
}),
|
|
217
|
-
children: [/* @__PURE__ */
|
|
219
|
+
children: [/* @__PURE__ */ p("div", {
|
|
218
220
|
className: "space-y-4",
|
|
219
221
|
children: [
|
|
220
|
-
|
|
221
|
-
className: t("flex items-center gap-2 rounded-lg border p-3",
|
|
222
|
-
children: [
|
|
223
|
-
className: t("text-sm font-medium",
|
|
224
|
-
children:
|
|
222
|
+
B && /* @__PURE__ */ p("div", {
|
|
223
|
+
className: t("flex items-center gap-2 rounded-lg border p-3", B.type === "success" ? "border-green-500/30 bg-green-500/10" : "border-red-500/30 bg-red-500/10"),
|
|
224
|
+
children: [B.type === "success" ? /* @__PURE__ */ f(s, { className: "h-4 w-4 text-green-600 dark:text-green-400" }) : /* @__PURE__ */ f(te, { className: "h-4 w-4 text-red-600 dark:text-red-400" }), /* @__PURE__ */ f("span", {
|
|
225
|
+
className: t("text-sm font-medium", B.type === "success" ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
|
|
226
|
+
children: B.text
|
|
225
227
|
})]
|
|
226
228
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
229
|
+
/* @__PURE__ */ f(m, { children: "Your catalogue of products and services. Add and edit items, set prices, and keep stock levels accurate so customers only see what's actually available. Watch for low-stock and out-of-stock items so you never disappoint an order." }),
|
|
230
|
+
/* @__PURE__ */ f(oe, {
|
|
231
|
+
className: "p-5",
|
|
232
|
+
children: /* @__PURE__ */ p("div", {
|
|
233
|
+
className: "grid grid-cols-2 lg:grid-cols-4 gap-3",
|
|
234
|
+
children: [
|
|
235
|
+
/* @__PURE__ */ p("div", {
|
|
236
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
237
|
+
children: [/* @__PURE__ */ f("p", {
|
|
238
|
+
className: "text-xs text-text-secondary",
|
|
239
|
+
children: "Total Items"
|
|
240
|
+
}), /* @__PURE__ */ f("p", {
|
|
241
|
+
className: "text-2xl font-bold text-text-primary",
|
|
242
|
+
children: ue
|
|
243
|
+
})]
|
|
244
|
+
}),
|
|
245
|
+
/* @__PURE__ */ p("div", {
|
|
246
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
247
|
+
children: [/* @__PURE__ */ f("p", {
|
|
248
|
+
className: "text-xs text-text-secondary",
|
|
249
|
+
children: "Available"
|
|
250
|
+
}), /* @__PURE__ */ f("p", {
|
|
251
|
+
className: "text-2xl font-bold text-green-600 dark:text-green-400",
|
|
252
|
+
children: de
|
|
253
|
+
})]
|
|
254
|
+
}),
|
|
255
|
+
/* @__PURE__ */ p("div", {
|
|
256
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
257
|
+
children: [/* @__PURE__ */ f("p", {
|
|
258
|
+
className: "text-xs text-text-secondary",
|
|
259
|
+
children: "Out of Stock"
|
|
260
|
+
}), /* @__PURE__ */ f("p", {
|
|
261
|
+
className: "text-2xl font-bold text-red-600 dark:text-red-400",
|
|
262
|
+
children: fe
|
|
263
|
+
})]
|
|
264
|
+
}),
|
|
265
|
+
/* @__PURE__ */ p("div", {
|
|
266
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
267
|
+
children: [/* @__PURE__ */ f("p", {
|
|
268
|
+
className: "text-xs text-text-secondary",
|
|
269
|
+
children: "Low Stock"
|
|
270
|
+
}), /* @__PURE__ */ f("p", {
|
|
271
|
+
className: "text-2xl font-bold text-yellow-600 dark:text-yellow-400",
|
|
272
|
+
children: pe
|
|
273
|
+
})]
|
|
274
|
+
})
|
|
275
|
+
]
|
|
276
|
+
})
|
|
271
277
|
}),
|
|
272
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ p("div", {
|
|
273
279
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm space-y-4",
|
|
274
|
-
children: [/* @__PURE__ */
|
|
280
|
+
children: [/* @__PURE__ */ p("div", {
|
|
275
281
|
className: "flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3",
|
|
276
|
-
children: [/* @__PURE__ */
|
|
282
|
+
children: [/* @__PURE__ */ p("div", {
|
|
277
283
|
className: "flex flex-wrap gap-2",
|
|
278
284
|
children: [
|
|
279
|
-
/* @__PURE__ */
|
|
285
|
+
/* @__PURE__ */ p("button", {
|
|
280
286
|
type: "button",
|
|
281
287
|
onClick: G,
|
|
282
288
|
className: "inline-flex items-center gap-1.5 rounded-md bg-accent px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent/80 transition-colors",
|
|
283
|
-
children: [/* @__PURE__ */ l
|
|
289
|
+
children: [/* @__PURE__ */ f(l, { className: "h-4 w-4" }), "Add Item"]
|
|
284
290
|
}),
|
|
285
|
-
/* @__PURE__ */
|
|
291
|
+
/* @__PURE__ */ f("button", {
|
|
286
292
|
type: "button",
|
|
287
293
|
onClick: () => Y("enable"),
|
|
288
294
|
className: "rounded-md border border-border-subtle px-3 py-2 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
289
295
|
children: "Enable All"
|
|
290
296
|
}),
|
|
291
|
-
/* @__PURE__ */
|
|
297
|
+
/* @__PURE__ */ f("button", {
|
|
292
298
|
type: "button",
|
|
293
299
|
onClick: () => Y("disable"),
|
|
294
300
|
className: "rounded-md border border-border-subtle px-3 py-2 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
295
301
|
children: "Disable All"
|
|
296
302
|
})
|
|
297
303
|
]
|
|
298
|
-
}), /* @__PURE__ */
|
|
304
|
+
}), /* @__PURE__ */ p("button", {
|
|
299
305
|
type: "button",
|
|
300
306
|
onClick: () => alert("Import/Export feature coming soon!"),
|
|
301
307
|
className: "inline-flex items-center gap-1.5 rounded-md border border-border-subtle px-3 py-2 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
302
|
-
children: [/* @__PURE__ */
|
|
308
|
+
children: [/* @__PURE__ */ f(re, { className: "h-4 w-4" }), "Import/Export"]
|
|
303
309
|
})]
|
|
304
|
-
}), /* @__PURE__ */
|
|
310
|
+
}), /* @__PURE__ */ p("div", {
|
|
305
311
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",
|
|
306
312
|
children: [
|
|
307
|
-
/* @__PURE__ */
|
|
313
|
+
/* @__PURE__ */ p("div", {
|
|
308
314
|
className: "relative sm:col-span-2 lg:col-span-1",
|
|
309
|
-
children: [/* @__PURE__ */
|
|
315
|
+
children: [/* @__PURE__ */ f(u, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ f("input", {
|
|
310
316
|
type: "text",
|
|
311
317
|
placeholder: "Search offerings...",
|
|
312
|
-
value:
|
|
313
|
-
onChange: (e) =>
|
|
318
|
+
value: b,
|
|
319
|
+
onChange: (e) => x(e.target.value),
|
|
314
320
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface pl-10 pr-4 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
315
321
|
})]
|
|
316
322
|
}),
|
|
317
|
-
/* @__PURE__ */
|
|
318
|
-
value:
|
|
319
|
-
onChange: (e) =>
|
|
323
|
+
/* @__PURE__ */ p("select", {
|
|
324
|
+
value: S,
|
|
325
|
+
onChange: (e) => C(e.target.value),
|
|
320
326
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
321
|
-
children: [/* @__PURE__ */
|
|
327
|
+
children: [/* @__PURE__ */ f("option", {
|
|
322
328
|
value: "",
|
|
323
329
|
children: "All Categories"
|
|
324
|
-
}),
|
|
330
|
+
}), H.map((e) => /* @__PURE__ */ f("option", {
|
|
325
331
|
value: e,
|
|
326
332
|
children: e
|
|
327
333
|
}, e))]
|
|
328
334
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
330
|
-
value:
|
|
331
|
-
onChange: (e) =>
|
|
335
|
+
/* @__PURE__ */ p("select", {
|
|
336
|
+
value: w,
|
|
337
|
+
onChange: (e) => T(e.target.value),
|
|
332
338
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
333
339
|
children: [
|
|
334
|
-
/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ f("option", {
|
|
335
341
|
value: "",
|
|
336
342
|
children: "All Status"
|
|
337
343
|
}),
|
|
338
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ f("option", {
|
|
339
345
|
value: "available",
|
|
340
346
|
children: "Available"
|
|
341
347
|
}),
|
|
342
|
-
/* @__PURE__ */
|
|
348
|
+
/* @__PURE__ */ f("option", {
|
|
343
349
|
value: "unavailable",
|
|
344
350
|
children: "Unavailable"
|
|
345
351
|
})
|
|
346
352
|
]
|
|
347
353
|
}),
|
|
348
|
-
/* @__PURE__ */
|
|
349
|
-
value:
|
|
350
|
-
onChange: (e) =>
|
|
354
|
+
/* @__PURE__ */ p("select", {
|
|
355
|
+
value: E,
|
|
356
|
+
onChange: (e) => D(e.target.value),
|
|
351
357
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
352
358
|
children: [
|
|
353
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ f("option", {
|
|
354
360
|
value: "name",
|
|
355
361
|
children: "Name A-Z"
|
|
356
362
|
}),
|
|
357
|
-
/* @__PURE__ */
|
|
363
|
+
/* @__PURE__ */ f("option", {
|
|
358
364
|
value: "price_low",
|
|
359
365
|
children: "Price: Low to High"
|
|
360
366
|
}),
|
|
361
|
-
/* @__PURE__ */
|
|
367
|
+
/* @__PURE__ */ f("option", {
|
|
362
368
|
value: "price_high",
|
|
363
369
|
children: "Price: High to Low"
|
|
364
370
|
}),
|
|
365
|
-
/* @__PURE__ */
|
|
371
|
+
/* @__PURE__ */ f("option", {
|
|
366
372
|
value: "stock",
|
|
367
373
|
children: "Stock: Low to High"
|
|
368
374
|
})
|
|
@@ -371,139 +377,133 @@ var d = [
|
|
|
371
377
|
]
|
|
372
378
|
})]
|
|
373
379
|
}),
|
|
374
|
-
|
|
375
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface
|
|
376
|
-
children:
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
}),
|
|
382
|
-
/* @__PURE__ */ l("p", {
|
|
383
|
-
className: "text-sm text-text-secondary mb-4",
|
|
384
|
-
children: _ || y || x ? "No items match your current filters. Try adjusting your search criteria." : "You haven't added any items yet. Start building your offerings!"
|
|
385
|
-
}),
|
|
386
|
-
/* @__PURE__ */ u("div", {
|
|
380
|
+
U.length === 0 ? /* @__PURE__ */ f("div", {
|
|
381
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm",
|
|
382
|
+
children: /* @__PURE__ */ f(r, {
|
|
383
|
+
illustration: b || S || w ? "empty-search" : "empty-files",
|
|
384
|
+
title: "No items found",
|
|
385
|
+
description: b || S || w ? "No items match your current filters. Try adjusting your search criteria." : "You haven't added any items yet. Start building your offerings!",
|
|
386
|
+
action: /* @__PURE__ */ p("div", {
|
|
387
387
|
className: "flex flex-wrap justify-center gap-3",
|
|
388
|
-
children: [/* @__PURE__ */
|
|
388
|
+
children: [/* @__PURE__ */ p("button", {
|
|
389
389
|
type: "button",
|
|
390
390
|
onClick: G,
|
|
391
|
-
className: "inline-flex items-center gap-2 rounded-
|
|
392
|
-
children: [/* @__PURE__ */ l
|
|
393
|
-
}), (
|
|
391
|
+
className: "inline-flex items-center gap-2 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
|
|
392
|
+
children: [/* @__PURE__ */ f(l, { className: "h-4 w-4" }), "Add Your First Item"]
|
|
393
|
+
}), (b || S || w) && /* @__PURE__ */ f("button", {
|
|
394
394
|
type: "button",
|
|
395
395
|
onClick: () => {
|
|
396
|
-
|
|
396
|
+
x(""), C(""), T(""), D("name");
|
|
397
397
|
},
|
|
398
|
-
className: "rounded-
|
|
398
|
+
className: "rounded-lg border border-border-subtle px-4 py-2 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
399
399
|
children: "Clear Filters"
|
|
400
400
|
})]
|
|
401
401
|
})
|
|
402
|
-
|
|
403
|
-
}) : /* @__PURE__ */
|
|
402
|
+
})
|
|
403
|
+
}) : /* @__PURE__ */ p(ae, { children: [/* @__PURE__ */ f("div", {
|
|
404
404
|
className: "hidden lg:block rounded-lg border border-border-subtle bg-bg-surface shadow-sm overflow-hidden",
|
|
405
|
-
children: /* @__PURE__ */
|
|
405
|
+
children: /* @__PURE__ */ f("div", {
|
|
406
406
|
className: "overflow-x-auto",
|
|
407
|
-
children: /* @__PURE__ */
|
|
407
|
+
children: /* @__PURE__ */ p("table", {
|
|
408
408
|
className: "w-full text-sm",
|
|
409
|
-
children: [/* @__PURE__ */
|
|
409
|
+
children: [/* @__PURE__ */ f("thead", { children: /* @__PURE__ */ p("tr", {
|
|
410
410
|
className: "border-b border-border-subtle bg-bg-sunken/50",
|
|
411
411
|
children: [
|
|
412
|
-
/* @__PURE__ */
|
|
412
|
+
/* @__PURE__ */ f("th", {
|
|
413
413
|
className: "px-5 py-3 text-left font-medium text-text-secondary",
|
|
414
414
|
children: "Item"
|
|
415
415
|
}),
|
|
416
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ f("th", {
|
|
417
417
|
className: "px-5 py-3 text-left font-medium text-text-secondary",
|
|
418
418
|
children: "Category"
|
|
419
419
|
}),
|
|
420
|
-
/* @__PURE__ */
|
|
420
|
+
/* @__PURE__ */ f("th", {
|
|
421
421
|
className: "px-5 py-3 text-right font-medium text-text-secondary",
|
|
422
422
|
children: "Price"
|
|
423
423
|
}),
|
|
424
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ f("th", {
|
|
425
425
|
className: "px-5 py-3 text-left font-medium text-text-secondary",
|
|
426
426
|
children: "Stock/Status"
|
|
427
427
|
}),
|
|
428
|
-
/* @__PURE__ */
|
|
428
|
+
/* @__PURE__ */ f("th", {
|
|
429
429
|
className: "px-5 py-3 text-center font-medium text-text-secondary",
|
|
430
430
|
children: "Available"
|
|
431
431
|
}),
|
|
432
|
-
/* @__PURE__ */
|
|
432
|
+
/* @__PURE__ */ f("th", {
|
|
433
433
|
className: "px-5 py-3 text-right font-medium text-text-secondary",
|
|
434
434
|
children: "Actions"
|
|
435
435
|
})
|
|
436
436
|
]
|
|
437
|
-
}) }), /* @__PURE__ */
|
|
437
|
+
}) }), /* @__PURE__ */ f("tbody", { children: U.map((e) => {
|
|
438
438
|
let n = X(e);
|
|
439
|
-
return /* @__PURE__ */
|
|
439
|
+
return /* @__PURE__ */ p("tr", {
|
|
440
440
|
className: "border-b border-border-subtle last:border-0 hover:bg-bg-sunken/30 transition-colors",
|
|
441
441
|
children: [
|
|
442
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ f("td", {
|
|
443
443
|
className: "px-5 py-3",
|
|
444
|
-
children: /* @__PURE__ */
|
|
444
|
+
children: /* @__PURE__ */ p("div", {
|
|
445
445
|
className: "flex items-center gap-3",
|
|
446
|
-
children: [/* @__PURE__ */
|
|
446
|
+
children: [/* @__PURE__ */ f("div", {
|
|
447
447
|
className: "flex h-10 w-10 items-center justify-center rounded-md bg-bg-sunken",
|
|
448
|
-
children: /* @__PURE__ */
|
|
449
|
-
}), /* @__PURE__ */
|
|
448
|
+
children: /* @__PURE__ */ f(c, { className: "h-4 w-4 text-text-secondary" })
|
|
449
|
+
}), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
|
|
450
450
|
className: "font-medium text-text-primary",
|
|
451
451
|
children: e.name
|
|
452
|
-
}), /* @__PURE__ */
|
|
452
|
+
}), /* @__PURE__ */ p("p", {
|
|
453
453
|
className: "text-xs text-text-secondary line-clamp-1",
|
|
454
454
|
children: [e.description.slice(0, 50), "..."]
|
|
455
455
|
})] })]
|
|
456
456
|
})
|
|
457
457
|
}),
|
|
458
|
-
/* @__PURE__ */
|
|
458
|
+
/* @__PURE__ */ f("td", {
|
|
459
459
|
className: "px-5 py-3",
|
|
460
|
-
children: /* @__PURE__ */
|
|
460
|
+
children: /* @__PURE__ */ f("span", {
|
|
461
461
|
className: "inline-flex rounded-full bg-bg-sunken px-2.5 py-0.5 text-xs font-medium text-text-secondary",
|
|
462
462
|
children: e.category
|
|
463
463
|
})
|
|
464
464
|
}),
|
|
465
|
-
/* @__PURE__ */
|
|
465
|
+
/* @__PURE__ */ p("td", {
|
|
466
466
|
className: "px-5 py-3 text-right",
|
|
467
|
-
children: [/* @__PURE__ */
|
|
467
|
+
children: [/* @__PURE__ */ f("p", {
|
|
468
468
|
className: "font-medium text-text-primary",
|
|
469
|
-
children:
|
|
470
|
-
}), e.originalPrice && /* @__PURE__ */
|
|
469
|
+
children: i(e.price, { minimumFractionDigits: 0 })
|
|
470
|
+
}), e.originalPrice && /* @__PURE__ */ f("p", {
|
|
471
471
|
className: "text-xs text-text-secondary line-through",
|
|
472
|
-
children:
|
|
472
|
+
children: i(e.originalPrice, { minimumFractionDigits: 0 })
|
|
473
473
|
})]
|
|
474
474
|
}),
|
|
475
|
-
/* @__PURE__ */
|
|
475
|
+
/* @__PURE__ */ f("td", {
|
|
476
476
|
className: "px-5 py-3",
|
|
477
|
-
children: /* @__PURE__ */
|
|
477
|
+
children: /* @__PURE__ */ f("span", {
|
|
478
478
|
className: t("text-sm font-medium", n.color),
|
|
479
479
|
children: n.label
|
|
480
480
|
})
|
|
481
481
|
}),
|
|
482
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ f("td", {
|
|
483
483
|
className: "px-5 py-3 text-center",
|
|
484
|
-
children: /* @__PURE__ */
|
|
484
|
+
children: /* @__PURE__ */ f("button", {
|
|
485
485
|
type: "button",
|
|
486
486
|
onClick: () => J(e.id, !e.isAvailable),
|
|
487
487
|
className: t("h-6 w-11 rounded-full transition-colors relative inline-block", e.isAvailable ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
488
|
-
children: /* @__PURE__ */
|
|
488
|
+
children: /* @__PURE__ */ f("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", e.isAvailable ? "translate-x-5" : "translate-x-0.5") })
|
|
489
489
|
})
|
|
490
490
|
}),
|
|
491
|
-
/* @__PURE__ */
|
|
491
|
+
/* @__PURE__ */ f("td", {
|
|
492
492
|
className: "px-5 py-3",
|
|
493
|
-
children: /* @__PURE__ */
|
|
493
|
+
children: /* @__PURE__ */ p("div", {
|
|
494
494
|
className: "flex items-center justify-end gap-1",
|
|
495
|
-
children: [/* @__PURE__ */
|
|
495
|
+
children: [/* @__PURE__ */ f("button", {
|
|
496
496
|
type: "button",
|
|
497
497
|
onClick: () => K(e),
|
|
498
498
|
className: "rounded p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary transition-colors",
|
|
499
499
|
title: "Edit",
|
|
500
|
-
children: /* @__PURE__ */
|
|
501
|
-
}), /* @__PURE__ */
|
|
500
|
+
children: /* @__PURE__ */ f(ne, { className: "h-4 w-4" })
|
|
501
|
+
}), /* @__PURE__ */ f("button", {
|
|
502
502
|
type: "button",
|
|
503
503
|
onClick: () => q(e.id),
|
|
504
504
|
className: "rounded p-1.5 text-text-secondary hover:bg-red-500/10 hover:text-red-600 transition-colors",
|
|
505
505
|
title: "Delete",
|
|
506
|
-
children: /* @__PURE__ */
|
|
506
|
+
children: /* @__PURE__ */ f(d, { className: "h-4 w-4" })
|
|
507
507
|
})]
|
|
508
508
|
})
|
|
509
509
|
})
|
|
@@ -512,67 +512,67 @@ var d = [
|
|
|
512
512
|
}) })]
|
|
513
513
|
})
|
|
514
514
|
})
|
|
515
|
-
}), /* @__PURE__ */
|
|
515
|
+
}), /* @__PURE__ */ f("div", {
|
|
516
516
|
className: "lg:hidden space-y-3",
|
|
517
|
-
children:
|
|
517
|
+
children: U.map((e) => {
|
|
518
518
|
let n = X(e);
|
|
519
|
-
return /* @__PURE__ */
|
|
519
|
+
return /* @__PURE__ */ f("div", {
|
|
520
520
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
521
|
-
children: /* @__PURE__ */
|
|
521
|
+
children: /* @__PURE__ */ p("div", {
|
|
522
522
|
className: "flex items-start gap-3",
|
|
523
|
-
children: [/* @__PURE__ */
|
|
523
|
+
children: [/* @__PURE__ */ f("div", {
|
|
524
524
|
className: "flex h-14 w-14 items-center justify-center rounded-md bg-bg-sunken shrink-0",
|
|
525
|
-
children: /* @__PURE__ */
|
|
526
|
-
}), /* @__PURE__ */
|
|
525
|
+
children: /* @__PURE__ */ f(c, { className: "h-6 w-6 text-text-secondary" })
|
|
526
|
+
}), /* @__PURE__ */ p("div", {
|
|
527
527
|
className: "flex-1 min-w-0",
|
|
528
528
|
children: [
|
|
529
|
-
/* @__PURE__ */
|
|
529
|
+
/* @__PURE__ */ p("div", {
|
|
530
530
|
className: "flex items-start justify-between mb-1",
|
|
531
|
-
children: [/* @__PURE__ */
|
|
531
|
+
children: [/* @__PURE__ */ p("div", {
|
|
532
532
|
className: "flex-1",
|
|
533
|
-
children: [/* @__PURE__ */
|
|
533
|
+
children: [/* @__PURE__ */ f("h3", {
|
|
534
534
|
className: "text-sm font-medium text-text-primary line-clamp-1",
|
|
535
535
|
children: e.name
|
|
536
|
-
}), /* @__PURE__ */
|
|
536
|
+
}), /* @__PURE__ */ f("p", {
|
|
537
537
|
className: "text-xs text-text-secondary mt-0.5 line-clamp-2",
|
|
538
538
|
children: e.description
|
|
539
539
|
})]
|
|
540
|
-
}), /* @__PURE__ */
|
|
540
|
+
}), /* @__PURE__ */ f("button", {
|
|
541
541
|
type: "button",
|
|
542
542
|
onClick: () => J(e.id, !e.isAvailable),
|
|
543
543
|
className: t("h-5 w-9 rounded-full transition-colors relative ml-2 shrink-0", e.isAvailable ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
544
|
-
children: /* @__PURE__ */
|
|
544
|
+
children: /* @__PURE__ */ f("div", { className: t("absolute top-0.5 h-4 w-4 rounded-full bg-white transition-transform", e.isAvailable ? "translate-x-4" : "translate-x-0.5") })
|
|
545
545
|
})]
|
|
546
546
|
}),
|
|
547
|
-
/* @__PURE__ */
|
|
547
|
+
/* @__PURE__ */ p("div", {
|
|
548
548
|
className: "flex flex-wrap items-center gap-2 mt-2 text-xs",
|
|
549
|
-
children: [/* @__PURE__ */
|
|
549
|
+
children: [/* @__PURE__ */ f("span", {
|
|
550
550
|
className: "px-2 py-0.5 rounded-full bg-bg-sunken text-text-secondary",
|
|
551
551
|
children: e.category
|
|
552
|
-
}), /* @__PURE__ */
|
|
552
|
+
}), /* @__PURE__ */ f("span", {
|
|
553
553
|
className: t("font-medium", n.color),
|
|
554
554
|
children: n.label
|
|
555
555
|
})]
|
|
556
556
|
}),
|
|
557
|
-
/* @__PURE__ */
|
|
557
|
+
/* @__PURE__ */ p("div", {
|
|
558
558
|
className: "flex items-center justify-between mt-3",
|
|
559
|
-
children: [/* @__PURE__ */
|
|
559
|
+
children: [/* @__PURE__ */ p("div", {
|
|
560
560
|
className: "flex items-center gap-2",
|
|
561
|
-
children: [/* @__PURE__ */
|
|
561
|
+
children: [/* @__PURE__ */ f("span", {
|
|
562
562
|
className: "font-semibold text-text-primary",
|
|
563
|
-
children:
|
|
564
|
-
}), e.originalPrice && /* @__PURE__ */
|
|
563
|
+
children: i(e.price, { minimumFractionDigits: 0 })
|
|
564
|
+
}), e.originalPrice && /* @__PURE__ */ f("span", {
|
|
565
565
|
className: "text-xs text-text-secondary line-through",
|
|
566
|
-
children:
|
|
566
|
+
children: i(e.originalPrice, { minimumFractionDigits: 0 })
|
|
567
567
|
})]
|
|
568
|
-
}), /* @__PURE__ */
|
|
568
|
+
}), /* @__PURE__ */ p("div", {
|
|
569
569
|
className: "flex gap-1",
|
|
570
|
-
children: [/* @__PURE__ */
|
|
570
|
+
children: [/* @__PURE__ */ f("button", {
|
|
571
571
|
type: "button",
|
|
572
572
|
onClick: () => K(e),
|
|
573
573
|
className: "rounded px-2 py-1 text-xs border border-border-subtle text-text-primary hover:bg-bg-sunken",
|
|
574
574
|
children: "Edit"
|
|
575
|
-
}), /* @__PURE__ */
|
|
575
|
+
}), /* @__PURE__ */ f("button", {
|
|
576
576
|
type: "button",
|
|
577
577
|
onClick: () => q(e.id),
|
|
578
578
|
className: "rounded px-2 py-1 text-xs border border-border-subtle text-red-600 dark:text-red-400 hover:bg-red-500/10",
|
|
@@ -587,75 +587,75 @@ var d = [
|
|
|
587
587
|
})
|
|
588
588
|
})] })
|
|
589
589
|
]
|
|
590
|
-
}),
|
|
590
|
+
}), O && /* @__PURE__ */ f("div", {
|
|
591
591
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
592
|
-
children: /* @__PURE__ */
|
|
592
|
+
children: /* @__PURE__ */ f("div", {
|
|
593
593
|
className: "w-full max-w-2xl max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
|
|
594
|
-
children: /* @__PURE__ */
|
|
594
|
+
children: /* @__PURE__ */ p("div", {
|
|
595
595
|
className: "p-6",
|
|
596
596
|
children: [
|
|
597
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ p("div", {
|
|
598
598
|
className: "flex items-center justify-between mb-4",
|
|
599
|
-
children: [/* @__PURE__ */
|
|
599
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("h3", {
|
|
600
600
|
className: "text-lg font-semibold text-text-primary",
|
|
601
|
-
children:
|
|
602
|
-
}),
|
|
601
|
+
children: A ? "Edit Item" : "Add New Item"
|
|
602
|
+
}), M.category && /* @__PURE__ */ p("p", {
|
|
603
603
|
className: "text-sm text-text-secondary mt-0.5",
|
|
604
604
|
children: [
|
|
605
605
|
"Type: ",
|
|
606
606
|
Z ? "Service" : "Product",
|
|
607
607
|
" | Category: ",
|
|
608
|
-
|
|
608
|
+
M.category
|
|
609
609
|
]
|
|
610
|
-
})] }), /* @__PURE__ */
|
|
610
|
+
})] }), /* @__PURE__ */ f("button", {
|
|
611
611
|
type: "button",
|
|
612
|
-
onClick: () =>
|
|
612
|
+
onClick: () => k(!1),
|
|
613
613
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken transition-colors",
|
|
614
|
-
children: /* @__PURE__ */
|
|
614
|
+
children: /* @__PURE__ */ f(ie, { className: "h-5 w-5" })
|
|
615
615
|
})]
|
|
616
616
|
}),
|
|
617
|
-
/* @__PURE__ */
|
|
617
|
+
/* @__PURE__ */ p("div", {
|
|
618
618
|
className: "space-y-4",
|
|
619
619
|
children: [
|
|
620
|
-
/* @__PURE__ */
|
|
620
|
+
/* @__PURE__ */ p("div", {
|
|
621
621
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
622
|
-
children: [/* @__PURE__ */
|
|
622
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
623
623
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
624
624
|
children: "Item Name *"
|
|
625
|
-
}), /* @__PURE__ */
|
|
625
|
+
}), /* @__PURE__ */ f("input", {
|
|
626
626
|
type: "text",
|
|
627
|
-
value:
|
|
628
|
-
onChange: (e) =>
|
|
627
|
+
value: M.name,
|
|
628
|
+
onChange: (e) => N((t) => ({
|
|
629
629
|
...t,
|
|
630
630
|
name: e.target.value
|
|
631
631
|
})),
|
|
632
632
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary",
|
|
633
633
|
placeholder: "Enter item name"
|
|
634
|
-
})] }), /* @__PURE__ */
|
|
634
|
+
})] }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
635
635
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
636
636
|
children: "Category *"
|
|
637
|
-
}), /* @__PURE__ */
|
|
638
|
-
value:
|
|
639
|
-
onChange: (e) =>
|
|
637
|
+
}), /* @__PURE__ */ p("select", {
|
|
638
|
+
value: M.category,
|
|
639
|
+
onChange: (e) => N((t) => ({
|
|
640
640
|
...t,
|
|
641
641
|
category: e.target.value
|
|
642
642
|
})),
|
|
643
643
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
644
|
-
children: [/* @__PURE__ */
|
|
644
|
+
children: [/* @__PURE__ */ f("option", {
|
|
645
645
|
value: "",
|
|
646
646
|
children: "Select category"
|
|
647
|
-
}),
|
|
647
|
+
}), H.map((e) => /* @__PURE__ */ f("option", {
|
|
648
648
|
value: e,
|
|
649
649
|
children: e
|
|
650
650
|
}, e))]
|
|
651
651
|
})] })]
|
|
652
652
|
}),
|
|
653
|
-
/* @__PURE__ */
|
|
653
|
+
/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
654
654
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
655
655
|
children: "Description *"
|
|
656
|
-
}), /* @__PURE__ */
|
|
657
|
-
value:
|
|
658
|
-
onChange: (e) =>
|
|
656
|
+
}), /* @__PURE__ */ f("textarea", {
|
|
657
|
+
value: M.description,
|
|
658
|
+
onChange: (e) => N((t) => ({
|
|
659
659
|
...t,
|
|
660
660
|
description: e.target.value
|
|
661
661
|
})),
|
|
@@ -663,26 +663,26 @@ var d = [
|
|
|
663
663
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary resize-none",
|
|
664
664
|
placeholder: "Describe the offering..."
|
|
665
665
|
})] }),
|
|
666
|
-
/* @__PURE__ */
|
|
666
|
+
/* @__PURE__ */ p("div", {
|
|
667
667
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
668
|
-
children: [/* @__PURE__ */
|
|
668
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
669
669
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
670
670
|
children: "Price *"
|
|
671
|
-
}), /* @__PURE__ */
|
|
671
|
+
}), /* @__PURE__ */ f("input", {
|
|
672
672
|
type: "number",
|
|
673
|
-
value:
|
|
674
|
-
onChange: (e) =>
|
|
673
|
+
value: M.price,
|
|
674
|
+
onChange: (e) => N((t) => ({
|
|
675
675
|
...t,
|
|
676
676
|
price: parseInt(e.target.value) || 0
|
|
677
677
|
})),
|
|
678
678
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
679
|
-
})] }), /* @__PURE__ */
|
|
679
|
+
})] }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
680
680
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
681
681
|
children: "Original Price"
|
|
682
|
-
}), /* @__PURE__ */
|
|
682
|
+
}), /* @__PURE__ */ f("input", {
|
|
683
683
|
type: "number",
|
|
684
|
-
value:
|
|
685
|
-
onChange: (e) =>
|
|
684
|
+
value: M.originalPrice ?? "",
|
|
685
|
+
onChange: (e) => N((t) => ({
|
|
686
686
|
...t,
|
|
687
687
|
originalPrice: e.target.value ? parseInt(e.target.value) : void 0
|
|
688
688
|
})),
|
|
@@ -690,40 +690,40 @@ var d = [
|
|
|
690
690
|
placeholder: "Optional"
|
|
691
691
|
})] })]
|
|
692
692
|
}),
|
|
693
|
-
!Z && /* @__PURE__ */
|
|
693
|
+
!Z && /* @__PURE__ */ p("div", {
|
|
694
694
|
className: "grid grid-cols-1 sm:grid-cols-3 gap-4",
|
|
695
695
|
children: [
|
|
696
|
-
/* @__PURE__ */
|
|
696
|
+
/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
697
697
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
698
698
|
children: "Stock Quantity *"
|
|
699
|
-
}), /* @__PURE__ */
|
|
699
|
+
}), /* @__PURE__ */ f("input", {
|
|
700
700
|
type: "number",
|
|
701
|
-
value:
|
|
702
|
-
onChange: (e) =>
|
|
701
|
+
value: M.stock,
|
|
702
|
+
onChange: (e) => N((t) => ({
|
|
703
703
|
...t,
|
|
704
704
|
stock: parseInt(e.target.value) || 0
|
|
705
705
|
})),
|
|
706
706
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
707
707
|
})] }),
|
|
708
|
-
/* @__PURE__ */
|
|
708
|
+
/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
709
709
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
710
710
|
children: "Preparation Time (min)"
|
|
711
|
-
}), /* @__PURE__ */
|
|
711
|
+
}), /* @__PURE__ */ f("input", {
|
|
712
712
|
type: "number",
|
|
713
|
-
value:
|
|
714
|
-
onChange: (e) =>
|
|
713
|
+
value: M.preparationTime,
|
|
714
|
+
onChange: (e) => N((t) => ({
|
|
715
715
|
...t,
|
|
716
716
|
preparationTime: parseInt(e.target.value) || 0
|
|
717
717
|
})),
|
|
718
718
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
719
719
|
})] }),
|
|
720
|
-
Q && /* @__PURE__ */
|
|
720
|
+
Q && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
721
721
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
722
722
|
children: "Calories"
|
|
723
|
-
}), /* @__PURE__ */
|
|
723
|
+
}), /* @__PURE__ */ f("input", {
|
|
724
724
|
type: "number",
|
|
725
|
-
value:
|
|
726
|
-
onChange: (e) =>
|
|
725
|
+
value: M.calories,
|
|
726
|
+
onChange: (e) => N((t) => ({
|
|
727
727
|
...t,
|
|
728
728
|
calories: parseInt(e.target.value) || 0
|
|
729
729
|
})),
|
|
@@ -731,81 +731,81 @@ var d = [
|
|
|
731
731
|
})] })
|
|
732
732
|
]
|
|
733
733
|
}),
|
|
734
|
-
Z && /* @__PURE__ */
|
|
734
|
+
Z && /* @__PURE__ */ p("div", {
|
|
735
735
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
736
|
-
children: [/* @__PURE__ */
|
|
736
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
737
737
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
738
738
|
children: "Service Duration (min) *"
|
|
739
|
-
}), /* @__PURE__ */
|
|
739
|
+
}), /* @__PURE__ */ f("input", {
|
|
740
740
|
type: "number",
|
|
741
|
-
value:
|
|
742
|
-
onChange: (e) =>
|
|
741
|
+
value: M.duration,
|
|
742
|
+
onChange: (e) => N((t) => ({
|
|
743
743
|
...t,
|
|
744
744
|
duration: parseInt(e.target.value) || 30
|
|
745
745
|
})),
|
|
746
746
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
747
|
-
})] }), /* @__PURE__ */
|
|
747
|
+
})] }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
748
748
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
749
749
|
children: "Setup Time (min)"
|
|
750
|
-
}), /* @__PURE__ */
|
|
750
|
+
}), /* @__PURE__ */ f("input", {
|
|
751
751
|
type: "number",
|
|
752
|
-
value:
|
|
753
|
-
onChange: (e) =>
|
|
752
|
+
value: M.preparationTime,
|
|
753
|
+
onChange: (e) => N((t) => ({
|
|
754
754
|
...t,
|
|
755
755
|
preparationTime: parseInt(e.target.value) || 0
|
|
756
756
|
})),
|
|
757
757
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
758
758
|
})] })]
|
|
759
759
|
}),
|
|
760
|
-
Q && /* @__PURE__ */
|
|
760
|
+
Q && /* @__PURE__ */ p("div", {
|
|
761
761
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
762
|
-
children: [/* @__PURE__ */
|
|
762
|
+
children: [/* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
763
763
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
764
764
|
children: "Spice Level"
|
|
765
|
-
}), /* @__PURE__ */
|
|
766
|
-
value:
|
|
767
|
-
onChange: (e) =>
|
|
765
|
+
}), /* @__PURE__ */ p("select", {
|
|
766
|
+
value: M.spiceLevel,
|
|
767
|
+
onChange: (e) => N((t) => ({
|
|
768
768
|
...t,
|
|
769
769
|
spiceLevel: e.target.value
|
|
770
770
|
})),
|
|
771
771
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
772
772
|
children: [
|
|
773
|
-
/* @__PURE__ */
|
|
773
|
+
/* @__PURE__ */ f("option", {
|
|
774
774
|
value: "none",
|
|
775
775
|
children: "None"
|
|
776
776
|
}),
|
|
777
|
-
/* @__PURE__ */
|
|
777
|
+
/* @__PURE__ */ f("option", {
|
|
778
778
|
value: "mild",
|
|
779
779
|
children: "Mild"
|
|
780
780
|
}),
|
|
781
|
-
/* @__PURE__ */
|
|
781
|
+
/* @__PURE__ */ f("option", {
|
|
782
782
|
value: "medium",
|
|
783
783
|
children: "Medium"
|
|
784
784
|
}),
|
|
785
|
-
/* @__PURE__ */
|
|
785
|
+
/* @__PURE__ */ f("option", {
|
|
786
786
|
value: "spicy",
|
|
787
787
|
children: "Spicy"
|
|
788
788
|
}),
|
|
789
|
-
/* @__PURE__ */
|
|
789
|
+
/* @__PURE__ */ f("option", {
|
|
790
790
|
value: "very-spicy",
|
|
791
791
|
children: "Very Spicy"
|
|
792
792
|
})
|
|
793
793
|
]
|
|
794
|
-
})] }), /* @__PURE__ */
|
|
794
|
+
})] }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
795
795
|
className: "block text-sm font-medium text-text-primary mb-2",
|
|
796
796
|
children: "Dietary Options"
|
|
797
|
-
}), /* @__PURE__ */
|
|
797
|
+
}), /* @__PURE__ */ f("div", {
|
|
798
798
|
className: "space-y-2",
|
|
799
799
|
children: [
|
|
800
800
|
"isVegetarian",
|
|
801
801
|
"isVegan",
|
|
802
802
|
"isGlutenFree"
|
|
803
|
-
].map((e) => /* @__PURE__ */
|
|
803
|
+
].map((e) => /* @__PURE__ */ p("label", {
|
|
804
804
|
className: "flex items-center gap-2 text-sm text-text-primary",
|
|
805
|
-
children: [/* @__PURE__ */
|
|
805
|
+
children: [/* @__PURE__ */ f("input", {
|
|
806
806
|
type: "checkbox",
|
|
807
|
-
checked:
|
|
808
|
-
onChange: (t) =>
|
|
807
|
+
checked: M[e],
|
|
808
|
+
onChange: (t) => N((n) => ({
|
|
809
809
|
...n,
|
|
810
810
|
[e]: t.target.checked
|
|
811
811
|
})),
|
|
@@ -814,91 +814,91 @@ var d = [
|
|
|
814
814
|
}, e))
|
|
815
815
|
})] })]
|
|
816
816
|
}),
|
|
817
|
-
Z && /* @__PURE__ */
|
|
817
|
+
Z && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
818
818
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
819
819
|
children: "Service Type *"
|
|
820
|
-
}), /* @__PURE__ */
|
|
821
|
-
value:
|
|
822
|
-
onChange: (e) =>
|
|
820
|
+
}), /* @__PURE__ */ p("select", {
|
|
821
|
+
value: M.serviceType,
|
|
822
|
+
onChange: (e) => N((t) => ({
|
|
823
823
|
...t,
|
|
824
824
|
serviceType: e.target.value
|
|
825
825
|
})),
|
|
826
826
|
className: "w-full sm:w-64 rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
827
827
|
children: [
|
|
828
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ f("option", {
|
|
829
829
|
value: "instant",
|
|
830
830
|
children: "Instant Service"
|
|
831
831
|
}),
|
|
832
|
-
/* @__PURE__ */
|
|
832
|
+
/* @__PURE__ */ f("option", {
|
|
833
833
|
value: "appointment",
|
|
834
834
|
children: "Appointment Based"
|
|
835
835
|
}),
|
|
836
|
-
/* @__PURE__ */
|
|
836
|
+
/* @__PURE__ */ f("option", {
|
|
837
837
|
value: "recurring",
|
|
838
838
|
children: "Recurring Service"
|
|
839
839
|
}),
|
|
840
|
-
/* @__PURE__ */
|
|
840
|
+
/* @__PURE__ */ f("option", {
|
|
841
841
|
value: "consultation",
|
|
842
842
|
children: "Consultation"
|
|
843
843
|
})
|
|
844
844
|
]
|
|
845
845
|
})] }),
|
|
846
|
-
/* @__PURE__ */
|
|
847
|
-
/* @__PURE__ */
|
|
846
|
+
/* @__PURE__ */ p("div", { children: [
|
|
847
|
+
/* @__PURE__ */ f("label", {
|
|
848
848
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
849
849
|
children: "Tags (comma separated)"
|
|
850
850
|
}),
|
|
851
|
-
/* @__PURE__ */
|
|
851
|
+
/* @__PURE__ */ f("input", {
|
|
852
852
|
type: "text",
|
|
853
|
-
value:
|
|
854
|
-
onChange: (e) =>
|
|
853
|
+
value: P,
|
|
854
|
+
onChange: (e) => F(e.target.value),
|
|
855
855
|
placeholder: Z ? "professional, certified, quick" : "popular, spicy, traditional",
|
|
856
856
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary"
|
|
857
857
|
}),
|
|
858
|
-
/* @__PURE__ */
|
|
858
|
+
/* @__PURE__ */ p("p", {
|
|
859
859
|
className: "text-xs text-text-secondary mt-1",
|
|
860
860
|
children: [
|
|
861
|
-
|
|
861
|
+
P.split(",").map((e) => e.trim()).filter(Boolean).length,
|
|
862
862
|
" ",
|
|
863
863
|
"tags"
|
|
864
864
|
]
|
|
865
865
|
})
|
|
866
866
|
] }),
|
|
867
|
-
Q && /* @__PURE__ */
|
|
867
|
+
Q && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
868
868
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
869
869
|
children: "Allergens (comma separated)"
|
|
870
|
-
}), /* @__PURE__ */
|
|
870
|
+
}), /* @__PURE__ */ f("input", {
|
|
871
871
|
type: "text",
|
|
872
|
-
value:
|
|
873
|
-
onChange: (e) =>
|
|
872
|
+
value: I,
|
|
873
|
+
onChange: (e) => L(e.target.value),
|
|
874
874
|
placeholder: "nuts, dairy, gluten, soy",
|
|
875
875
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary"
|
|
876
876
|
})] }),
|
|
877
|
-
Z && /* @__PURE__ */
|
|
877
|
+
Z && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("label", {
|
|
878
878
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
879
879
|
children: "Service Requirements (comma separated)"
|
|
880
|
-
}), /* @__PURE__ */
|
|
880
|
+
}), /* @__PURE__ */ f("input", {
|
|
881
881
|
type: "text",
|
|
882
|
-
value:
|
|
883
|
-
onChange: (e) =>
|
|
882
|
+
value: R,
|
|
883
|
+
onChange: (e) => z(e.target.value),
|
|
884
884
|
placeholder: "advance booking, payment required, tools provided",
|
|
885
885
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary placeholder:text-text-secondary"
|
|
886
886
|
})] })
|
|
887
887
|
]
|
|
888
888
|
}),
|
|
889
|
-
/* @__PURE__ */
|
|
889
|
+
/* @__PURE__ */ p("div", {
|
|
890
890
|
className: "flex gap-3 mt-6",
|
|
891
|
-
children: [/* @__PURE__ */
|
|
891
|
+
children: [/* @__PURE__ */ f("button", {
|
|
892
892
|
type: "button",
|
|
893
|
-
onClick: () =>
|
|
893
|
+
onClick: () => k(!1),
|
|
894
894
|
className: "flex-1 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
895
895
|
children: "Cancel"
|
|
896
|
-
}), /* @__PURE__ */
|
|
896
|
+
}), /* @__PURE__ */ f("button", {
|
|
897
897
|
type: "button",
|
|
898
|
-
onClick:
|
|
898
|
+
onClick: me,
|
|
899
899
|
disabled: !$,
|
|
900
900
|
className: t("flex-1 rounded-md px-4 py-2 text-sm font-medium transition-colors", $ ? "bg-accent text-text-primary hover:bg-accent/80" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
|
|
901
|
-
children:
|
|
901
|
+
children: A ? "Update Item" : "Add Item"
|
|
902
902
|
})]
|
|
903
903
|
})
|
|
904
904
|
]
|
|
@@ -908,6 +908,6 @@ var d = [
|
|
|
908
908
|
});
|
|
909
909
|
};
|
|
910
910
|
//#endregion
|
|
911
|
-
export {
|
|
911
|
+
export { b as InventoryManagementPage };
|
|
912
912
|
|
|
913
913
|
//# sourceMappingURL=InventoryManagementPage.js.map
|