@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
|
@@ -4,8 +4,9 @@ import { PageLayout as n } from "../../components/PageLayout.js";
|
|
|
4
4
|
import { useState as r } from "react";
|
|
5
5
|
import { AlertCircle as i, Calendar as a, CheckCircle2 as o, Clock as s, Home as c, Package as l, Plus as u, Save as d, Settings as f, ShoppingBag as p, Trash2 as m, Truck as h } from "lucide-react";
|
|
6
6
|
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
7
|
+
import { EmphasisPanel as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
|
|
7
8
|
//#region src/atheletebridge/pages/cart-owner/CartServiceConfigPage.tsx
|
|
8
|
-
var
|
|
9
|
+
var x = [
|
|
9
10
|
{
|
|
10
11
|
value: "products_only",
|
|
11
12
|
label: "Products Only",
|
|
@@ -21,7 +22,7 @@ var y = [
|
|
|
21
22
|
label: "Products & Services",
|
|
22
23
|
description: "You'll manage both products and services with full flexibility."
|
|
23
24
|
}
|
|
24
|
-
],
|
|
25
|
+
], S = [
|
|
25
26
|
"monday",
|
|
26
27
|
"tuesday",
|
|
27
28
|
"wednesday",
|
|
@@ -29,7 +30,7 @@ var y = [
|
|
|
29
30
|
"friday",
|
|
30
31
|
"saturday",
|
|
31
32
|
"sunday"
|
|
32
|
-
],
|
|
33
|
+
], C = {
|
|
33
34
|
monday: "Mon",
|
|
34
35
|
tuesday: "Tue",
|
|
35
36
|
wednesday: "Wed",
|
|
@@ -37,7 +38,7 @@ var y = [
|
|
|
37
38
|
friday: "Fri",
|
|
38
39
|
saturday: "Sat",
|
|
39
40
|
sunday: "Sun"
|
|
40
|
-
},
|
|
41
|
+
}, w = {
|
|
41
42
|
monday: {
|
|
42
43
|
isOpen: !0,
|
|
43
44
|
open: "09:00",
|
|
@@ -73,7 +74,7 @@ var y = [
|
|
|
73
74
|
open: "10:00",
|
|
74
75
|
close: "18:00"
|
|
75
76
|
}
|
|
76
|
-
},
|
|
77
|
+
}, T = {
|
|
77
78
|
pickup: {
|
|
78
79
|
enabled: !0,
|
|
79
80
|
preparationTime: 15
|
|
@@ -98,25 +99,25 @@ var y = [
|
|
|
98
99
|
minimumOrderValue: 300
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
|
-
},
|
|
102
|
-
let { navigateTo:
|
|
103
|
-
|
|
102
|
+
}, E = () => {
|
|
103
|
+
let { navigateTo: E } = e(), [D, O] = r(!0), [k, A] = r("both"), [j, M] = r(w), [N, P] = r(T), [F, I] = r(!1), [L, R] = r(!1), [z, B] = r([]), V = (e, t, n) => {
|
|
104
|
+
M((r) => ({
|
|
104
105
|
...r,
|
|
105
106
|
[e]: {
|
|
106
107
|
...r[e],
|
|
107
108
|
[t]: n
|
|
108
109
|
}
|
|
109
110
|
}));
|
|
110
|
-
},
|
|
111
|
-
|
|
111
|
+
}, H = (e, t, n) => {
|
|
112
|
+
P((r) => ({
|
|
112
113
|
...r,
|
|
113
114
|
[e]: {
|
|
114
115
|
...r[e],
|
|
115
116
|
[t]: n
|
|
116
117
|
}
|
|
117
118
|
}));
|
|
118
|
-
},
|
|
119
|
-
|
|
119
|
+
}, U = (e, t) => {
|
|
120
|
+
P((n) => ({
|
|
120
121
|
...n,
|
|
121
122
|
directService: {
|
|
122
123
|
...n.directService,
|
|
@@ -126,7 +127,7 @@ var y = [
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
}));
|
|
129
|
-
},
|
|
130
|
+
}, W = () => {
|
|
130
131
|
let e = {
|
|
131
132
|
id: `stop-${Date.now()}`,
|
|
132
133
|
name: "",
|
|
@@ -142,23 +143,23 @@ var y = [
|
|
|
142
143
|
],
|
|
143
144
|
isActive: !0
|
|
144
145
|
};
|
|
145
|
-
|
|
146
|
+
P((t) => ({
|
|
146
147
|
...t,
|
|
147
148
|
scheduledStop: {
|
|
148
149
|
...t.scheduledStop,
|
|
149
150
|
stops: [...t.scheduledStop.stops, e]
|
|
150
151
|
}
|
|
151
152
|
}));
|
|
152
|
-
},
|
|
153
|
-
|
|
153
|
+
}, G = (e) => {
|
|
154
|
+
P((t) => ({
|
|
154
155
|
...t,
|
|
155
156
|
scheduledStop: {
|
|
156
157
|
...t.scheduledStop,
|
|
157
158
|
stops: t.scheduledStop.stops.filter((t) => t.id !== e)
|
|
158
159
|
}
|
|
159
160
|
}));
|
|
160
|
-
},
|
|
161
|
-
|
|
161
|
+
}, K = (e, t, n) => {
|
|
162
|
+
P((r) => ({
|
|
162
163
|
...r,
|
|
163
164
|
scheduledStop: {
|
|
164
165
|
...r.scheduledStop,
|
|
@@ -168,8 +169,8 @@ var y = [
|
|
|
168
169
|
} : r)
|
|
169
170
|
}
|
|
170
171
|
}));
|
|
171
|
-
},
|
|
172
|
-
|
|
172
|
+
}, q = (e, t) => {
|
|
173
|
+
P((n) => ({
|
|
173
174
|
...n,
|
|
174
175
|
scheduledStop: {
|
|
175
176
|
...n.scheduledStop,
|
|
@@ -185,47 +186,48 @@ var y = [
|
|
|
185
186
|
})
|
|
186
187
|
}
|
|
187
188
|
}));
|
|
188
|
-
},
|
|
189
|
+
}, J = () => {
|
|
189
190
|
let e = [];
|
|
190
|
-
if (
|
|
191
|
-
|
|
192
|
-
for (let t of
|
|
191
|
+
if (N.delivery.enabled && (N.delivery.deliveryRadius <= 0 && e.push("Delivery radius must be greater than 0"), N.delivery.deliveryFee < 0 && e.push("Delivery fee cannot be negative"), N.delivery.minimumOrderValue < 0 && e.push("Minimum order value cannot be negative")), N.pickup.enabled && N.pickup.preparationTime <= 0 && e.push("Preparation time must be greater than 0"), N.scheduledStop.enabled) {
|
|
192
|
+
N.scheduledStop.stops.length === 0 && e.push("At least one scheduled stop is required when scheduled stop service is enabled");
|
|
193
|
+
for (let t of N.scheduledStop.stops) t.name.trim() || e.push("All scheduled stops must have a name"), t.address.trim() || e.push("All scheduled stops must have an address"), t.daysOfWeek.length === 0 && e.push("All scheduled stops must have at least one day selected"), t.arrivalTime >= t.departureTime && e.push("Departure time must be after arrival time for all stops");
|
|
193
194
|
}
|
|
194
|
-
return
|
|
195
|
-
},
|
|
196
|
-
|
|
197
|
-
let e =
|
|
195
|
+
return N.directService.enabled && (N.directService.config.serviceFee < 0 && e.push("Service fee cannot be negative"), N.directService.config.minimumAdvancePayment < 0 && e.push("Minimum advance payment cannot be negative"), N.directService.config.serviceRadius <= 0 && e.push("Service radius must be greater than 0"), N.directService.config.estimatedArrivalTime <= 0 && e.push("Estimated arrival time must be greater than 0")), Object.values(j).some((e) => e.isOpen) || e.push("At least one day must be open"), e;
|
|
196
|
+
}, Y = () => {
|
|
197
|
+
B([]);
|
|
198
|
+
let e = J();
|
|
198
199
|
if (e.length > 0) {
|
|
199
|
-
|
|
200
|
+
B(e);
|
|
200
201
|
return;
|
|
201
202
|
}
|
|
202
|
-
|
|
203
|
-
|
|
203
|
+
I(!0), setTimeout(() => {
|
|
204
|
+
I(!1), R(!0), setTimeout(() => R(!1), 3e3);
|
|
204
205
|
}, 1e3);
|
|
205
|
-
},
|
|
206
|
+
}, X = x.find((e) => e.value === k);
|
|
206
207
|
return /* @__PURE__ */ _(n, {
|
|
207
208
|
title: "Service Provider Configuration",
|
|
208
209
|
description: "Manage your service status, operating hours, and service types",
|
|
209
210
|
actions: /* @__PURE__ */ _("button", {
|
|
210
211
|
type: "button",
|
|
211
|
-
onClick:
|
|
212
|
-
disabled:
|
|
213
|
-
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
214
|
-
children:
|
|
212
|
+
onClick: Y,
|
|
213
|
+
disabled: F,
|
|
214
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", F ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
215
|
+
children: F ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(d, { className: "h-4 w-4" }), "Save Configuration"] })
|
|
215
216
|
}),
|
|
216
217
|
children: /* @__PURE__ */ v("div", {
|
|
217
218
|
className: "space-y-6 max-w-4xl",
|
|
218
219
|
children: [
|
|
219
|
-
|
|
220
|
+
/* @__PURE__ */ _(b, { children: "Set up how your service runs. Flip your service open or closed, define your operating hours, choose which service types you offer, and save it all so customers see accurate, up-to-date availability. Configure this once, then just toggle open/closed day to day." }),
|
|
221
|
+
L && /* @__PURE__ */ v("div", {
|
|
220
222
|
className: "flex items-center gap-2 rounded-lg border border-green-500/30 bg-green-500/10 p-4",
|
|
221
223
|
children: [/* @__PURE__ */ _(o, { className: "h-5 w-5 text-green-600 dark:text-green-400 shrink-0" }), /* @__PURE__ */ _("span", {
|
|
222
224
|
className: "text-sm font-medium text-green-600 dark:text-green-400",
|
|
223
225
|
children: "Configuration saved successfully!"
|
|
224
226
|
})]
|
|
225
227
|
}),
|
|
226
|
-
|
|
228
|
+
z.length > 0 && /* @__PURE__ */ _("div", {
|
|
227
229
|
className: "rounded-lg border border-red-500/30 bg-red-500/10 p-4 space-y-1",
|
|
228
|
-
children:
|
|
230
|
+
children: z.map((e, t) => /* @__PURE__ */ v("div", {
|
|
229
231
|
className: "flex items-start gap-2",
|
|
230
232
|
children: [/* @__PURE__ */ _(i, { className: "h-4 w-4 text-red-600 dark:text-red-400 shrink-0 mt-0.5" }), /* @__PURE__ */ _("span", {
|
|
231
233
|
className: "text-sm text-red-600 dark:text-red-400",
|
|
@@ -233,8 +235,8 @@ var y = [
|
|
|
233
235
|
})]
|
|
234
236
|
}, t))
|
|
235
237
|
}),
|
|
236
|
-
/* @__PURE__ */ _(
|
|
237
|
-
className: "
|
|
238
|
+
/* @__PURE__ */ _(y, {
|
|
239
|
+
className: "p-6",
|
|
238
240
|
children: /* @__PURE__ */ v("div", {
|
|
239
241
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",
|
|
240
242
|
children: [/* @__PURE__ */ v("div", {
|
|
@@ -249,13 +251,13 @@ var y = [
|
|
|
249
251
|
}), /* @__PURE__ */ v("div", {
|
|
250
252
|
className: "flex items-center gap-3",
|
|
251
253
|
children: [/* @__PURE__ */ _("span", {
|
|
252
|
-
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium",
|
|
253
|
-
children:
|
|
254
|
+
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium", D ? "bg-green-500/20 text-green-600 dark:text-green-400" : "bg-red-500/20 text-red-600 dark:text-red-400"),
|
|
255
|
+
children: D ? "Open" : "Closed"
|
|
254
256
|
}), /* @__PURE__ */ _("button", {
|
|
255
257
|
type: "button",
|
|
256
|
-
onClick: () =>
|
|
257
|
-
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
258
|
-
children:
|
|
258
|
+
onClick: () => O(!D),
|
|
259
|
+
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors", D ? "bg-red-500/10 text-red-600 dark:text-red-400 hover:bg-red-500/20" : "bg-green-500/10 text-green-600 dark:text-green-400 hover:bg-green-500/20"),
|
|
260
|
+
children: D ? "Close Service" : "Open Service"
|
|
259
261
|
})]
|
|
260
262
|
})]
|
|
261
263
|
})
|
|
@@ -275,17 +277,17 @@ var y = [
|
|
|
275
277
|
}),
|
|
276
278
|
/* @__PURE__ */ _("select", {
|
|
277
279
|
id: "offering-type",
|
|
278
|
-
value:
|
|
279
|
-
onChange: (e) =>
|
|
280
|
+
value: k,
|
|
281
|
+
onChange: (e) => A(e.target.value),
|
|
280
282
|
className: "w-full sm:w-64 rounded-md 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)]",
|
|
281
|
-
children:
|
|
283
|
+
children: x.map((e) => /* @__PURE__ */ _("option", {
|
|
282
284
|
value: e.value,
|
|
283
285
|
children: e.label
|
|
284
286
|
}, e.value))
|
|
285
287
|
}),
|
|
286
288
|
/* @__PURE__ */ _("p", {
|
|
287
289
|
className: "text-sm text-text-secondary",
|
|
288
|
-
children:
|
|
290
|
+
children: X.description
|
|
289
291
|
})
|
|
290
292
|
]
|
|
291
293
|
})]
|
|
@@ -297,19 +299,19 @@ var y = [
|
|
|
297
299
|
children: [/* @__PURE__ */ _(s, { className: "h-5 w-5 text-text-secondary" }), "Operating Hours"]
|
|
298
300
|
}), /* @__PURE__ */ _("div", {
|
|
299
301
|
className: "grid grid-cols-1 md:grid-cols-2 gap-3",
|
|
300
|
-
children:
|
|
301
|
-
let n =
|
|
302
|
+
children: S.map((e) => {
|
|
303
|
+
let n = j[e];
|
|
302
304
|
return /* @__PURE__ */ v("div", {
|
|
303
305
|
className: t("flex flex-col sm:flex-row sm:items-center gap-3 p-4 rounded-lg", n.isOpen ? "bg-bg-sunken/50" : "bg-bg-sunken/30 opacity-60"),
|
|
304
306
|
children: [/* @__PURE__ */ _("span", {
|
|
305
307
|
className: "min-w-[50px] text-sm font-medium text-text-primary",
|
|
306
|
-
children:
|
|
308
|
+
children: C[e]
|
|
307
309
|
}), /* @__PURE__ */ v("div", {
|
|
308
310
|
className: "flex items-center gap-3 flex-1",
|
|
309
311
|
children: [
|
|
310
312
|
/* @__PURE__ */ _("button", {
|
|
311
313
|
type: "button",
|
|
312
|
-
onClick: () =>
|
|
314
|
+
onClick: () => V(e, "isOpen", !n.isOpen),
|
|
313
315
|
className: t("h-5 w-5 rounded border transition-colors shrink-0", n.isOpen ? "bg-blue-500 border-blue-500" : "border-border-subtle bg-bg-surface"),
|
|
314
316
|
children: n.isOpen && /* @__PURE__ */ _(o, { className: "h-5 w-5 text-white" })
|
|
315
317
|
}),
|
|
@@ -323,7 +325,7 @@ var y = [
|
|
|
323
325
|
/* @__PURE__ */ _("input", {
|
|
324
326
|
type: "time",
|
|
325
327
|
value: n.open,
|
|
326
|
-
onChange: (t) =>
|
|
328
|
+
onChange: (t) => V(e, "open", t.target.value),
|
|
327
329
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
328
330
|
}),
|
|
329
331
|
/* @__PURE__ */ _("span", {
|
|
@@ -333,7 +335,7 @@ var y = [
|
|
|
333
335
|
/* @__PURE__ */ _("input", {
|
|
334
336
|
type: "time",
|
|
335
337
|
value: n.close,
|
|
336
|
-
onChange: (t) =>
|
|
338
|
+
onChange: (t) => V(e, "close", t.target.value),
|
|
337
339
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
338
340
|
})
|
|
339
341
|
]
|
|
@@ -364,17 +366,17 @@ var y = [
|
|
|
364
366
|
})]
|
|
365
367
|
}), /* @__PURE__ */ _("button", {
|
|
366
368
|
type: "button",
|
|
367
|
-
onClick: () =>
|
|
368
|
-
className: t("h-6 w-11 rounded-full transition-colors relative",
|
|
369
|
-
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform",
|
|
369
|
+
onClick: () => H("pickup", "enabled", !N.pickup.enabled),
|
|
370
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.pickup.enabled ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
371
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", N.pickup.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
370
372
|
})]
|
|
371
|
-
}),
|
|
373
|
+
}), N.pickup.enabled && /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
372
374
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
373
375
|
children: "Preparation Time (minutes)"
|
|
374
376
|
}), /* @__PURE__ */ _("input", {
|
|
375
377
|
type: "number",
|
|
376
|
-
value:
|
|
377
|
-
onChange: (e) =>
|
|
378
|
+
value: N.pickup.preparationTime,
|
|
379
|
+
onChange: (e) => H("pickup", "preparationTime", parseInt(e.target.value) || 0),
|
|
378
380
|
className: "w-full sm:w-32 rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
379
381
|
})] })]
|
|
380
382
|
}),
|
|
@@ -390,11 +392,11 @@ var y = [
|
|
|
390
392
|
})]
|
|
391
393
|
}), /* @__PURE__ */ _("button", {
|
|
392
394
|
type: "button",
|
|
393
|
-
onClick: () =>
|
|
394
|
-
className: t("h-6 w-11 rounded-full transition-colors relative",
|
|
395
|
-
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform",
|
|
395
|
+
onClick: () => H("delivery", "enabled", !N.delivery.enabled),
|
|
396
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.delivery.enabled ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
397
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", N.delivery.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
396
398
|
})]
|
|
397
|
-
}),
|
|
399
|
+
}), N.delivery.enabled && /* @__PURE__ */ v("div", {
|
|
398
400
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
399
401
|
children: [
|
|
400
402
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -402,8 +404,8 @@ var y = [
|
|
|
402
404
|
children: "Delivery Radius (km)"
|
|
403
405
|
}), /* @__PURE__ */ _("input", {
|
|
404
406
|
type: "number",
|
|
405
|
-
value:
|
|
406
|
-
onChange: (e) =>
|
|
407
|
+
value: N.delivery.deliveryRadius,
|
|
408
|
+
onChange: (e) => H("delivery", "deliveryRadius", parseInt(e.target.value) || 0),
|
|
407
409
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
408
410
|
})] }),
|
|
409
411
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -411,8 +413,8 @@ var y = [
|
|
|
411
413
|
children: "Delivery Fee (₹)"
|
|
412
414
|
}), /* @__PURE__ */ _("input", {
|
|
413
415
|
type: "number",
|
|
414
|
-
value:
|
|
415
|
-
onChange: (e) =>
|
|
416
|
+
value: N.delivery.deliveryFee,
|
|
417
|
+
onChange: (e) => H("delivery", "deliveryFee", parseInt(e.target.value) || 0),
|
|
416
418
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
417
419
|
})] }),
|
|
418
420
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -420,8 +422,8 @@ var y = [
|
|
|
420
422
|
children: "Minimum Order (₹)"
|
|
421
423
|
}), /* @__PURE__ */ _("input", {
|
|
422
424
|
type: "number",
|
|
423
|
-
value:
|
|
424
|
-
onChange: (e) =>
|
|
425
|
+
value: N.delivery.minimumOrderValue,
|
|
426
|
+
onChange: (e) => H("delivery", "minimumOrderValue", parseInt(e.target.value) || 0),
|
|
425
427
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
426
428
|
})] })
|
|
427
429
|
]
|
|
@@ -439,11 +441,11 @@ var y = [
|
|
|
439
441
|
})]
|
|
440
442
|
}), /* @__PURE__ */ _("button", {
|
|
441
443
|
type: "button",
|
|
442
|
-
onClick: () =>
|
|
443
|
-
className: t("h-6 w-11 rounded-full transition-colors relative",
|
|
444
|
-
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform",
|
|
444
|
+
onClick: () => H("scheduledStop", "enabled", !N.scheduledStop.enabled),
|
|
445
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.scheduledStop.enabled ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
446
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", N.scheduledStop.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
445
447
|
})]
|
|
446
|
-
}),
|
|
448
|
+
}), N.scheduledStop.enabled && /* @__PURE__ */ v("div", {
|
|
447
449
|
className: "space-y-4",
|
|
448
450
|
children: [
|
|
449
451
|
/* @__PURE__ */ v("div", {
|
|
@@ -453,12 +455,12 @@ var y = [
|
|
|
453
455
|
children: "Configure locations and times where your cart will be available"
|
|
454
456
|
}), /* @__PURE__ */ v("button", {
|
|
455
457
|
type: "button",
|
|
456
|
-
onClick:
|
|
458
|
+
onClick: W,
|
|
457
459
|
className: "inline-flex items-center gap-1.5 rounded-md border border-border-subtle px-3 py-1.5 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
458
460
|
children: [/* @__PURE__ */ _(u, { className: "h-4 w-4" }), "Add Stop"]
|
|
459
461
|
})]
|
|
460
462
|
}),
|
|
461
|
-
|
|
463
|
+
N.scheduledStop.stops.map((e) => /* @__PURE__ */ v("div", {
|
|
462
464
|
className: "border border-border-subtle rounded-lg p-4 bg-bg-sunken/50",
|
|
463
465
|
children: [
|
|
464
466
|
/* @__PURE__ */ v("div", {
|
|
@@ -468,7 +470,7 @@ var y = [
|
|
|
468
470
|
children: "Stop Configuration"
|
|
469
471
|
}), /* @__PURE__ */ v("button", {
|
|
470
472
|
type: "button",
|
|
471
|
-
onClick: () =>
|
|
473
|
+
onClick: () => G(e.id),
|
|
472
474
|
className: "inline-flex items-center gap-1 rounded-md bg-red-500/10 px-2 py-1 text-xs text-red-600 dark:text-red-400 hover:bg-red-500/20 transition-colors",
|
|
473
475
|
children: [/* @__PURE__ */ _(m, { className: "h-3.5 w-3.5" }), "Remove"]
|
|
474
476
|
})]
|
|
@@ -481,7 +483,7 @@ var y = [
|
|
|
481
483
|
}), /* @__PURE__ */ _("input", {
|
|
482
484
|
type: "text",
|
|
483
485
|
value: e.name,
|
|
484
|
-
onChange: (t) =>
|
|
486
|
+
onChange: (t) => K(e.id, "name", t.target.value),
|
|
485
487
|
placeholder: "e.g., Tech Park Morning",
|
|
486
488
|
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"
|
|
487
489
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -490,7 +492,7 @@ var y = [
|
|
|
490
492
|
}), /* @__PURE__ */ _("input", {
|
|
491
493
|
type: "text",
|
|
492
494
|
value: e.address,
|
|
493
|
-
onChange: (t) =>
|
|
495
|
+
onChange: (t) => K(e.id, "address", t.target.value),
|
|
494
496
|
placeholder: "Full address",
|
|
495
497
|
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"
|
|
496
498
|
})] })]
|
|
@@ -503,7 +505,7 @@ var y = [
|
|
|
503
505
|
}), /* @__PURE__ */ _("input", {
|
|
504
506
|
type: "time",
|
|
505
507
|
value: e.arrivalTime,
|
|
506
|
-
onChange: (t) =>
|
|
508
|
+
onChange: (t) => K(e.id, "arrivalTime", t.target.value),
|
|
507
509
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
508
510
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
509
511
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
@@ -511,7 +513,7 @@ var y = [
|
|
|
511
513
|
}), /* @__PURE__ */ _("input", {
|
|
512
514
|
type: "time",
|
|
513
515
|
value: e.departureTime,
|
|
514
|
-
onChange: (t) =>
|
|
516
|
+
onChange: (t) => K(e.id, "departureTime", t.target.value),
|
|
515
517
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
516
518
|
})] })]
|
|
517
519
|
}),
|
|
@@ -520,16 +522,16 @@ var y = [
|
|
|
520
522
|
children: "Days of Week"
|
|
521
523
|
}), /* @__PURE__ */ _("div", {
|
|
522
524
|
className: "flex flex-wrap gap-1.5",
|
|
523
|
-
children:
|
|
525
|
+
children: S.map((n) => /* @__PURE__ */ _("button", {
|
|
524
526
|
type: "button",
|
|
525
|
-
onClick: () =>
|
|
527
|
+
onClick: () => q(e.id, n),
|
|
526
528
|
className: t("px-3 py-1 rounded-full text-xs font-medium transition-colors", e.daysOfWeek.includes(n) ? "bg-blue-500 text-white" : "bg-bg-sunken text-text-secondary hover:bg-muted-foreground/20"),
|
|
527
|
-
children:
|
|
529
|
+
children: C[n]
|
|
528
530
|
}, n))
|
|
529
531
|
})] })
|
|
530
532
|
]
|
|
531
533
|
}, e.id)),
|
|
532
|
-
|
|
534
|
+
N.scheduledStop.stops.length === 0 && /* @__PURE__ */ _("div", {
|
|
533
535
|
className: "text-center py-6 text-sm text-text-secondary",
|
|
534
536
|
children: "No scheduled stops configured. Click \"Add Stop\" to create one."
|
|
535
537
|
})
|
|
@@ -548,11 +550,11 @@ var y = [
|
|
|
548
550
|
})]
|
|
549
551
|
}), /* @__PURE__ */ _("button", {
|
|
550
552
|
type: "button",
|
|
551
|
-
onClick: () =>
|
|
552
|
-
className: t("h-6 w-11 rounded-full transition-colors relative",
|
|
553
|
-
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform",
|
|
553
|
+
onClick: () => H("directService", "enabled", !N.directService.enabled),
|
|
554
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.directService.enabled ? "bg-blue-500" : "bg-muted-foreground/30"),
|
|
555
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", N.directService.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
554
556
|
})]
|
|
555
|
-
}),
|
|
557
|
+
}), N.directService.enabled && /* @__PURE__ */ v("div", {
|
|
556
558
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
557
559
|
children: [
|
|
558
560
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -560,8 +562,8 @@ var y = [
|
|
|
560
562
|
children: "Service Fee (₹)"
|
|
561
563
|
}), /* @__PURE__ */ _("input", {
|
|
562
564
|
type: "number",
|
|
563
|
-
value:
|
|
564
|
-
onChange: (e) =>
|
|
565
|
+
value: N.directService.config.serviceFee,
|
|
566
|
+
onChange: (e) => U("serviceFee", parseInt(e.target.value) || 0),
|
|
565
567
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
566
568
|
})] }),
|
|
567
569
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -569,8 +571,8 @@ var y = [
|
|
|
569
571
|
children: "Minimum Advance Payment (₹)"
|
|
570
572
|
}), /* @__PURE__ */ _("input", {
|
|
571
573
|
type: "number",
|
|
572
|
-
value:
|
|
573
|
-
onChange: (e) =>
|
|
574
|
+
value: N.directService.config.minimumAdvancePayment,
|
|
575
|
+
onChange: (e) => U("minimumAdvancePayment", parseInt(e.target.value) || 0),
|
|
574
576
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
575
577
|
})] }),
|
|
576
578
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -578,8 +580,8 @@ var y = [
|
|
|
578
580
|
children: "Service Radius (km)"
|
|
579
581
|
}), /* @__PURE__ */ _("input", {
|
|
580
582
|
type: "number",
|
|
581
|
-
value:
|
|
582
|
-
onChange: (e) =>
|
|
583
|
+
value: N.directService.config.serviceRadius,
|
|
584
|
+
onChange: (e) => U("serviceRadius", parseInt(e.target.value) || 0),
|
|
583
585
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
584
586
|
})] }),
|
|
585
587
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -587,8 +589,8 @@ var y = [
|
|
|
587
589
|
children: "Estimated Arrival Time (min)"
|
|
588
590
|
}), /* @__PURE__ */ _("input", {
|
|
589
591
|
type: "number",
|
|
590
|
-
value:
|
|
591
|
-
onChange: (e) =>
|
|
592
|
+
value: N.directService.config.estimatedArrivalTime,
|
|
593
|
+
onChange: (e) => U("estimatedArrivalTime", parseInt(e.target.value) || 0),
|
|
592
594
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
593
595
|
})] }),
|
|
594
596
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -596,8 +598,8 @@ var y = [
|
|
|
596
598
|
children: "Minimum Order Value (₹)"
|
|
597
599
|
}), /* @__PURE__ */ _("input", {
|
|
598
600
|
type: "number",
|
|
599
|
-
value:
|
|
600
|
-
onChange: (e) =>
|
|
601
|
+
value: N.directService.config.minimumOrderValue,
|
|
602
|
+
onChange: (e) => U("minimumOrderValue", parseInt(e.target.value) || 0),
|
|
601
603
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
602
604
|
})] })
|
|
603
605
|
]
|
|
@@ -610,15 +612,15 @@ var y = [
|
|
|
610
612
|
className: "flex items-center justify-between pt-2",
|
|
611
613
|
children: [/* @__PURE__ */ _("button", {
|
|
612
614
|
type: "button",
|
|
613
|
-
onClick: () =>
|
|
615
|
+
onClick: () => E("/cart-owner/dashboard"),
|
|
614
616
|
className: "rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
615
617
|
children: "Cancel"
|
|
616
618
|
}), /* @__PURE__ */ _("button", {
|
|
617
619
|
type: "button",
|
|
618
|
-
onClick:
|
|
619
|
-
disabled:
|
|
620
|
-
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
621
|
-
children:
|
|
620
|
+
onClick: Y,
|
|
621
|
+
disabled: F,
|
|
622
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", F ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
623
|
+
children: F ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(d, { className: "h-4 w-4" }), "Save Configuration"] })
|
|
622
624
|
})]
|
|
623
625
|
})
|
|
624
626
|
]
|
|
@@ -626,6 +628,6 @@ var y = [
|
|
|
626
628
|
});
|
|
627
629
|
};
|
|
628
630
|
//#endregion
|
|
629
|
-
export {
|
|
631
|
+
export { E as CartServiceConfigPage };
|
|
630
632
|
|
|
631
633
|
//# sourceMappingURL=CartServiceConfigPage.js.map
|