@burdenoff/microfe-adaptercloud 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/adaptercloud/components/PageLayout.js +24 -17
- package/dist/adaptercloud/components/PageLayout.js.map +1 -1
- package/dist/adaptercloud/pages/HomePage.js +18 -16
- package/dist/adaptercloud/pages/HomePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +70 -44
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +60 -55
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +97 -92
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +59 -57
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +118 -104
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +145 -140
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +152 -147
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +87 -81
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +179 -165
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +73 -48
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +95 -93
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +110 -107
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +293 -299
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +218 -224
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +122 -128
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +248 -244
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +96 -91
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/SettingsPage.js +754 -736
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +63 -61
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +110 -108
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +221 -217
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +89 -87
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +410 -381
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +120 -118
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +86 -81
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +53 -51
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +114 -109
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +60 -58
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +87 -72
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +65 -63
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +68 -53
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +63 -61
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +86 -84
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +57 -55
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +341 -308
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +34 -32
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +48 -46
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +383 -381
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +348 -319
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +84 -59
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +73 -71
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +76 -74
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +70 -68
- package/dist/adaptercloud/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 } from "@burdenoff/fe-libs/ui";
|
|
7
8
|
//#region src/adaptercloud/pages/cart-owner/CartServiceConfigPage.tsx
|
|
8
|
-
var
|
|
9
|
+
var b = [
|
|
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
|
+
], x = [
|
|
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
|
+
], S = {
|
|
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
|
+
}, C = {
|
|
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
|
+
}, w = {
|
|
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
|
+
}, T = () => {
|
|
103
|
+
let { navigateTo: T } = e(), [E, D] = r(!0), [O, k] = r("both"), [A, j] = r(C), [M, N] = r(w), [P, F] = r(!1), [I, L] = r(!1), [R, z] = r([]), B = (e, t, n) => {
|
|
104
|
+
j((r) => ({
|
|
104
105
|
...r,
|
|
105
106
|
[e]: {
|
|
106
107
|
...r[e],
|
|
107
108
|
[t]: n
|
|
108
109
|
}
|
|
109
110
|
}));
|
|
110
|
-
},
|
|
111
|
-
|
|
111
|
+
}, V = (e, t, n) => {
|
|
112
|
+
N((r) => ({
|
|
112
113
|
...r,
|
|
113
114
|
[e]: {
|
|
114
115
|
...r[e],
|
|
115
116
|
[t]: n
|
|
116
117
|
}
|
|
117
118
|
}));
|
|
118
|
-
},
|
|
119
|
-
|
|
119
|
+
}, H = (e, t) => {
|
|
120
|
+
N((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
|
+
}, U = () => {
|
|
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
|
+
N((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
|
+
}, W = (e) => {
|
|
154
|
+
N((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
|
+
}, G = (e, t, n) => {
|
|
162
|
+
N((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
|
+
}, K = (e, t) => {
|
|
173
|
+
N((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
|
+
}, q = () => {
|
|
189
190
|
let e = [];
|
|
190
|
-
if (
|
|
191
|
-
|
|
192
|
-
for (let t of
|
|
191
|
+
if (M.delivery.enabled && (M.delivery.deliveryRadius <= 0 && e.push("Delivery radius must be greater than 0"), M.delivery.deliveryFee < 0 && e.push("Delivery fee cannot be negative"), M.delivery.minimumOrderValue < 0 && e.push("Minimum order value cannot be negative")), M.pickup.enabled && M.pickup.preparationTime <= 0 && e.push("Preparation time must be greater than 0"), M.scheduledStop.enabled) {
|
|
192
|
+
M.scheduledStop.stops.length === 0 && e.push("At least one scheduled stop is required when scheduled stop service is enabled");
|
|
193
|
+
for (let t of M.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 M.directService.enabled && (M.directService.config.serviceFee < 0 && e.push("Service fee cannot be negative"), M.directService.config.minimumAdvancePayment < 0 && e.push("Minimum advance payment cannot be negative"), M.directService.config.serviceRadius <= 0 && e.push("Service radius must be greater than 0"), M.directService.config.estimatedArrivalTime <= 0 && e.push("Estimated arrival time must be greater than 0")), Object.values(A).some((e) => e.isOpen) || e.push("At least one day must be open"), e;
|
|
196
|
+
}, J = () => {
|
|
197
|
+
z([]);
|
|
198
|
+
let e = q();
|
|
198
199
|
if (e.length > 0) {
|
|
199
|
-
|
|
200
|
+
z(e);
|
|
200
201
|
return;
|
|
201
202
|
}
|
|
202
|
-
|
|
203
|
-
|
|
203
|
+
F(!0), setTimeout(() => {
|
|
204
|
+
F(!1), L(!0), setTimeout(() => L(!1), 3e3);
|
|
204
205
|
}, 1e3);
|
|
205
|
-
},
|
|
206
|
+
}, Y = b.find((e) => e.value === O);
|
|
206
207
|
return /* @__PURE__ */ _(n, {
|
|
207
208
|
title: "Service Provider Configuration",
|
|
208
209
|
description: "Manage your service status, operating hours, and service types",
|
|
210
|
+
purpose: "Tell customers when and what you serve — flip your cart open or closed, set operating hours, and choose the service types you offer. This is what decides whether you show up in customer searches right now.",
|
|
209
211
|
actions: /* @__PURE__ */ _("button", {
|
|
210
212
|
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:
|
|
213
|
+
onClick: J,
|
|
214
|
+
disabled: P,
|
|
215
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", P ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
216
|
+
children: P ? /* @__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
217
|
}),
|
|
216
218
|
children: /* @__PURE__ */ v("div", {
|
|
217
219
|
className: "space-y-6 max-w-4xl",
|
|
218
220
|
children: [
|
|
219
|
-
|
|
221
|
+
I && /* @__PURE__ */ v("div", {
|
|
220
222
|
className: "flex items-center gap-2 rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-4",
|
|
221
223
|
children: [/* @__PURE__ */ _(o, { className: "h-5 w-5 text-status-success-text shrink-0" }), /* @__PURE__ */ _("span", {
|
|
222
224
|
className: "text-sm font-medium text-status-success-text",
|
|
223
225
|
children: "Configuration saved successfully!"
|
|
224
226
|
})]
|
|
225
227
|
}),
|
|
226
|
-
|
|
228
|
+
R.length > 0 && /* @__PURE__ */ _("div", {
|
|
227
229
|
className: "rounded-lg border border-status-error-border/30 bg-status-error-bg-subtle/10 p-4 space-y-1",
|
|
228
|
-
children:
|
|
230
|
+
children: R.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-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ _("span", {
|
|
231
233
|
className: "text-sm text-status-error-text",
|
|
@@ -233,8 +235,9 @@ var y = [
|
|
|
233
235
|
})]
|
|
234
236
|
}, t))
|
|
235
237
|
}),
|
|
236
|
-
/* @__PURE__ */ _(
|
|
237
|
-
|
|
238
|
+
/* @__PURE__ */ _(y, {
|
|
239
|
+
role: "region",
|
|
240
|
+
"aria-label": "Service status",
|
|
238
241
|
children: /* @__PURE__ */ v("div", {
|
|
239
242
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",
|
|
240
243
|
children: [/* @__PURE__ */ v("div", {
|
|
@@ -249,13 +252,13 @@ var y = [
|
|
|
249
252
|
}), /* @__PURE__ */ v("div", {
|
|
250
253
|
className: "flex items-center gap-3",
|
|
251
254
|
children: [/* @__PURE__ */ _("span", {
|
|
252
|
-
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium",
|
|
253
|
-
children:
|
|
255
|
+
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium", E ? "bg-status-success-bg-subtle/20 text-status-success-text" : "bg-status-error-bg-subtle/20 text-status-error-text"),
|
|
256
|
+
children: E ? "Open" : "Closed"
|
|
254
257
|
}), /* @__PURE__ */ _("button", {
|
|
255
258
|
type: "button",
|
|
256
|
-
onClick: () =>
|
|
257
|
-
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
258
|
-
children:
|
|
259
|
+
onClick: () => D(!E),
|
|
260
|
+
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors", E ? "bg-status-error-bg-subtle/10 text-status-error-text hover:bg-status-error-bg-subtle/20" : "bg-status-success-bg-subtle/10 text-status-success-text hover:bg-status-success-bg-subtle/20"),
|
|
261
|
+
children: E ? "Close Service" : "Open Service"
|
|
259
262
|
})]
|
|
260
263
|
})]
|
|
261
264
|
})
|
|
@@ -275,17 +278,17 @@ var y = [
|
|
|
275
278
|
}),
|
|
276
279
|
/* @__PURE__ */ _("select", {
|
|
277
280
|
id: "offering-type",
|
|
278
|
-
value:
|
|
279
|
-
onChange: (e) =>
|
|
281
|
+
value: O,
|
|
282
|
+
onChange: (e) => k(e.target.value),
|
|
280
283
|
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:
|
|
284
|
+
children: b.map((e) => /* @__PURE__ */ _("option", {
|
|
282
285
|
value: e.value,
|
|
283
286
|
children: e.label
|
|
284
287
|
}, e.value))
|
|
285
288
|
}),
|
|
286
289
|
/* @__PURE__ */ _("p", {
|
|
287
290
|
className: "text-sm text-text-secondary",
|
|
288
|
-
children:
|
|
291
|
+
children: Y.description
|
|
289
292
|
})
|
|
290
293
|
]
|
|
291
294
|
})]
|
|
@@ -297,19 +300,19 @@ var y = [
|
|
|
297
300
|
children: [/* @__PURE__ */ _(s, { className: "h-5 w-5 text-text-secondary" }), "Operating Hours"]
|
|
298
301
|
}), /* @__PURE__ */ _("div", {
|
|
299
302
|
className: "grid grid-cols-1 md:grid-cols-2 gap-3",
|
|
300
|
-
children:
|
|
301
|
-
let n =
|
|
303
|
+
children: x.map((e) => {
|
|
304
|
+
let n = A[e];
|
|
302
305
|
return /* @__PURE__ */ v("div", {
|
|
303
306
|
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
307
|
children: [/* @__PURE__ */ _("span", {
|
|
305
308
|
className: "min-w-[50px] text-sm font-medium text-text-primary",
|
|
306
|
-
children:
|
|
309
|
+
children: S[e]
|
|
307
310
|
}), /* @__PURE__ */ v("div", {
|
|
308
311
|
className: "flex items-center gap-3 flex-1",
|
|
309
312
|
children: [
|
|
310
313
|
/* @__PURE__ */ _("button", {
|
|
311
314
|
type: "button",
|
|
312
|
-
onClick: () =>
|
|
315
|
+
onClick: () => B(e, "isOpen", !n.isOpen),
|
|
313
316
|
className: t("h-5 w-5 rounded border transition-colors shrink-0", n.isOpen ? "bg-accent-blue-subtle border-accent-blue-subtle" : "border-border-subtle bg-bg-surface"),
|
|
314
317
|
children: n.isOpen && /* @__PURE__ */ _(o, { className: "h-5 w-5 text-white" })
|
|
315
318
|
}),
|
|
@@ -323,7 +326,7 @@ var y = [
|
|
|
323
326
|
/* @__PURE__ */ _("input", {
|
|
324
327
|
type: "time",
|
|
325
328
|
value: n.open,
|
|
326
|
-
onChange: (t) =>
|
|
329
|
+
onChange: (t) => B(e, "open", t.target.value),
|
|
327
330
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
328
331
|
}),
|
|
329
332
|
/* @__PURE__ */ _("span", {
|
|
@@ -333,7 +336,7 @@ var y = [
|
|
|
333
336
|
/* @__PURE__ */ _("input", {
|
|
334
337
|
type: "time",
|
|
335
338
|
value: n.close,
|
|
336
|
-
onChange: (t) =>
|
|
339
|
+
onChange: (t) => B(e, "close", t.target.value),
|
|
337
340
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
338
341
|
})
|
|
339
342
|
]
|
|
@@ -364,17 +367,17 @@ var y = [
|
|
|
364
367
|
})]
|
|
365
368
|
}), /* @__PURE__ */ _("button", {
|
|
366
369
|
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",
|
|
370
|
+
onClick: () => V("pickup", "enabled", !M.pickup.enabled),
|
|
371
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", M.pickup.enabled ? "bg-accent-blue-subtle" : "bg-muted-foreground/30"),
|
|
372
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", M.pickup.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
370
373
|
})]
|
|
371
|
-
}),
|
|
374
|
+
}), M.pickup.enabled && /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
372
375
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
373
376
|
children: "Preparation Time (minutes)"
|
|
374
377
|
}), /* @__PURE__ */ _("input", {
|
|
375
378
|
type: "number",
|
|
376
|
-
value:
|
|
377
|
-
onChange: (e) =>
|
|
379
|
+
value: M.pickup.preparationTime,
|
|
380
|
+
onChange: (e) => V("pickup", "preparationTime", parseInt(e.target.value) || 0),
|
|
378
381
|
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
382
|
})] })]
|
|
380
383
|
}),
|
|
@@ -390,11 +393,11 @@ var y = [
|
|
|
390
393
|
})]
|
|
391
394
|
}), /* @__PURE__ */ _("button", {
|
|
392
395
|
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",
|
|
396
|
+
onClick: () => V("delivery", "enabled", !M.delivery.enabled),
|
|
397
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", M.delivery.enabled ? "bg-accent-blue-subtle" : "bg-muted-foreground/30"),
|
|
398
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", M.delivery.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
396
399
|
})]
|
|
397
|
-
}),
|
|
400
|
+
}), M.delivery.enabled && /* @__PURE__ */ v("div", {
|
|
398
401
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
399
402
|
children: [
|
|
400
403
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -402,8 +405,8 @@ var y = [
|
|
|
402
405
|
children: "Delivery Radius (km)"
|
|
403
406
|
}), /* @__PURE__ */ _("input", {
|
|
404
407
|
type: "number",
|
|
405
|
-
value:
|
|
406
|
-
onChange: (e) =>
|
|
408
|
+
value: M.delivery.deliveryRadius,
|
|
409
|
+
onChange: (e) => V("delivery", "deliveryRadius", parseInt(e.target.value) || 0),
|
|
407
410
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
408
411
|
})] }),
|
|
409
412
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -411,8 +414,8 @@ var y = [
|
|
|
411
414
|
children: "Delivery Fee (₹)"
|
|
412
415
|
}), /* @__PURE__ */ _("input", {
|
|
413
416
|
type: "number",
|
|
414
|
-
value:
|
|
415
|
-
onChange: (e) =>
|
|
417
|
+
value: M.delivery.deliveryFee,
|
|
418
|
+
onChange: (e) => V("delivery", "deliveryFee", parseInt(e.target.value) || 0),
|
|
416
419
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
417
420
|
})] }),
|
|
418
421
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -420,8 +423,8 @@ var y = [
|
|
|
420
423
|
children: "Minimum Order (₹)"
|
|
421
424
|
}), /* @__PURE__ */ _("input", {
|
|
422
425
|
type: "number",
|
|
423
|
-
value:
|
|
424
|
-
onChange: (e) =>
|
|
426
|
+
value: M.delivery.minimumOrderValue,
|
|
427
|
+
onChange: (e) => V("delivery", "minimumOrderValue", parseInt(e.target.value) || 0),
|
|
425
428
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
426
429
|
})] })
|
|
427
430
|
]
|
|
@@ -439,11 +442,11 @@ var y = [
|
|
|
439
442
|
})]
|
|
440
443
|
}), /* @__PURE__ */ _("button", {
|
|
441
444
|
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",
|
|
445
|
+
onClick: () => V("scheduledStop", "enabled", !M.scheduledStop.enabled),
|
|
446
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", M.scheduledStop.enabled ? "bg-accent-blue-subtle" : "bg-muted-foreground/30"),
|
|
447
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", M.scheduledStop.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
445
448
|
})]
|
|
446
|
-
}),
|
|
449
|
+
}), M.scheduledStop.enabled && /* @__PURE__ */ v("div", {
|
|
447
450
|
className: "space-y-4",
|
|
448
451
|
children: [
|
|
449
452
|
/* @__PURE__ */ v("div", {
|
|
@@ -453,12 +456,12 @@ var y = [
|
|
|
453
456
|
children: "Configure locations and times where your cart will be available"
|
|
454
457
|
}), /* @__PURE__ */ v("button", {
|
|
455
458
|
type: "button",
|
|
456
|
-
onClick:
|
|
459
|
+
onClick: U,
|
|
457
460
|
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
461
|
children: [/* @__PURE__ */ _(u, { className: "h-4 w-4" }), "Add Stop"]
|
|
459
462
|
})]
|
|
460
463
|
}),
|
|
461
|
-
|
|
464
|
+
M.scheduledStop.stops.map((e) => /* @__PURE__ */ v("div", {
|
|
462
465
|
className: "border border-border-subtle rounded-lg p-4 bg-bg-sunken/50",
|
|
463
466
|
children: [
|
|
464
467
|
/* @__PURE__ */ v("div", {
|
|
@@ -468,7 +471,7 @@ var y = [
|
|
|
468
471
|
children: "Stop Configuration"
|
|
469
472
|
}), /* @__PURE__ */ v("button", {
|
|
470
473
|
type: "button",
|
|
471
|
-
onClick: () =>
|
|
474
|
+
onClick: () => W(e.id),
|
|
472
475
|
className: "inline-flex items-center gap-1 rounded-md bg-status-error-bg-subtle/10 px-2 py-1 text-xs text-status-error-text hover:bg-status-error-bg-subtle/20 transition-colors",
|
|
473
476
|
children: [/* @__PURE__ */ _(m, { className: "h-3.5 w-3.5" }), "Remove"]
|
|
474
477
|
})]
|
|
@@ -481,7 +484,7 @@ var y = [
|
|
|
481
484
|
}), /* @__PURE__ */ _("input", {
|
|
482
485
|
type: "text",
|
|
483
486
|
value: e.name,
|
|
484
|
-
onChange: (t) =>
|
|
487
|
+
onChange: (t) => G(e.id, "name", t.target.value),
|
|
485
488
|
placeholder: "e.g., Tech Park Morning",
|
|
486
489
|
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
490
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -490,7 +493,7 @@ var y = [
|
|
|
490
493
|
}), /* @__PURE__ */ _("input", {
|
|
491
494
|
type: "text",
|
|
492
495
|
value: e.address,
|
|
493
|
-
onChange: (t) =>
|
|
496
|
+
onChange: (t) => G(e.id, "address", t.target.value),
|
|
494
497
|
placeholder: "Full address",
|
|
495
498
|
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
499
|
})] })]
|
|
@@ -503,7 +506,7 @@ var y = [
|
|
|
503
506
|
}), /* @__PURE__ */ _("input", {
|
|
504
507
|
type: "time",
|
|
505
508
|
value: e.arrivalTime,
|
|
506
|
-
onChange: (t) =>
|
|
509
|
+
onChange: (t) => G(e.id, "arrivalTime", t.target.value),
|
|
507
510
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
508
511
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
509
512
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
@@ -511,7 +514,7 @@ var y = [
|
|
|
511
514
|
}), /* @__PURE__ */ _("input", {
|
|
512
515
|
type: "time",
|
|
513
516
|
value: e.departureTime,
|
|
514
|
-
onChange: (t) =>
|
|
517
|
+
onChange: (t) => G(e.id, "departureTime", t.target.value),
|
|
515
518
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
516
519
|
})] })]
|
|
517
520
|
}),
|
|
@@ -520,16 +523,16 @@ var y = [
|
|
|
520
523
|
children: "Days of Week"
|
|
521
524
|
}), /* @__PURE__ */ _("div", {
|
|
522
525
|
className: "flex flex-wrap gap-1.5",
|
|
523
|
-
children:
|
|
526
|
+
children: x.map((n) => /* @__PURE__ */ _("button", {
|
|
524
527
|
type: "button",
|
|
525
|
-
onClick: () =>
|
|
528
|
+
onClick: () => K(e.id, n),
|
|
526
529
|
className: t("px-3 py-1 rounded-full text-xs font-medium transition-colors", e.daysOfWeek.includes(n) ? "bg-accent-blue-subtle text-white" : "bg-bg-sunken text-text-secondary hover:bg-muted-foreground/20"),
|
|
527
|
-
children:
|
|
530
|
+
children: S[n]
|
|
528
531
|
}, n))
|
|
529
532
|
})] })
|
|
530
533
|
]
|
|
531
534
|
}, e.id)),
|
|
532
|
-
|
|
535
|
+
M.scheduledStop.stops.length === 0 && /* @__PURE__ */ _("div", {
|
|
533
536
|
className: "text-center py-6 text-sm text-text-secondary",
|
|
534
537
|
children: "No scheduled stops configured. Click\"Add Stop\" to create one."
|
|
535
538
|
})
|
|
@@ -548,11 +551,11 @@ var y = [
|
|
|
548
551
|
})]
|
|
549
552
|
}), /* @__PURE__ */ _("button", {
|
|
550
553
|
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",
|
|
554
|
+
onClick: () => V("directService", "enabled", !M.directService.enabled),
|
|
555
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", M.directService.enabled ? "bg-accent-blue-subtle" : "bg-muted-foreground/30"),
|
|
556
|
+
children: /* @__PURE__ */ _("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", M.directService.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
554
557
|
})]
|
|
555
|
-
}),
|
|
558
|
+
}), M.directService.enabled && /* @__PURE__ */ v("div", {
|
|
556
559
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
557
560
|
children: [
|
|
558
561
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -560,8 +563,8 @@ var y = [
|
|
|
560
563
|
children: "Service Fee (₹)"
|
|
561
564
|
}), /* @__PURE__ */ _("input", {
|
|
562
565
|
type: "number",
|
|
563
|
-
value:
|
|
564
|
-
onChange: (e) =>
|
|
566
|
+
value: M.directService.config.serviceFee,
|
|
567
|
+
onChange: (e) => H("serviceFee", parseInt(e.target.value) || 0),
|
|
565
568
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
566
569
|
})] }),
|
|
567
570
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -569,8 +572,8 @@ var y = [
|
|
|
569
572
|
children: "Minimum Advance Payment (₹)"
|
|
570
573
|
}), /* @__PURE__ */ _("input", {
|
|
571
574
|
type: "number",
|
|
572
|
-
value:
|
|
573
|
-
onChange: (e) =>
|
|
575
|
+
value: M.directService.config.minimumAdvancePayment,
|
|
576
|
+
onChange: (e) => H("minimumAdvancePayment", parseInt(e.target.value) || 0),
|
|
574
577
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
575
578
|
})] }),
|
|
576
579
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -578,8 +581,8 @@ var y = [
|
|
|
578
581
|
children: "Service Radius (km)"
|
|
579
582
|
}), /* @__PURE__ */ _("input", {
|
|
580
583
|
type: "number",
|
|
581
|
-
value:
|
|
582
|
-
onChange: (e) =>
|
|
584
|
+
value: M.directService.config.serviceRadius,
|
|
585
|
+
onChange: (e) => H("serviceRadius", parseInt(e.target.value) || 0),
|
|
583
586
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
584
587
|
})] }),
|
|
585
588
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -587,8 +590,8 @@ var y = [
|
|
|
587
590
|
children: "Estimated Arrival Time (min)"
|
|
588
591
|
}), /* @__PURE__ */ _("input", {
|
|
589
592
|
type: "number",
|
|
590
|
-
value:
|
|
591
|
-
onChange: (e) =>
|
|
593
|
+
value: M.directService.config.estimatedArrivalTime,
|
|
594
|
+
onChange: (e) => H("estimatedArrivalTime", parseInt(e.target.value) || 0),
|
|
592
595
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
593
596
|
})] }),
|
|
594
597
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -596,8 +599,8 @@ var y = [
|
|
|
596
599
|
children: "Minimum Order Value (₹)"
|
|
597
600
|
}), /* @__PURE__ */ _("input", {
|
|
598
601
|
type: "number",
|
|
599
|
-
value:
|
|
600
|
-
onChange: (e) =>
|
|
602
|
+
value: M.directService.config.minimumOrderValue,
|
|
603
|
+
onChange: (e) => H("minimumOrderValue", parseInt(e.target.value) || 0),
|
|
601
604
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
602
605
|
})] })
|
|
603
606
|
]
|
|
@@ -610,15 +613,15 @@ var y = [
|
|
|
610
613
|
className: "flex items-center justify-between pt-2",
|
|
611
614
|
children: [/* @__PURE__ */ _("button", {
|
|
612
615
|
type: "button",
|
|
613
|
-
onClick: () =>
|
|
616
|
+
onClick: () => T("/cart-owner/dashboard"),
|
|
614
617
|
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
618
|
children: "Cancel"
|
|
616
619
|
}), /* @__PURE__ */ _("button", {
|
|
617
620
|
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:
|
|
621
|
+
onClick: J,
|
|
622
|
+
disabled: P,
|
|
623
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", P ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
624
|
+
children: P ? /* @__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
625
|
})]
|
|
623
626
|
})
|
|
624
627
|
]
|
|
@@ -626,6 +629,6 @@ var y = [
|
|
|
626
629
|
});
|
|
627
630
|
};
|
|
628
631
|
//#endregion
|
|
629
|
-
export {
|
|
632
|
+
export { T as CartServiceConfigPage };
|
|
630
633
|
|
|
631
634
|
//# sourceMappingURL=CartServiceConfigPage.js.map
|