@burdenoff/microfe-kadaikodi 2026.704.2 → 2026.704.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kadaikodi/KadaikodiRoutes.js +30 -26
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +76 -6
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +45 -107
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +30 -32
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +137 -120
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +2 -2
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +332 -276
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +278 -283
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +310 -366
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +105 -111
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +290 -257
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +84 -70
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +270 -228
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +194 -173
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +202 -139
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +232 -0
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +84 -79
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +310 -317
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +502 -586
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +243 -143
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +4 -4
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -4
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +6 -6
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +189 -199
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +6 -4
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +6 -6
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +4 -4
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +409 -304
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +209 -162
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +441 -514
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +207 -186
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +340 -272
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +122 -75
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,13 +2,13 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
|
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
4
|
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
|
-
import { useProviders as i } from "../../hooks/useKadaikodiApi.js";
|
|
6
|
-
import { useEffect as
|
|
7
|
-
import { AlertCircle as
|
|
8
|
-
import { Fragment as
|
|
9
|
-
import { EmphasisPanel as
|
|
5
|
+
import { useProviders as i, useUpdateProvider as ee } from "../../hooks/useKadaikodiApi.js";
|
|
6
|
+
import { useEffect as te, useMemo as ne, useState as a } from "react";
|
|
7
|
+
import { AlertCircle as o, Calendar as s, CheckCircle2 as c, Clock as l, Home as u, Package as d, Plus as f, Save as p, Settings as m, ShoppingBag as h, Trash2 as g, Truck as _ } from "lucide-react";
|
|
8
|
+
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
|
|
10
10
|
//#region src/kadaikodi/pages/cart-owner/CartServiceConfigPage.tsx
|
|
11
|
-
var
|
|
11
|
+
var C = [
|
|
12
12
|
{
|
|
13
13
|
value: "products_only",
|
|
14
14
|
label: "Products Only",
|
|
@@ -24,7 +24,7 @@ var w = [
|
|
|
24
24
|
label: "Products & Services",
|
|
25
25
|
description: "You'll manage both products and services with full flexibility."
|
|
26
26
|
}
|
|
27
|
-
],
|
|
27
|
+
], w = [
|
|
28
28
|
"monday",
|
|
29
29
|
"tuesday",
|
|
30
30
|
"wednesday",
|
|
@@ -32,7 +32,7 @@ var w = [
|
|
|
32
32
|
"friday",
|
|
33
33
|
"saturday",
|
|
34
34
|
"sunday"
|
|
35
|
-
],
|
|
35
|
+
], T = {
|
|
36
36
|
monday: "Mon",
|
|
37
37
|
tuesday: "Tue",
|
|
38
38
|
wednesday: "Wed",
|
|
@@ -40,7 +40,7 @@ var w = [
|
|
|
40
40
|
friday: "Fri",
|
|
41
41
|
saturday: "Sat",
|
|
42
42
|
sunday: "Sun"
|
|
43
|
-
},
|
|
43
|
+
}, E = {
|
|
44
44
|
monday: {
|
|
45
45
|
isOpen: !0,
|
|
46
46
|
open: "09:00",
|
|
@@ -76,7 +76,7 @@ var w = [
|
|
|
76
76
|
open: "10:00",
|
|
77
77
|
close: "18:00"
|
|
78
78
|
}
|
|
79
|
-
},
|
|
79
|
+
}, D = {
|
|
80
80
|
pickup: {
|
|
81
81
|
enabled: !0,
|
|
82
82
|
preparationTime: 15
|
|
@@ -101,15 +101,15 @@ var w = [
|
|
|
101
101
|
minimumOrderValue: 300
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
},
|
|
105
|
-
let { navigateTo:
|
|
106
|
-
|
|
107
|
-
if (!
|
|
108
|
-
|
|
109
|
-
let e =
|
|
104
|
+
}, O = () => {
|
|
105
|
+
let { navigateTo: O, currentUser: k } = e(), { data: A = [], isLoading: j } = i(), M = ne(() => A.find((e) => e.ownerId === k?.id) ?? A[0], [A, k?.id]), [N, P] = a(!0), [F, I] = a("both"), [L, R] = a(E), [z, B] = a(D), [V, H] = a(!1);
|
|
106
|
+
te(() => {
|
|
107
|
+
if (!M || V) return;
|
|
108
|
+
P(M.isOpen);
|
|
109
|
+
let e = M.businessHours;
|
|
110
110
|
e && R((t) => {
|
|
111
111
|
let n = { ...t };
|
|
112
|
-
return
|
|
112
|
+
return w.forEach((r) => {
|
|
113
113
|
let i = e[r] ?? e[r.charAt(0).toUpperCase() + r.slice(1)] ?? e[r.toUpperCase()];
|
|
114
114
|
i && (n[r] = {
|
|
115
115
|
isOpen: !!i.isOpen,
|
|
@@ -118,8 +118,8 @@ var w = [
|
|
|
118
118
|
});
|
|
119
119
|
}), n;
|
|
120
120
|
}), H(!0);
|
|
121
|
-
}, [
|
|
122
|
-
let
|
|
121
|
+
}, [M, V]);
|
|
122
|
+
let U = ee(), W = U.isPending, [G, K] = a(!1), [q, J] = a([]), Y = (e, t, n) => {
|
|
123
123
|
R((r) => ({
|
|
124
124
|
...r,
|
|
125
125
|
[e]: {
|
|
@@ -146,7 +146,7 @@ var w = [
|
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
}));
|
|
149
|
-
},
|
|
149
|
+
}, re = () => {
|
|
150
150
|
let e = {
|
|
151
151
|
id: `stop-${Date.now()}`,
|
|
152
152
|
name: "",
|
|
@@ -169,7 +169,7 @@ var w = [
|
|
|
169
169
|
stops: [...t.scheduledStop.stops, e]
|
|
170
170
|
}
|
|
171
171
|
}));
|
|
172
|
-
},
|
|
172
|
+
}, ie = (e) => {
|
|
173
173
|
B((t) => ({
|
|
174
174
|
...t,
|
|
175
175
|
scheduledStop: {
|
|
@@ -188,7 +188,7 @@ var w = [
|
|
|
188
188
|
} : r)
|
|
189
189
|
}
|
|
190
190
|
}));
|
|
191
|
-
},
|
|
191
|
+
}, ae = (e, t) => {
|
|
192
192
|
B((n) => ({
|
|
193
193
|
...n,
|
|
194
194
|
scheduledStop: {
|
|
@@ -205,7 +205,7 @@ var w = [
|
|
|
205
205
|
})
|
|
206
206
|
}
|
|
207
207
|
}));
|
|
208
|
-
},
|
|
208
|
+
}, oe = () => {
|
|
209
209
|
let e = [];
|
|
210
210
|
if (z.delivery.enabled && (z.delivery.deliveryRadius <= 0 && e.push("Delivery radius must be greater than 0"), z.delivery.deliveryFee < 0 && e.push("Delivery fee cannot be negative"), z.delivery.minimumOrderValue < 0 && e.push("Minimum order value cannot be negative")), z.pickup.enabled && z.pickup.preparationTime <= 0 && e.push("Preparation time must be greater than 0"), z.scheduledStop.enabled) {
|
|
211
211
|
z.scheduledStop.stops.length === 0 && e.push("At least one scheduled stop is required when scheduled stop service is enabled");
|
|
@@ -214,157 +214,178 @@ var w = [
|
|
|
214
214
|
return z.directService.enabled && (z.directService.config.serviceFee < 0 && e.push("Service fee cannot be negative"), z.directService.config.minimumAdvancePayment < 0 && e.push("Minimum advance payment cannot be negative"), z.directService.config.serviceRadius <= 0 && e.push("Service radius must be greater than 0"), z.directService.config.estimatedArrivalTime <= 0 && e.push("Estimated arrival time must be greater than 0")), Object.values(L).some((e) => e.isOpen) || e.push("At least one day must be open"), e;
|
|
215
215
|
}, $ = () => {
|
|
216
216
|
J([]);
|
|
217
|
-
let e =
|
|
217
|
+
let e = oe();
|
|
218
218
|
if (e.length > 0) {
|
|
219
219
|
J(e);
|
|
220
220
|
return;
|
|
221
221
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
222
|
+
if (!M) return;
|
|
223
|
+
let t = w.reduce((e, t) => (e[t] = {
|
|
224
|
+
isOpen: L[t].isOpen,
|
|
225
|
+
open: L[t].open,
|
|
226
|
+
close: L[t].close
|
|
227
|
+
}, e), {}), n = [
|
|
228
|
+
z.pickup.enabled ? "pickup" : null,
|
|
229
|
+
z.delivery.enabled ? "delivery" : null,
|
|
230
|
+
z.scheduledStop.enabled ? "scheduled_stop" : null,
|
|
231
|
+
z.directService.enabled ? "direct_service" : null
|
|
232
|
+
].filter((e) => e !== null);
|
|
233
|
+
U.mutate({
|
|
234
|
+
id: M.id,
|
|
235
|
+
input: {
|
|
236
|
+
status: N ? "ACTIVE" : "PAUSED",
|
|
237
|
+
businessHours: t,
|
|
238
|
+
serviceTypes: n
|
|
239
|
+
}
|
|
240
|
+
}, {
|
|
241
|
+
onSuccess: () => {
|
|
242
|
+
K(!0), setTimeout(() => K(!1), 3e3);
|
|
243
|
+
},
|
|
244
|
+
onError: () => J(["Could not save your configuration. Please try again."])
|
|
245
|
+
});
|
|
246
|
+
}, se = C.find((e) => e.value === F);
|
|
247
|
+
return j ? /* @__PURE__ */ y(n, {
|
|
227
248
|
title: "Service Provider Configuration",
|
|
228
249
|
description: "Manage your service status, operating hours, and service types",
|
|
229
|
-
children: /* @__PURE__ */
|
|
250
|
+
children: /* @__PURE__ */ y("div", {
|
|
230
251
|
className: "flex items-center justify-center py-24",
|
|
231
|
-
children: /* @__PURE__ */
|
|
252
|
+
children: /* @__PURE__ */ y("div", { className: "h-10 w-10 animate-spin rounded-full border-b-2 border-foreground" })
|
|
232
253
|
})
|
|
233
|
-
}) :
|
|
254
|
+
}) : M ? /* @__PURE__ */ b(n, {
|
|
234
255
|
title: "Service Provider Configuration",
|
|
235
|
-
description: `Configure how ${
|
|
236
|
-
actions: /* @__PURE__ */
|
|
256
|
+
description: `Configure how ${M.name} serves customers`,
|
|
257
|
+
actions: /* @__PURE__ */ y("button", {
|
|
237
258
|
type: "button",
|
|
238
259
|
onClick: $,
|
|
239
|
-
disabled:
|
|
240
|
-
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
241
|
-
children:
|
|
260
|
+
disabled: W,
|
|
261
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", W ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
262
|
+
children: W ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(p, { className: "h-4 w-4" }), "Save Configuration"] })
|
|
242
263
|
}),
|
|
243
|
-
children: [/* @__PURE__ */
|
|
264
|
+
children: [/* @__PURE__ */ y(S, {
|
|
244
265
|
className: "mb-6 max-w-4xl",
|
|
245
266
|
children: "Define how your cart actually serves customers. Use this page to flip your service open or closed, set your operating hours, and choose which fulfilment types you offer — pickup, delivery, scheduled stops, or on-the-spot direct service. Get this right and customers see accurate availability and only the service options you can deliver."
|
|
246
|
-
}), /* @__PURE__ */
|
|
267
|
+
}), /* @__PURE__ */ b("div", {
|
|
247
268
|
className: "space-y-6 max-w-4xl",
|
|
248
269
|
children: [
|
|
249
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ b("div", {
|
|
250
271
|
className: "flex items-start gap-3 rounded-md border border-border-subtle bg-bg-sunken/50 p-3",
|
|
251
|
-
children: [/* @__PURE__ */
|
|
272
|
+
children: [/* @__PURE__ */ y(o, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ y("p", {
|
|
252
273
|
className: "text-xs text-text-secondary",
|
|
253
|
-
children: "
|
|
274
|
+
children: "Your service status, operating hours and enabled service types are saved to your cart record. The finer per-service settings below (delivery fees, scheduled stops, prep and advance-payment values) are kept in this browser for now."
|
|
254
275
|
})]
|
|
255
276
|
}),
|
|
256
|
-
G && /* @__PURE__ */
|
|
277
|
+
G && /* @__PURE__ */ b("div", {
|
|
257
278
|
className: "flex items-center gap-2 rounded-lg border border-status-success-text/30 bg-status-success-bg-subtle p-4",
|
|
258
|
-
children: [/* @__PURE__ */
|
|
279
|
+
children: [/* @__PURE__ */ y(c, { className: "h-5 w-5 text-status-success-text shrink-0" }), /* @__PURE__ */ y("span", {
|
|
259
280
|
className: "text-sm font-medium text-status-success-text",
|
|
260
281
|
children: "Configuration saved successfully!"
|
|
261
282
|
})]
|
|
262
283
|
}),
|
|
263
|
-
q.length > 0 && /* @__PURE__ */
|
|
284
|
+
q.length > 0 && /* @__PURE__ */ y("div", {
|
|
264
285
|
className: "rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle p-4 space-y-1",
|
|
265
|
-
children: q.map((e, t) => /* @__PURE__ */
|
|
286
|
+
children: q.map((e, t) => /* @__PURE__ */ b("div", {
|
|
266
287
|
className: "flex items-start gap-2",
|
|
267
|
-
children: [/* @__PURE__ */
|
|
288
|
+
children: [/* @__PURE__ */ y(o, { className: "h-4 w-4 text-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ y("span", {
|
|
268
289
|
className: "text-sm text-status-error-text",
|
|
269
290
|
children: e
|
|
270
291
|
})]
|
|
271
292
|
}, t))
|
|
272
293
|
}),
|
|
273
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ y(x, { children: /* @__PURE__ */ b("div", {
|
|
274
295
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",
|
|
275
|
-
children: [/* @__PURE__ */
|
|
296
|
+
children: [/* @__PURE__ */ b("div", {
|
|
276
297
|
className: "flex-1",
|
|
277
|
-
children: [/* @__PURE__ */
|
|
298
|
+
children: [/* @__PURE__ */ b("h2", {
|
|
278
299
|
className: "text-lg font-semibold text-text-primary flex items-center gap-2",
|
|
279
|
-
children: [/* @__PURE__ */
|
|
280
|
-
}), /* @__PURE__ */
|
|
300
|
+
children: [/* @__PURE__ */ y(m, { className: "h-5 w-5 text-text-secondary" }), "Service Status"]
|
|
301
|
+
}), /* @__PURE__ */ y("p", {
|
|
281
302
|
className: "text-sm text-text-secondary mt-1",
|
|
282
303
|
children: "Control whether your service is currently accepting orders"
|
|
283
304
|
})]
|
|
284
|
-
}), /* @__PURE__ */
|
|
305
|
+
}), /* @__PURE__ */ b("div", {
|
|
285
306
|
className: "flex items-center gap-3",
|
|
286
|
-
children: [/* @__PURE__ */
|
|
287
|
-
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium",
|
|
288
|
-
children:
|
|
289
|
-
}), /* @__PURE__ */
|
|
307
|
+
children: [/* @__PURE__ */ y("span", {
|
|
308
|
+
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium", N ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"),
|
|
309
|
+
children: N ? "Open" : "Closed"
|
|
310
|
+
}), /* @__PURE__ */ y("button", {
|
|
290
311
|
type: "button",
|
|
291
|
-
onClick: () =>
|
|
292
|
-
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
293
|
-
children:
|
|
312
|
+
onClick: () => P(!N),
|
|
313
|
+
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors", N ? "bg-status-error-bg-subtle text-status-error-text hover:bg-status-error-bg-subtle" : "bg-status-success-bg-subtle text-status-success-text hover:bg-status-success-bg-subtle"),
|
|
314
|
+
children: N ? "Close Service" : "Open Service"
|
|
294
315
|
})]
|
|
295
316
|
})]
|
|
296
317
|
}) }),
|
|
297
|
-
/* @__PURE__ */
|
|
318
|
+
/* @__PURE__ */ b("section", {
|
|
298
319
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-6 shadow-sm",
|
|
299
|
-
children: [/* @__PURE__ */
|
|
320
|
+
children: [/* @__PURE__ */ b("h2", {
|
|
300
321
|
className: "text-lg font-semibold text-text-primary flex items-center gap-2 mb-4",
|
|
301
|
-
children: [/* @__PURE__ */
|
|
302
|
-
}), /* @__PURE__ */
|
|
322
|
+
children: [/* @__PURE__ */ y(d, { className: "h-5 w-5 text-text-secondary" }), "Offering Type"]
|
|
323
|
+
}), /* @__PURE__ */ b("div", {
|
|
303
324
|
className: "space-y-3",
|
|
304
325
|
children: [
|
|
305
|
-
/* @__PURE__ */
|
|
326
|
+
/* @__PURE__ */ y("label", {
|
|
306
327
|
htmlFor: "offering-type",
|
|
307
328
|
className: "block text-sm font-medium text-text-primary",
|
|
308
329
|
children: "What do you provide?"
|
|
309
330
|
}),
|
|
310
|
-
/* @__PURE__ */
|
|
331
|
+
/* @__PURE__ */ y("select", {
|
|
311
332
|
id: "offering-type",
|
|
312
|
-
value:
|
|
313
|
-
onChange: (e) =>
|
|
333
|
+
value: F,
|
|
334
|
+
onChange: (e) => I(e.target.value),
|
|
314
335
|
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)]",
|
|
315
|
-
children:
|
|
336
|
+
children: C.map((e) => /* @__PURE__ */ y("option", {
|
|
316
337
|
value: e.value,
|
|
317
338
|
children: e.label
|
|
318
339
|
}, e.value))
|
|
319
340
|
}),
|
|
320
|
-
/* @__PURE__ */
|
|
341
|
+
/* @__PURE__ */ y("p", {
|
|
321
342
|
className: "text-sm text-text-secondary",
|
|
322
|
-
children:
|
|
343
|
+
children: se.description
|
|
323
344
|
})
|
|
324
345
|
]
|
|
325
346
|
})]
|
|
326
347
|
}),
|
|
327
|
-
/* @__PURE__ */
|
|
348
|
+
/* @__PURE__ */ b("section", {
|
|
328
349
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-6 shadow-sm",
|
|
329
|
-
children: [/* @__PURE__ */
|
|
350
|
+
children: [/* @__PURE__ */ b("h2", {
|
|
330
351
|
className: "text-lg font-semibold text-text-primary flex items-center gap-2 mb-4",
|
|
331
|
-
children: [/* @__PURE__ */
|
|
332
|
-
}), /* @__PURE__ */
|
|
352
|
+
children: [/* @__PURE__ */ y(l, { className: "h-5 w-5 text-text-secondary" }), "Operating Hours"]
|
|
353
|
+
}), /* @__PURE__ */ y("div", {
|
|
333
354
|
className: "grid grid-cols-1 md:grid-cols-2 gap-3",
|
|
334
|
-
children:
|
|
355
|
+
children: w.map((e) => {
|
|
335
356
|
let n = L[e];
|
|
336
|
-
return /* @__PURE__ */
|
|
357
|
+
return /* @__PURE__ */ b("div", {
|
|
337
358
|
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"),
|
|
338
|
-
children: [/* @__PURE__ */
|
|
359
|
+
children: [/* @__PURE__ */ y("span", {
|
|
339
360
|
className: "min-w-[50px] text-sm font-medium text-text-primary",
|
|
340
|
-
children:
|
|
341
|
-
}), /* @__PURE__ */
|
|
361
|
+
children: T[e]
|
|
362
|
+
}), /* @__PURE__ */ b("div", {
|
|
342
363
|
className: "flex items-center gap-3 flex-1",
|
|
343
364
|
children: [
|
|
344
|
-
/* @__PURE__ */
|
|
365
|
+
/* @__PURE__ */ y("button", {
|
|
345
366
|
type: "button",
|
|
346
367
|
onClick: () => Y(e, "isOpen", !n.isOpen),
|
|
347
368
|
className: t("h-5 w-5 rounded border transition-colors shrink-0", n.isOpen ? "bg-action-primary-bg border-border-focus" : "border-border-subtle bg-bg-surface"),
|
|
348
|
-
children: n.isOpen && /* @__PURE__ */
|
|
369
|
+
children: n.isOpen && /* @__PURE__ */ y(c, { className: "h-5 w-5 text-white" })
|
|
349
370
|
}),
|
|
350
|
-
/* @__PURE__ */
|
|
371
|
+
/* @__PURE__ */ y("span", {
|
|
351
372
|
className: "text-xs text-text-secondary min-w-[35px]",
|
|
352
373
|
children: "Open"
|
|
353
374
|
}),
|
|
354
|
-
n.isOpen && /* @__PURE__ */
|
|
375
|
+
n.isOpen && /* @__PURE__ */ b("div", {
|
|
355
376
|
className: "flex items-center gap-2",
|
|
356
377
|
children: [
|
|
357
|
-
/* @__PURE__ */
|
|
378
|
+
/* @__PURE__ */ y("input", {
|
|
358
379
|
type: "time",
|
|
359
380
|
value: n.open,
|
|
360
381
|
onChange: (t) => Y(e, "open", t.target.value),
|
|
361
382
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
362
383
|
}),
|
|
363
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ y("span", {
|
|
364
385
|
className: "text-xs text-text-secondary",
|
|
365
386
|
children: "to"
|
|
366
387
|
}),
|
|
367
|
-
/* @__PURE__ */
|
|
388
|
+
/* @__PURE__ */ y("input", {
|
|
368
389
|
type: "time",
|
|
369
390
|
value: n.close,
|
|
370
391
|
onChange: (t) => Y(e, "close", t.target.value),
|
|
@@ -378,81 +399,81 @@ var w = [
|
|
|
378
399
|
})
|
|
379
400
|
})]
|
|
380
401
|
}),
|
|
381
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ b("section", {
|
|
382
403
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-6 shadow-sm",
|
|
383
|
-
children: [/* @__PURE__ */
|
|
404
|
+
children: [/* @__PURE__ */ b("h2", {
|
|
384
405
|
className: "text-lg font-semibold text-text-primary flex items-center gap-2 mb-6",
|
|
385
|
-
children: [/* @__PURE__ */
|
|
386
|
-
}), /* @__PURE__ */
|
|
406
|
+
children: [/* @__PURE__ */ y(_, { className: "h-5 w-5 text-text-secondary" }), "Service Types"]
|
|
407
|
+
}), /* @__PURE__ */ b("div", {
|
|
387
408
|
className: "space-y-6",
|
|
388
409
|
children: [
|
|
389
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ b("div", {
|
|
390
411
|
className: "border border-border-subtle rounded-lg p-4",
|
|
391
|
-
children: [/* @__PURE__ */
|
|
412
|
+
children: [/* @__PURE__ */ b("div", {
|
|
392
413
|
className: "flex items-center justify-between mb-4",
|
|
393
|
-
children: [/* @__PURE__ */
|
|
414
|
+
children: [/* @__PURE__ */ b("div", {
|
|
394
415
|
className: "flex items-center gap-2",
|
|
395
|
-
children: [/* @__PURE__ */
|
|
416
|
+
children: [/* @__PURE__ */ y(h, { className: "h-5 w-5 text-text-primary" }), /* @__PURE__ */ y("span", {
|
|
396
417
|
className: "font-medium text-text-primary",
|
|
397
418
|
children: "Pickup Service"
|
|
398
419
|
})]
|
|
399
|
-
}), /* @__PURE__ */
|
|
420
|
+
}), /* @__PURE__ */ y("button", {
|
|
400
421
|
type: "button",
|
|
401
422
|
onClick: () => X("pickup", "enabled", !z.pickup.enabled),
|
|
402
423
|
className: t("h-6 w-11 rounded-full transition-colors relative", z.pickup.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
403
|
-
children: /* @__PURE__ */
|
|
424
|
+
children: /* @__PURE__ */ y("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", z.pickup.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
404
425
|
})]
|
|
405
|
-
}), z.pickup.enabled && /* @__PURE__ */
|
|
426
|
+
}), z.pickup.enabled && /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
406
427
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
407
428
|
children: "Preparation Time (minutes)"
|
|
408
|
-
}), /* @__PURE__ */
|
|
429
|
+
}), /* @__PURE__ */ y("input", {
|
|
409
430
|
type: "number",
|
|
410
431
|
value: z.pickup.preparationTime,
|
|
411
432
|
onChange: (e) => X("pickup", "preparationTime", parseInt(e.target.value) || 0),
|
|
412
433
|
className: "w-full sm:w-32 rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
413
434
|
})] })]
|
|
414
435
|
}),
|
|
415
|
-
/* @__PURE__ */
|
|
436
|
+
/* @__PURE__ */ b("div", {
|
|
416
437
|
className: "border border-border-subtle rounded-lg p-4",
|
|
417
|
-
children: [/* @__PURE__ */
|
|
438
|
+
children: [/* @__PURE__ */ b("div", {
|
|
418
439
|
className: "flex items-center justify-between mb-4",
|
|
419
|
-
children: [/* @__PURE__ */
|
|
440
|
+
children: [/* @__PURE__ */ b("div", {
|
|
420
441
|
className: "flex items-center gap-2",
|
|
421
|
-
children: [/* @__PURE__ */
|
|
442
|
+
children: [/* @__PURE__ */ y(_, { className: "h-5 w-5 text-status-success-text" }), /* @__PURE__ */ y("span", {
|
|
422
443
|
className: "font-medium text-text-primary",
|
|
423
444
|
children: "Delivery Service"
|
|
424
445
|
})]
|
|
425
|
-
}), /* @__PURE__ */
|
|
446
|
+
}), /* @__PURE__ */ y("button", {
|
|
426
447
|
type: "button",
|
|
427
448
|
onClick: () => X("delivery", "enabled", !z.delivery.enabled),
|
|
428
449
|
className: t("h-6 w-11 rounded-full transition-colors relative", z.delivery.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
429
|
-
children: /* @__PURE__ */
|
|
450
|
+
children: /* @__PURE__ */ y("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", z.delivery.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
430
451
|
})]
|
|
431
|
-
}), z.delivery.enabled && /* @__PURE__ */
|
|
452
|
+
}), z.delivery.enabled && /* @__PURE__ */ b("div", {
|
|
432
453
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
433
454
|
children: [
|
|
434
|
-
/* @__PURE__ */
|
|
455
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
435
456
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
436
457
|
children: "Delivery Radius (km)"
|
|
437
|
-
}), /* @__PURE__ */
|
|
458
|
+
}), /* @__PURE__ */ y("input", {
|
|
438
459
|
type: "number",
|
|
439
460
|
value: z.delivery.deliveryRadius,
|
|
440
461
|
onChange: (e) => X("delivery", "deliveryRadius", parseInt(e.target.value) || 0),
|
|
441
462
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
442
463
|
})] }),
|
|
443
|
-
/* @__PURE__ */
|
|
464
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
444
465
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
445
466
|
children: "Delivery Fee (₹)"
|
|
446
|
-
}), /* @__PURE__ */
|
|
467
|
+
}), /* @__PURE__ */ y("input", {
|
|
447
468
|
type: "number",
|
|
448
469
|
value: z.delivery.deliveryFee,
|
|
449
470
|
onChange: (e) => X("delivery", "deliveryFee", parseInt(e.target.value) || 0),
|
|
450
471
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
451
472
|
})] }),
|
|
452
|
-
/* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
453
474
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
454
475
|
children: "Minimum Order (₹)"
|
|
455
|
-
}), /* @__PURE__ */
|
|
476
|
+
}), /* @__PURE__ */ y("input", {
|
|
456
477
|
type: "number",
|
|
457
478
|
value: z.delivery.minimumOrderValue,
|
|
458
479
|
onChange: (e) => X("delivery", "minimumOrderValue", parseInt(e.target.value) || 0),
|
|
@@ -461,67 +482,67 @@ var w = [
|
|
|
461
482
|
]
|
|
462
483
|
})]
|
|
463
484
|
}),
|
|
464
|
-
/* @__PURE__ */
|
|
485
|
+
/* @__PURE__ */ b("div", {
|
|
465
486
|
className: "border border-border-subtle rounded-lg p-4",
|
|
466
|
-
children: [/* @__PURE__ */
|
|
487
|
+
children: [/* @__PURE__ */ b("div", {
|
|
467
488
|
className: "flex items-center justify-between mb-4",
|
|
468
|
-
children: [/* @__PURE__ */
|
|
489
|
+
children: [/* @__PURE__ */ b("div", {
|
|
469
490
|
className: "flex items-center gap-2",
|
|
470
|
-
children: [/* @__PURE__ */
|
|
491
|
+
children: [/* @__PURE__ */ y(s, { className: "h-5 w-5 text-status-warning-text" }), /* @__PURE__ */ y("span", {
|
|
471
492
|
className: "font-medium text-text-primary",
|
|
472
493
|
children: "Scheduled Stop Service"
|
|
473
494
|
})]
|
|
474
|
-
}), /* @__PURE__ */
|
|
495
|
+
}), /* @__PURE__ */ y("button", {
|
|
475
496
|
type: "button",
|
|
476
497
|
onClick: () => X("scheduledStop", "enabled", !z.scheduledStop.enabled),
|
|
477
498
|
className: t("h-6 w-11 rounded-full transition-colors relative", z.scheduledStop.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
478
|
-
children: /* @__PURE__ */
|
|
499
|
+
children: /* @__PURE__ */ y("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", z.scheduledStop.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
479
500
|
})]
|
|
480
|
-
}), z.scheduledStop.enabled && /* @__PURE__ */
|
|
501
|
+
}), z.scheduledStop.enabled && /* @__PURE__ */ b("div", {
|
|
481
502
|
className: "space-y-4",
|
|
482
503
|
children: [
|
|
483
|
-
/* @__PURE__ */
|
|
504
|
+
/* @__PURE__ */ b("div", {
|
|
484
505
|
className: "flex items-center justify-between",
|
|
485
|
-
children: [/* @__PURE__ */
|
|
506
|
+
children: [/* @__PURE__ */ y("span", {
|
|
486
507
|
className: "text-sm text-text-secondary",
|
|
487
508
|
children: "Configure locations and times where your cart will be available"
|
|
488
|
-
}), /* @__PURE__ */
|
|
509
|
+
}), /* @__PURE__ */ b("button", {
|
|
489
510
|
type: "button",
|
|
490
|
-
onClick:
|
|
511
|
+
onClick: re,
|
|
491
512
|
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",
|
|
492
|
-
children: [/* @__PURE__ */
|
|
513
|
+
children: [/* @__PURE__ */ y(f, { className: "h-4 w-4" }), "Add Stop"]
|
|
493
514
|
})]
|
|
494
515
|
}),
|
|
495
|
-
z.scheduledStop.stops.map((e) => /* @__PURE__ */
|
|
516
|
+
z.scheduledStop.stops.map((e) => /* @__PURE__ */ b("div", {
|
|
496
517
|
className: "border border-border-subtle rounded-lg p-4 bg-bg-sunken/50",
|
|
497
518
|
children: [
|
|
498
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ b("div", {
|
|
499
520
|
className: "flex items-center justify-between mb-3",
|
|
500
|
-
children: [/* @__PURE__ */
|
|
521
|
+
children: [/* @__PURE__ */ y("h4", {
|
|
501
522
|
className: "font-medium text-text-primary text-sm",
|
|
502
523
|
children: "Stop Configuration"
|
|
503
|
-
}), /* @__PURE__ */
|
|
524
|
+
}), /* @__PURE__ */ b("button", {
|
|
504
525
|
type: "button",
|
|
505
|
-
onClick: () =>
|
|
526
|
+
onClick: () => ie(e.id),
|
|
506
527
|
className: "inline-flex items-center gap-1 rounded-md bg-status-error-bg-subtle px-2 py-1 text-xs text-status-error-text hover:bg-status-error-bg-subtle transition-colors",
|
|
507
|
-
children: [/* @__PURE__ */
|
|
528
|
+
children: [/* @__PURE__ */ y(g, { className: "h-3.5 w-3.5" }), "Remove"]
|
|
508
529
|
})]
|
|
509
530
|
}),
|
|
510
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ b("div", {
|
|
511
532
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4 mb-4",
|
|
512
|
-
children: [/* @__PURE__ */
|
|
533
|
+
children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
513
534
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
514
535
|
children: "Stop Name"
|
|
515
|
-
}), /* @__PURE__ */
|
|
536
|
+
}), /* @__PURE__ */ y("input", {
|
|
516
537
|
type: "text",
|
|
517
538
|
value: e.name,
|
|
518
539
|
onChange: (t) => Q(e.id, "name", t.target.value),
|
|
519
540
|
placeholder: "e.g., Tech Park Morning",
|
|
520
541
|
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"
|
|
521
|
-
})] }), /* @__PURE__ */
|
|
542
|
+
})] }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
522
543
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
523
544
|
children: "Address"
|
|
524
|
-
}), /* @__PURE__ */
|
|
545
|
+
}), /* @__PURE__ */ y("input", {
|
|
525
546
|
type: "text",
|
|
526
547
|
value: e.address,
|
|
527
548
|
onChange: (t) => Q(e.id, "address", t.target.value),
|
|
@@ -529,106 +550,106 @@ var w = [
|
|
|
529
550
|
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"
|
|
530
551
|
})] })]
|
|
531
552
|
}),
|
|
532
|
-
/* @__PURE__ */
|
|
553
|
+
/* @__PURE__ */ b("div", {
|
|
533
554
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4 mb-4",
|
|
534
|
-
children: [/* @__PURE__ */
|
|
555
|
+
children: [/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
535
556
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
536
557
|
children: "Arrival Time"
|
|
537
|
-
}), /* @__PURE__ */
|
|
558
|
+
}), /* @__PURE__ */ y("input", {
|
|
538
559
|
type: "time",
|
|
539
560
|
value: e.arrivalTime,
|
|
540
561
|
onChange: (t) => Q(e.id, "arrivalTime", t.target.value),
|
|
541
562
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
542
|
-
})] }), /* @__PURE__ */
|
|
563
|
+
})] }), /* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
543
564
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
544
565
|
children: "Departure Time"
|
|
545
|
-
}), /* @__PURE__ */
|
|
566
|
+
}), /* @__PURE__ */ y("input", {
|
|
546
567
|
type: "time",
|
|
547
568
|
value: e.departureTime,
|
|
548
569
|
onChange: (t) => Q(e.id, "departureTime", t.target.value),
|
|
549
570
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
550
571
|
})] })]
|
|
551
572
|
}),
|
|
552
|
-
/* @__PURE__ */
|
|
573
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
553
574
|
className: "block text-xs font-medium text-text-primary mb-2",
|
|
554
575
|
children: "Days of Week"
|
|
555
|
-
}), /* @__PURE__ */
|
|
576
|
+
}), /* @__PURE__ */ y("div", {
|
|
556
577
|
className: "flex flex-wrap gap-1.5",
|
|
557
|
-
children:
|
|
578
|
+
children: w.map((n) => /* @__PURE__ */ y("button", {
|
|
558
579
|
type: "button",
|
|
559
|
-
onClick: () =>
|
|
580
|
+
onClick: () => ae(e.id, n),
|
|
560
581
|
className: t("px-3 py-1 rounded-full text-xs font-medium transition-colors", e.daysOfWeek.includes(n) ? "bg-action-primary-bg text-white" : "bg-bg-sunken text-text-secondary hover:bg-muted-foreground/20"),
|
|
561
|
-
children:
|
|
582
|
+
children: T[n]
|
|
562
583
|
}, n))
|
|
563
584
|
})] })
|
|
564
585
|
]
|
|
565
586
|
}, e.id)),
|
|
566
|
-
z.scheduledStop.stops.length === 0 && /* @__PURE__ */
|
|
587
|
+
z.scheduledStop.stops.length === 0 && /* @__PURE__ */ y("div", {
|
|
567
588
|
className: "text-center py-6 text-sm text-text-secondary",
|
|
568
589
|
children: "No scheduled stops configured. Click \"Add Stop\" to create one."
|
|
569
590
|
})
|
|
570
591
|
]
|
|
571
592
|
})]
|
|
572
593
|
}),
|
|
573
|
-
/* @__PURE__ */
|
|
594
|
+
/* @__PURE__ */ b("div", {
|
|
574
595
|
className: "border border-border-subtle rounded-lg p-4",
|
|
575
|
-
children: [/* @__PURE__ */
|
|
596
|
+
children: [/* @__PURE__ */ b("div", {
|
|
576
597
|
className: "flex items-center justify-between mb-4",
|
|
577
|
-
children: [/* @__PURE__ */
|
|
598
|
+
children: [/* @__PURE__ */ b("div", {
|
|
578
599
|
className: "flex items-center gap-2",
|
|
579
|
-
children: [/* @__PURE__ */
|
|
600
|
+
children: [/* @__PURE__ */ y(u, { className: "h-5 w-5 text-text-primary" }), /* @__PURE__ */ y("span", {
|
|
580
601
|
className: "font-medium text-text-primary",
|
|
581
602
|
children: "Direct Service"
|
|
582
603
|
})]
|
|
583
|
-
}), /* @__PURE__ */
|
|
604
|
+
}), /* @__PURE__ */ y("button", {
|
|
584
605
|
type: "button",
|
|
585
606
|
onClick: () => X("directService", "enabled", !z.directService.enabled),
|
|
586
607
|
className: t("h-6 w-11 rounded-full transition-colors relative", z.directService.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
587
|
-
children: /* @__PURE__ */
|
|
608
|
+
children: /* @__PURE__ */ y("div", { className: t("absolute top-0.5 h-5 w-5 rounded-full bg-white transition-transform", z.directService.enabled ? "translate-x-5" : "translate-x-0.5") })
|
|
588
609
|
})]
|
|
589
|
-
}), z.directService.enabled && /* @__PURE__ */
|
|
610
|
+
}), z.directService.enabled && /* @__PURE__ */ b("div", {
|
|
590
611
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
591
612
|
children: [
|
|
592
|
-
/* @__PURE__ */
|
|
613
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
593
614
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
594
615
|
children: "Service Fee (₹)"
|
|
595
|
-
}), /* @__PURE__ */
|
|
616
|
+
}), /* @__PURE__ */ y("input", {
|
|
596
617
|
type: "number",
|
|
597
618
|
value: z.directService.config.serviceFee,
|
|
598
619
|
onChange: (e) => Z("serviceFee", parseInt(e.target.value) || 0),
|
|
599
620
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
600
621
|
})] }),
|
|
601
|
-
/* @__PURE__ */
|
|
622
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
602
623
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
603
624
|
children: "Minimum Advance Payment (₹)"
|
|
604
|
-
}), /* @__PURE__ */
|
|
625
|
+
}), /* @__PURE__ */ y("input", {
|
|
605
626
|
type: "number",
|
|
606
627
|
value: z.directService.config.minimumAdvancePayment,
|
|
607
628
|
onChange: (e) => Z("minimumAdvancePayment", parseInt(e.target.value) || 0),
|
|
608
629
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
609
630
|
})] }),
|
|
610
|
-
/* @__PURE__ */
|
|
631
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
611
632
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
612
633
|
children: "Service Radius (km)"
|
|
613
|
-
}), /* @__PURE__ */
|
|
634
|
+
}), /* @__PURE__ */ y("input", {
|
|
614
635
|
type: "number",
|
|
615
636
|
value: z.directService.config.serviceRadius,
|
|
616
637
|
onChange: (e) => Z("serviceRadius", parseInt(e.target.value) || 0),
|
|
617
638
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
618
639
|
})] }),
|
|
619
|
-
/* @__PURE__ */
|
|
640
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
620
641
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
621
642
|
children: "Estimated Arrival Time (min)"
|
|
622
|
-
}), /* @__PURE__ */
|
|
643
|
+
}), /* @__PURE__ */ y("input", {
|
|
623
644
|
type: "number",
|
|
624
645
|
value: z.directService.config.estimatedArrivalTime,
|
|
625
646
|
onChange: (e) => Z("estimatedArrivalTime", parseInt(e.target.value) || 0),
|
|
626
647
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
627
648
|
})] }),
|
|
628
|
-
/* @__PURE__ */
|
|
649
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("label", {
|
|
629
650
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
630
651
|
children: "Minimum Order Value (₹)"
|
|
631
|
-
}), /* @__PURE__ */
|
|
652
|
+
}), /* @__PURE__ */ y("input", {
|
|
632
653
|
type: "number",
|
|
633
654
|
value: z.directService.config.minimumOrderValue,
|
|
634
655
|
onChange: (e) => Z("minimumOrderValue", parseInt(e.target.value) || 0),
|
|
@@ -640,27 +661,27 @@ var w = [
|
|
|
640
661
|
]
|
|
641
662
|
})]
|
|
642
663
|
}),
|
|
643
|
-
/* @__PURE__ */
|
|
664
|
+
/* @__PURE__ */ b("div", {
|
|
644
665
|
className: "flex items-center justify-between pt-2",
|
|
645
|
-
children: [/* @__PURE__ */
|
|
666
|
+
children: [/* @__PURE__ */ y("button", {
|
|
646
667
|
type: "button",
|
|
647
|
-
onClick: () =>
|
|
668
|
+
onClick: () => O("/cart-owner/dashboard"),
|
|
648
669
|
className: "rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
649
670
|
children: "Cancel"
|
|
650
|
-
}), /* @__PURE__ */
|
|
671
|
+
}), /* @__PURE__ */ y("button", {
|
|
651
672
|
type: "button",
|
|
652
673
|
onClick: $,
|
|
653
|
-
disabled:
|
|
654
|
-
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors",
|
|
655
|
-
children:
|
|
674
|
+
disabled: W,
|
|
675
|
+
className: t("inline-flex items-center gap-2 rounded-md px-4 py-2 text-sm font-medium transition-colors", W ? "bg-bg-sunken text-text-secondary cursor-not-allowed" : "bg-accent text-text-primary hover:bg-accent/80"),
|
|
676
|
+
children: W ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(p, { className: "h-4 w-4" }), "Save Configuration"] })
|
|
656
677
|
})]
|
|
657
678
|
})
|
|
658
679
|
]
|
|
659
680
|
})]
|
|
660
|
-
}) : /* @__PURE__ */
|
|
681
|
+
}) : /* @__PURE__ */ y(n, {
|
|
661
682
|
title: "Service Provider Configuration",
|
|
662
683
|
description: "Manage your service status, operating hours, and service types",
|
|
663
|
-
children: /* @__PURE__ */
|
|
684
|
+
children: /* @__PURE__ */ y(r, {
|
|
664
685
|
illustration: "empty-generic",
|
|
665
686
|
title: "Create your cart first",
|
|
666
687
|
description: "You don't have a service provider yet. Set up your cart before configuring how it serves customers."
|
|
@@ -668,6 +689,6 @@ var w = [
|
|
|
668
689
|
});
|
|
669
690
|
};
|
|
670
691
|
//#endregion
|
|
671
|
-
export {
|
|
692
|
+
export { O as CartServiceConfigPage };
|
|
672
693
|
|
|
673
694
|
//# sourceMappingURL=CartServiceConfigPage.js.map
|