@burdenoff/microfe-kadaikodi 2026.625.1 → 2026.626.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kadaikodi/pages/HomePage.js +19 -14
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +118 -83
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +75 -46
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +144 -128
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +255 -237
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js +129 -128
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +178 -150
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +182 -159
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +325 -303
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +500 -469
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +534 -503
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +73 -48
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +103 -96
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +130 -129
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +673 -670
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +517 -514
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +140 -125
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +302 -311
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js +102 -91
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +766 -734
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +366 -356
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +243 -213
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +200 -195
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +95 -89
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +430 -387
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +488 -478
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +523 -512
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +83 -75
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +116 -108
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +67 -61
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +90 -73
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +80 -72
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +70 -53
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +289 -255
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +92 -84
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +63 -55
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +339 -311
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +40 -32
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +174 -150
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +302 -273
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +87 -59
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +82 -75
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +78 -71
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +2 -2
|
@@ -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/kadaikodi/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,50 @@ 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
|
-
return /* @__PURE__ */
|
|
206
|
+
}, X = x.find((e) => e.value === k);
|
|
207
|
+
return /* @__PURE__ */ v(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
|
-
children: /* @__PURE__ */
|
|
217
|
+
children: [/* @__PURE__ */ _(b, {
|
|
218
|
+
className: "mb-6 max-w-4xl",
|
|
219
|
+
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."
|
|
220
|
+
}), /* @__PURE__ */ v("div", {
|
|
217
221
|
className: "space-y-6 max-w-4xl",
|
|
218
222
|
children: [
|
|
219
|
-
|
|
223
|
+
L && /* @__PURE__ */ v("div", {
|
|
220
224
|
className: "flex items-center gap-2 rounded-lg border border-status-success-text/30 bg-status-success-bg-subtle p-4",
|
|
221
225
|
children: [/* @__PURE__ */ _(o, { className: "h-5 w-5 text-status-success-text shrink-0" }), /* @__PURE__ */ _("span", {
|
|
222
226
|
className: "text-sm font-medium text-status-success-text",
|
|
223
227
|
children: "Configuration saved successfully!"
|
|
224
228
|
})]
|
|
225
229
|
}),
|
|
226
|
-
|
|
230
|
+
z.length > 0 && /* @__PURE__ */ _("div", {
|
|
227
231
|
className: "rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle p-4 space-y-1",
|
|
228
|
-
children:
|
|
232
|
+
children: z.map((e, t) => /* @__PURE__ */ v("div", {
|
|
229
233
|
className: "flex items-start gap-2",
|
|
230
234
|
children: [/* @__PURE__ */ _(i, { className: "h-4 w-4 text-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ _("span", {
|
|
231
235
|
className: "text-sm text-status-error-text",
|
|
@@ -233,33 +237,30 @@ var y = [
|
|
|
233
237
|
})]
|
|
234
238
|
}, t))
|
|
235
239
|
}),
|
|
236
|
-
/* @__PURE__ */ _("
|
|
237
|
-
className: "
|
|
238
|
-
children: /* @__PURE__ */ v("div", {
|
|
239
|
-
className: "flex
|
|
240
|
-
children: [/* @__PURE__ */ v("
|
|
241
|
-
className: "flex-
|
|
242
|
-
children: [/* @__PURE__ */
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
className: "text-sm text-text-secondary mt-1",
|
|
247
|
-
children: "Control whether your service is currently accepting orders"
|
|
248
|
-
})]
|
|
249
|
-
}), /* @__PURE__ */ v("div", {
|
|
250
|
-
className: "flex items-center gap-3",
|
|
251
|
-
children: [/* @__PURE__ */ _("span", {
|
|
252
|
-
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium", T ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"),
|
|
253
|
-
children: T ? "Open" : "Closed"
|
|
254
|
-
}), /* @__PURE__ */ _("button", {
|
|
255
|
-
type: "button",
|
|
256
|
-
onClick: () => E(!T),
|
|
257
|
-
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors", T ? "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"),
|
|
258
|
-
children: T ? "Close Service" : "Open Service"
|
|
259
|
-
})]
|
|
240
|
+
/* @__PURE__ */ _(y, { children: /* @__PURE__ */ v("div", {
|
|
241
|
+
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",
|
|
242
|
+
children: [/* @__PURE__ */ v("div", {
|
|
243
|
+
className: "flex-1",
|
|
244
|
+
children: [/* @__PURE__ */ v("h2", {
|
|
245
|
+
className: "text-lg font-semibold text-text-primary flex items-center gap-2",
|
|
246
|
+
children: [/* @__PURE__ */ _(f, { className: "h-5 w-5 text-text-secondary" }), "Service Status"]
|
|
247
|
+
}), /* @__PURE__ */ _("p", {
|
|
248
|
+
className: "text-sm text-text-secondary mt-1",
|
|
249
|
+
children: "Control whether your service is currently accepting orders"
|
|
260
250
|
})]
|
|
261
|
-
})
|
|
262
|
-
|
|
251
|
+
}), /* @__PURE__ */ v("div", {
|
|
252
|
+
className: "flex items-center gap-3",
|
|
253
|
+
children: [/* @__PURE__ */ _("span", {
|
|
254
|
+
className: t("inline-flex items-center rounded-full px-3 py-1 text-xs font-medium", D ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"),
|
|
255
|
+
children: D ? "Open" : "Closed"
|
|
256
|
+
}), /* @__PURE__ */ _("button", {
|
|
257
|
+
type: "button",
|
|
258
|
+
onClick: () => O(!D),
|
|
259
|
+
className: t("rounded-md px-4 py-2 text-sm font-medium transition-colors", D ? "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"),
|
|
260
|
+
children: D ? "Close Service" : "Open Service"
|
|
261
|
+
})]
|
|
262
|
+
})]
|
|
263
|
+
}) }),
|
|
263
264
|
/* @__PURE__ */ v("section", {
|
|
264
265
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-6 shadow-sm",
|
|
265
266
|
children: [/* @__PURE__ */ v("h2", {
|
|
@@ -275,17 +276,17 @@ var y = [
|
|
|
275
276
|
}),
|
|
276
277
|
/* @__PURE__ */ _("select", {
|
|
277
278
|
id: "offering-type",
|
|
278
|
-
value:
|
|
279
|
-
onChange: (e) =>
|
|
279
|
+
value: k,
|
|
280
|
+
onChange: (e) => A(e.target.value),
|
|
280
281
|
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:
|
|
282
|
+
children: x.map((e) => /* @__PURE__ */ _("option", {
|
|
282
283
|
value: e.value,
|
|
283
284
|
children: e.label
|
|
284
285
|
}, e.value))
|
|
285
286
|
}),
|
|
286
287
|
/* @__PURE__ */ _("p", {
|
|
287
288
|
className: "text-sm text-text-secondary",
|
|
288
|
-
children:
|
|
289
|
+
children: X.description
|
|
289
290
|
})
|
|
290
291
|
]
|
|
291
292
|
})]
|
|
@@ -297,19 +298,19 @@ var y = [
|
|
|
297
298
|
children: [/* @__PURE__ */ _(s, { className: "h-5 w-5 text-text-secondary" }), "Operating Hours"]
|
|
298
299
|
}), /* @__PURE__ */ _("div", {
|
|
299
300
|
className: "grid grid-cols-1 md:grid-cols-2 gap-3",
|
|
300
|
-
children:
|
|
301
|
-
let n =
|
|
301
|
+
children: S.map((e) => {
|
|
302
|
+
let n = j[e];
|
|
302
303
|
return /* @__PURE__ */ v("div", {
|
|
303
304
|
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
305
|
children: [/* @__PURE__ */ _("span", {
|
|
305
306
|
className: "min-w-[50px] text-sm font-medium text-text-primary",
|
|
306
|
-
children:
|
|
307
|
+
children: C[e]
|
|
307
308
|
}), /* @__PURE__ */ v("div", {
|
|
308
309
|
className: "flex items-center gap-3 flex-1",
|
|
309
310
|
children: [
|
|
310
311
|
/* @__PURE__ */ _("button", {
|
|
311
312
|
type: "button",
|
|
312
|
-
onClick: () =>
|
|
313
|
+
onClick: () => V(e, "isOpen", !n.isOpen),
|
|
313
314
|
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"),
|
|
314
315
|
children: n.isOpen && /* @__PURE__ */ _(o, { className: "h-5 w-5 text-white" })
|
|
315
316
|
}),
|
|
@@ -323,7 +324,7 @@ var y = [
|
|
|
323
324
|
/* @__PURE__ */ _("input", {
|
|
324
325
|
type: "time",
|
|
325
326
|
value: n.open,
|
|
326
|
-
onChange: (t) =>
|
|
327
|
+
onChange: (t) => V(e, "open", t.target.value),
|
|
327
328
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
328
329
|
}),
|
|
329
330
|
/* @__PURE__ */ _("span", {
|
|
@@ -333,7 +334,7 @@ var y = [
|
|
|
333
334
|
/* @__PURE__ */ _("input", {
|
|
334
335
|
type: "time",
|
|
335
336
|
value: n.close,
|
|
336
|
-
onChange: (t) =>
|
|
337
|
+
onChange: (t) => V(e, "close", t.target.value),
|
|
337
338
|
className: "text-sm rounded border border-border-subtle bg-bg-surface px-2 py-1.5 text-text-primary w-[110px]"
|
|
338
339
|
})
|
|
339
340
|
]
|
|
@@ -364,17 +365,17 @@ var y = [
|
|
|
364
365
|
})]
|
|
365
366
|
}), /* @__PURE__ */ _("button", {
|
|
366
367
|
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",
|
|
368
|
+
onClick: () => H("pickup", "enabled", !N.pickup.enabled),
|
|
369
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.pickup.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
370
|
+
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
371
|
})]
|
|
371
|
-
}),
|
|
372
|
+
}), N.pickup.enabled && /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
372
373
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
373
374
|
children: "Preparation Time (minutes)"
|
|
374
375
|
}), /* @__PURE__ */ _("input", {
|
|
375
376
|
type: "number",
|
|
376
|
-
value:
|
|
377
|
-
onChange: (e) =>
|
|
377
|
+
value: N.pickup.preparationTime,
|
|
378
|
+
onChange: (e) => H("pickup", "preparationTime", parseInt(e.target.value) || 0),
|
|
378
379
|
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
380
|
})] })]
|
|
380
381
|
}),
|
|
@@ -390,11 +391,11 @@ var y = [
|
|
|
390
391
|
})]
|
|
391
392
|
}), /* @__PURE__ */ _("button", {
|
|
392
393
|
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",
|
|
394
|
+
onClick: () => H("delivery", "enabled", !N.delivery.enabled),
|
|
395
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.delivery.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
396
|
+
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
397
|
})]
|
|
397
|
-
}),
|
|
398
|
+
}), N.delivery.enabled && /* @__PURE__ */ v("div", {
|
|
398
399
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
399
400
|
children: [
|
|
400
401
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -402,8 +403,8 @@ var y = [
|
|
|
402
403
|
children: "Delivery Radius (km)"
|
|
403
404
|
}), /* @__PURE__ */ _("input", {
|
|
404
405
|
type: "number",
|
|
405
|
-
value:
|
|
406
|
-
onChange: (e) =>
|
|
406
|
+
value: N.delivery.deliveryRadius,
|
|
407
|
+
onChange: (e) => H("delivery", "deliveryRadius", parseInt(e.target.value) || 0),
|
|
407
408
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
408
409
|
})] }),
|
|
409
410
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -411,8 +412,8 @@ var y = [
|
|
|
411
412
|
children: "Delivery Fee (₹)"
|
|
412
413
|
}), /* @__PURE__ */ _("input", {
|
|
413
414
|
type: "number",
|
|
414
|
-
value:
|
|
415
|
-
onChange: (e) =>
|
|
415
|
+
value: N.delivery.deliveryFee,
|
|
416
|
+
onChange: (e) => H("delivery", "deliveryFee", parseInt(e.target.value) || 0),
|
|
416
417
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
417
418
|
})] }),
|
|
418
419
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -420,8 +421,8 @@ var y = [
|
|
|
420
421
|
children: "Minimum Order (₹)"
|
|
421
422
|
}), /* @__PURE__ */ _("input", {
|
|
422
423
|
type: "number",
|
|
423
|
-
value:
|
|
424
|
-
onChange: (e) =>
|
|
424
|
+
value: N.delivery.minimumOrderValue,
|
|
425
|
+
onChange: (e) => H("delivery", "minimumOrderValue", parseInt(e.target.value) || 0),
|
|
425
426
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
426
427
|
})] })
|
|
427
428
|
]
|
|
@@ -439,11 +440,11 @@ var y = [
|
|
|
439
440
|
})]
|
|
440
441
|
}), /* @__PURE__ */ _("button", {
|
|
441
442
|
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",
|
|
443
|
+
onClick: () => H("scheduledStop", "enabled", !N.scheduledStop.enabled),
|
|
444
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.scheduledStop.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
445
|
+
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
446
|
})]
|
|
446
|
-
}),
|
|
447
|
+
}), N.scheduledStop.enabled && /* @__PURE__ */ v("div", {
|
|
447
448
|
className: "space-y-4",
|
|
448
449
|
children: [
|
|
449
450
|
/* @__PURE__ */ v("div", {
|
|
@@ -453,12 +454,12 @@ var y = [
|
|
|
453
454
|
children: "Configure locations and times where your cart will be available"
|
|
454
455
|
}), /* @__PURE__ */ v("button", {
|
|
455
456
|
type: "button",
|
|
456
|
-
onClick:
|
|
457
|
+
onClick: W,
|
|
457
458
|
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
459
|
children: [/* @__PURE__ */ _(u, { className: "h-4 w-4" }), "Add Stop"]
|
|
459
460
|
})]
|
|
460
461
|
}),
|
|
461
|
-
|
|
462
|
+
N.scheduledStop.stops.map((e) => /* @__PURE__ */ v("div", {
|
|
462
463
|
className: "border border-border-subtle rounded-lg p-4 bg-bg-sunken/50",
|
|
463
464
|
children: [
|
|
464
465
|
/* @__PURE__ */ v("div", {
|
|
@@ -468,7 +469,7 @@ var y = [
|
|
|
468
469
|
children: "Stop Configuration"
|
|
469
470
|
}), /* @__PURE__ */ v("button", {
|
|
470
471
|
type: "button",
|
|
471
|
-
onClick: () =>
|
|
472
|
+
onClick: () => G(e.id),
|
|
472
473
|
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",
|
|
473
474
|
children: [/* @__PURE__ */ _(m, { className: "h-3.5 w-3.5" }), "Remove"]
|
|
474
475
|
})]
|
|
@@ -481,7 +482,7 @@ var y = [
|
|
|
481
482
|
}), /* @__PURE__ */ _("input", {
|
|
482
483
|
type: "text",
|
|
483
484
|
value: e.name,
|
|
484
|
-
onChange: (t) =>
|
|
485
|
+
onChange: (t) => K(e.id, "name", t.target.value),
|
|
485
486
|
placeholder: "e.g., Tech Park Morning",
|
|
486
487
|
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
488
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -490,7 +491,7 @@ var y = [
|
|
|
490
491
|
}), /* @__PURE__ */ _("input", {
|
|
491
492
|
type: "text",
|
|
492
493
|
value: e.address,
|
|
493
|
-
onChange: (t) =>
|
|
494
|
+
onChange: (t) => K(e.id, "address", t.target.value),
|
|
494
495
|
placeholder: "Full address",
|
|
495
496
|
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
497
|
})] })]
|
|
@@ -503,7 +504,7 @@ var y = [
|
|
|
503
504
|
}), /* @__PURE__ */ _("input", {
|
|
504
505
|
type: "time",
|
|
505
506
|
value: e.arrivalTime,
|
|
506
|
-
onChange: (t) =>
|
|
507
|
+
onChange: (t) => K(e.id, "arrivalTime", t.target.value),
|
|
507
508
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
508
509
|
})] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
509
510
|
className: "block text-xs font-medium text-text-primary mb-1",
|
|
@@ -511,7 +512,7 @@ var y = [
|
|
|
511
512
|
}), /* @__PURE__ */ _("input", {
|
|
512
513
|
type: "time",
|
|
513
514
|
value: e.departureTime,
|
|
514
|
-
onChange: (t) =>
|
|
515
|
+
onChange: (t) => K(e.id, "departureTime", t.target.value),
|
|
515
516
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
516
517
|
})] })]
|
|
517
518
|
}),
|
|
@@ -520,16 +521,16 @@ var y = [
|
|
|
520
521
|
children: "Days of Week"
|
|
521
522
|
}), /* @__PURE__ */ _("div", {
|
|
522
523
|
className: "flex flex-wrap gap-1.5",
|
|
523
|
-
children:
|
|
524
|
+
children: S.map((n) => /* @__PURE__ */ _("button", {
|
|
524
525
|
type: "button",
|
|
525
|
-
onClick: () =>
|
|
526
|
+
onClick: () => q(e.id, n),
|
|
526
527
|
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"),
|
|
527
|
-
children:
|
|
528
|
+
children: C[n]
|
|
528
529
|
}, n))
|
|
529
530
|
})] })
|
|
530
531
|
]
|
|
531
532
|
}, e.id)),
|
|
532
|
-
|
|
533
|
+
N.scheduledStop.stops.length === 0 && /* @__PURE__ */ _("div", {
|
|
533
534
|
className: "text-center py-6 text-sm text-text-secondary",
|
|
534
535
|
children: "No scheduled stops configured. Click \"Add Stop\" to create one."
|
|
535
536
|
})
|
|
@@ -548,11 +549,11 @@ var y = [
|
|
|
548
549
|
})]
|
|
549
550
|
}), /* @__PURE__ */ _("button", {
|
|
550
551
|
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",
|
|
552
|
+
onClick: () => H("directService", "enabled", !N.directService.enabled),
|
|
553
|
+
className: t("h-6 w-11 rounded-full transition-colors relative", N.directService.enabled ? "bg-action-primary-bg" : "bg-muted-foreground/30"),
|
|
554
|
+
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
555
|
})]
|
|
555
|
-
}),
|
|
556
|
+
}), N.directService.enabled && /* @__PURE__ */ v("div", {
|
|
556
557
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
557
558
|
children: [
|
|
558
559
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -560,8 +561,8 @@ var y = [
|
|
|
560
561
|
children: "Service Fee (₹)"
|
|
561
562
|
}), /* @__PURE__ */ _("input", {
|
|
562
563
|
type: "number",
|
|
563
|
-
value:
|
|
564
|
-
onChange: (e) =>
|
|
564
|
+
value: N.directService.config.serviceFee,
|
|
565
|
+
onChange: (e) => U("serviceFee", parseInt(e.target.value) || 0),
|
|
565
566
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
566
567
|
})] }),
|
|
567
568
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -569,8 +570,8 @@ var y = [
|
|
|
569
570
|
children: "Minimum Advance Payment (₹)"
|
|
570
571
|
}), /* @__PURE__ */ _("input", {
|
|
571
572
|
type: "number",
|
|
572
|
-
value:
|
|
573
|
-
onChange: (e) =>
|
|
573
|
+
value: N.directService.config.minimumAdvancePayment,
|
|
574
|
+
onChange: (e) => U("minimumAdvancePayment", parseInt(e.target.value) || 0),
|
|
574
575
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
575
576
|
})] }),
|
|
576
577
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -578,8 +579,8 @@ var y = [
|
|
|
578
579
|
children: "Service Radius (km)"
|
|
579
580
|
}), /* @__PURE__ */ _("input", {
|
|
580
581
|
type: "number",
|
|
581
|
-
value:
|
|
582
|
-
onChange: (e) =>
|
|
582
|
+
value: N.directService.config.serviceRadius,
|
|
583
|
+
onChange: (e) => U("serviceRadius", parseInt(e.target.value) || 0),
|
|
583
584
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
584
585
|
})] }),
|
|
585
586
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -587,8 +588,8 @@ var y = [
|
|
|
587
588
|
children: "Estimated Arrival Time (min)"
|
|
588
589
|
}), /* @__PURE__ */ _("input", {
|
|
589
590
|
type: "number",
|
|
590
|
-
value:
|
|
591
|
-
onChange: (e) =>
|
|
591
|
+
value: N.directService.config.estimatedArrivalTime,
|
|
592
|
+
onChange: (e) => U("estimatedArrivalTime", parseInt(e.target.value) || 0),
|
|
592
593
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
593
594
|
})] }),
|
|
594
595
|
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
@@ -596,8 +597,8 @@ var y = [
|
|
|
596
597
|
children: "Minimum Order Value (₹)"
|
|
597
598
|
}), /* @__PURE__ */ _("input", {
|
|
598
599
|
type: "number",
|
|
599
|
-
value:
|
|
600
|
-
onChange: (e) =>
|
|
600
|
+
value: N.directService.config.minimumOrderValue,
|
|
601
|
+
onChange: (e) => U("minimumOrderValue", parseInt(e.target.value) || 0),
|
|
601
602
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary"
|
|
602
603
|
})] })
|
|
603
604
|
]
|
|
@@ -610,22 +611,22 @@ var y = [
|
|
|
610
611
|
className: "flex items-center justify-between pt-2",
|
|
611
612
|
children: [/* @__PURE__ */ _("button", {
|
|
612
613
|
type: "button",
|
|
613
|
-
onClick: () =>
|
|
614
|
+
onClick: () => E("/cart-owner/dashboard"),
|
|
614
615
|
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
616
|
children: "Cancel"
|
|
616
617
|
}), /* @__PURE__ */ _("button", {
|
|
617
618
|
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:
|
|
619
|
+
onClick: Y,
|
|
620
|
+
disabled: F,
|
|
621
|
+
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"),
|
|
622
|
+
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
623
|
})]
|
|
623
624
|
})
|
|
624
625
|
]
|
|
625
|
-
})
|
|
626
|
+
})]
|
|
626
627
|
});
|
|
627
628
|
};
|
|
628
629
|
//#endregion
|
|
629
|
-
export {
|
|
630
|
+
export { E as CartServiceConfigPage };
|
|
630
631
|
|
|
631
632
|
//# sourceMappingURL=CartServiceConfigPage.js.map
|