@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,9 +4,10 @@ import { PageLayout as n } from "../../components/PageLayout.js";
|
|
|
4
4
|
import { useState as r } from "react";
|
|
5
5
|
import { ArrowLeft as i, Bell as a, Database as o, Globe as s, HardDrive as c, Lock as l, Mail as u, Plug as d, Save as f, Server as p, Shield as m, Smartphone as h } from "lucide-react";
|
|
6
6
|
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
7
|
+
import { EmphasisPanel as v, NextSteps as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
|
|
7
8
|
//#region src/kadaikodi/pages/admin/AdminSettingsPage.tsx
|
|
8
|
-
function
|
|
9
|
-
let { navigateTo:
|
|
9
|
+
function x() {
|
|
10
|
+
let { navigateTo: x } = e(), [S, C] = r(!1), [w, T] = r("general"), [E, D] = r({
|
|
10
11
|
general: {
|
|
11
12
|
siteName: "Kadaikodi",
|
|
12
13
|
siteUrl: "https://kadaikodi.com",
|
|
@@ -45,18 +46,18 @@ function v() {
|
|
|
45
46
|
paymentGateway: "razorpay",
|
|
46
47
|
analyticsService: "google"
|
|
47
48
|
}
|
|
48
|
-
}),
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
|
|
49
|
+
}), O = async () => {
|
|
50
|
+
C(!0), await new Promise((e) => setTimeout(e, 1e3)), alert("Settings saved successfully"), C(!1);
|
|
51
|
+
}, k = (e, t, n) => {
|
|
52
|
+
D((r) => ({
|
|
52
53
|
...r,
|
|
53
54
|
[e]: {
|
|
54
55
|
...r[e],
|
|
55
56
|
[t]: n
|
|
56
57
|
}
|
|
57
58
|
}));
|
|
58
|
-
},
|
|
59
|
-
|
|
59
|
+
}, A = (e, t, n, r) => {
|
|
60
|
+
D((i) => ({
|
|
60
61
|
...i,
|
|
61
62
|
[e]: {
|
|
62
63
|
...i[e],
|
|
@@ -66,7 +67,7 @@ function v() {
|
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
}));
|
|
69
|
-
},
|
|
70
|
+
}, j = [
|
|
70
71
|
{
|
|
71
72
|
id: "general",
|
|
72
73
|
label: "General",
|
|
@@ -92,83 +93,110 @@ function v() {
|
|
|
92
93
|
label: "Integrations",
|
|
93
94
|
icon: d
|
|
94
95
|
}
|
|
95
|
-
],
|
|
96
|
-
return /* @__PURE__ */
|
|
96
|
+
], M = "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]", N = "block text-sm font-medium text-text-secondary mb-2";
|
|
97
|
+
return /* @__PURE__ */ _(n, {
|
|
97
98
|
title: "System Settings",
|
|
98
99
|
description: "Configure platform-wide settings and policies",
|
|
99
100
|
actions: /* @__PURE__ */ _("div", {
|
|
100
101
|
className: "flex items-center gap-2",
|
|
101
102
|
children: [/* @__PURE__ */ _("button", {
|
|
102
103
|
type: "button",
|
|
103
|
-
onClick: () =>
|
|
104
|
+
onClick: () => x("/admin"),
|
|
104
105
|
className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
105
106
|
children: [/* @__PURE__ */ g(i, { className: "h-4 w-4" }), " Back"]
|
|
106
107
|
}), /* @__PURE__ */ _("button", {
|
|
107
108
|
type: "button",
|
|
108
|
-
onClick:
|
|
109
|
-
disabled:
|
|
109
|
+
onClick: O,
|
|
110
|
+
disabled: S,
|
|
110
111
|
className: "flex items-center gap-1.5 rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50",
|
|
111
112
|
children: [
|
|
112
113
|
/* @__PURE__ */ g(f, { className: "h-4 w-4" }),
|
|
113
114
|
" ",
|
|
114
|
-
|
|
115
|
+
S ? "Saving..." : "Save Settings"
|
|
115
116
|
]
|
|
116
117
|
})]
|
|
117
118
|
}),
|
|
118
|
-
children:
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
children: [
|
|
120
|
+
/* @__PURE__ */ g(b, {
|
|
121
|
+
className: "mb-6",
|
|
122
|
+
children: "The control panel for how the whole Kadaikodi platform behaves. Use these settings to set platform-wide policies — branding and locale, security and login rules, the notifications the system sends, database/backups, and third-party integrations. Changes here affect every user, so review carefully and Save when done."
|
|
123
|
+
}),
|
|
124
|
+
/* @__PURE__ */ g(y, {
|
|
125
|
+
storageKey: "kadaikodi-admin-settings",
|
|
126
|
+
className: "mb-6",
|
|
127
|
+
steps: [
|
|
128
|
+
{
|
|
129
|
+
id: "security",
|
|
130
|
+
label: "Review security policies",
|
|
131
|
+
description: "Check login, password and session rules.",
|
|
132
|
+
onClick: () => T("security")
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "notifications",
|
|
136
|
+
label: "Tune platform notifications",
|
|
137
|
+
description: "Decide which alerts the system sends out.",
|
|
138
|
+
onClick: () => T("notifications")
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "integrations",
|
|
142
|
+
label: "Connect integrations",
|
|
143
|
+
description: "Wire up payment, SMS and analytics providers.",
|
|
144
|
+
onClick: () => T("integrations")
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ _("div", {
|
|
149
|
+
className: "flex flex-col lg:flex-row gap-6",
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ g("div", {
|
|
152
|
+
className: "lg:hidden",
|
|
125
153
|
children: /* @__PURE__ */ g("div", {
|
|
126
|
-
className: "
|
|
127
|
-
children:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
154
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 mb-4",
|
|
155
|
+
children: /* @__PURE__ */ g("div", {
|
|
156
|
+
className: "grid grid-cols-2 sm:grid-cols-3 gap-2",
|
|
157
|
+
children: j.map((e) => {
|
|
158
|
+
let n = e.icon;
|
|
159
|
+
return /* @__PURE__ */ _("button", {
|
|
160
|
+
type: "button",
|
|
161
|
+
onClick: () => T(e.id),
|
|
162
|
+
className: t("flex items-center justify-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors", w === e.id ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary hover:bg-bg-sunken/80"),
|
|
163
|
+
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", { children: e.label })]
|
|
164
|
+
}, e.id);
|
|
165
|
+
})
|
|
135
166
|
})
|
|
136
167
|
})
|
|
137
|
-
})
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
})
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
})
|
|
161
|
-
}
|
|
162
|
-
})
|
|
163
|
-
})
|
|
164
|
-
})
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
|
|
170
|
-
children: [
|
|
171
|
-
x === "general" && /* @__PURE__ */ _("div", {
|
|
168
|
+
}),
|
|
169
|
+
/* @__PURE__ */ g("div", {
|
|
170
|
+
className: "hidden lg:block lg:w-64 lg:shrink-0",
|
|
171
|
+
children: /* @__PURE__ */ _("div", {
|
|
172
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface sticky top-24",
|
|
173
|
+
children: [/* @__PURE__ */ g("div", {
|
|
174
|
+
className: "p-4 border-b border-border-subtle",
|
|
175
|
+
children: /* @__PURE__ */ g("h2", {
|
|
176
|
+
className: "font-semibold text-text-primary",
|
|
177
|
+
children: "Settings"
|
|
178
|
+
})
|
|
179
|
+
}), /* @__PURE__ */ g("nav", {
|
|
180
|
+
className: "p-2",
|
|
181
|
+
children: j.map((e) => {
|
|
182
|
+
let n = e.icon;
|
|
183
|
+
return /* @__PURE__ */ _("button", {
|
|
184
|
+
type: "button",
|
|
185
|
+
onClick: () => T(e.id),
|
|
186
|
+
className: t("w-full text-left px-3 py-2 rounded-lg mb-1 flex items-center gap-3 transition-colors", w === e.id ? "bg-action-primary-bg/10 text-primary font-medium" : "text-text-primary hover:bg-bg-sunken"),
|
|
187
|
+
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", {
|
|
188
|
+
className: "text-sm",
|
|
189
|
+
children: e.label
|
|
190
|
+
})]
|
|
191
|
+
}, e.id);
|
|
192
|
+
})
|
|
193
|
+
})]
|
|
194
|
+
})
|
|
195
|
+
}),
|
|
196
|
+
/* @__PURE__ */ g("div", {
|
|
197
|
+
className: "flex-1 min-w-0",
|
|
198
|
+
children: /* @__PURE__ */ _(v, { children: [
|
|
199
|
+
w === "general" && /* @__PURE__ */ _("div", {
|
|
172
200
|
className: "space-y-6",
|
|
173
201
|
children: [
|
|
174
202
|
/* @__PURE__ */ _("div", {
|
|
@@ -182,30 +210,30 @@ function v() {
|
|
|
182
210
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
183
211
|
children: [
|
|
184
212
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
185
|
-
className:
|
|
213
|
+
className: N,
|
|
186
214
|
children: "Site Name"
|
|
187
215
|
}), /* @__PURE__ */ g("input", {
|
|
188
216
|
type: "text",
|
|
189
|
-
value:
|
|
190
|
-
onChange: (e) =>
|
|
191
|
-
className:
|
|
217
|
+
value: E.general.siteName,
|
|
218
|
+
onChange: (e) => k("general", "siteName", e.target.value),
|
|
219
|
+
className: M
|
|
192
220
|
})] }),
|
|
193
221
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
194
|
-
className:
|
|
222
|
+
className: N,
|
|
195
223
|
children: "Site URL"
|
|
196
224
|
}), /* @__PURE__ */ g("input", {
|
|
197
225
|
type: "text",
|
|
198
|
-
value:
|
|
199
|
-
onChange: (e) =>
|
|
200
|
-
className:
|
|
226
|
+
value: E.general.siteUrl,
|
|
227
|
+
onChange: (e) => k("general", "siteUrl", e.target.value),
|
|
228
|
+
className: M
|
|
201
229
|
})] }),
|
|
202
230
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
203
|
-
className:
|
|
231
|
+
className: N,
|
|
204
232
|
children: "Timezone"
|
|
205
233
|
}), /* @__PURE__ */ _("select", {
|
|
206
|
-
value:
|
|
207
|
-
onChange: (e) =>
|
|
208
|
-
className:
|
|
234
|
+
value: E.general.timezone,
|
|
235
|
+
onChange: (e) => k("general", "timezone", e.target.value),
|
|
236
|
+
className: M,
|
|
209
237
|
children: [
|
|
210
238
|
/* @__PURE__ */ g("option", {
|
|
211
239
|
value: "Asia/Kolkata",
|
|
@@ -222,12 +250,12 @@ function v() {
|
|
|
222
250
|
]
|
|
223
251
|
})] }),
|
|
224
252
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
225
|
-
className:
|
|
253
|
+
className: N,
|
|
226
254
|
children: "Currency"
|
|
227
255
|
}), /* @__PURE__ */ _("select", {
|
|
228
|
-
value:
|
|
229
|
-
onChange: (e) =>
|
|
230
|
-
className:
|
|
256
|
+
value: E.general.currency,
|
|
257
|
+
onChange: (e) => k("general", "currency", e.target.value),
|
|
258
|
+
className: M,
|
|
231
259
|
children: [
|
|
232
260
|
/* @__PURE__ */ g("option", {
|
|
233
261
|
value: "INR",
|
|
@@ -244,12 +272,12 @@ function v() {
|
|
|
244
272
|
]
|
|
245
273
|
})] }),
|
|
246
274
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
247
|
-
className:
|
|
275
|
+
className: N,
|
|
248
276
|
children: "Language"
|
|
249
277
|
}), /* @__PURE__ */ _("select", {
|
|
250
|
-
value:
|
|
251
|
-
onChange: (e) =>
|
|
252
|
-
className:
|
|
278
|
+
value: E.general.language,
|
|
279
|
+
onChange: (e) => k("general", "language", e.target.value),
|
|
280
|
+
className: M,
|
|
253
281
|
children: [
|
|
254
282
|
/* @__PURE__ */ g("option", {
|
|
255
283
|
value: "en",
|
|
@@ -266,12 +294,12 @@ function v() {
|
|
|
266
294
|
]
|
|
267
295
|
})] }),
|
|
268
296
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
269
|
-
className:
|
|
297
|
+
className: N,
|
|
270
298
|
children: "Date Format"
|
|
271
299
|
}), /* @__PURE__ */ _("select", {
|
|
272
|
-
value:
|
|
273
|
-
onChange: (e) =>
|
|
274
|
-
className:
|
|
300
|
+
value: E.general.dateFormat,
|
|
301
|
+
onChange: (e) => k("general", "dateFormat", e.target.value),
|
|
302
|
+
className: M,
|
|
275
303
|
children: [
|
|
276
304
|
/* @__PURE__ */ g("option", {
|
|
277
305
|
value: "DD/MM/YYYY",
|
|
@@ -293,8 +321,8 @@ function v() {
|
|
|
293
321
|
className: "flex items-center gap-2 mt-4",
|
|
294
322
|
children: [/* @__PURE__ */ g("input", {
|
|
295
323
|
type: "checkbox",
|
|
296
|
-
checked:
|
|
297
|
-
onChange: (e) =>
|
|
324
|
+
checked: E.general.maintenanceMode,
|
|
325
|
+
onChange: (e) => k("general", "maintenanceMode", e.target.checked),
|
|
298
326
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
299
327
|
}), /* @__PURE__ */ g("span", {
|
|
300
328
|
className: "text-sm text-text-primary",
|
|
@@ -303,7 +331,7 @@ function v() {
|
|
|
303
331
|
})
|
|
304
332
|
]
|
|
305
333
|
}),
|
|
306
|
-
|
|
334
|
+
w === "security" && /* @__PURE__ */ _("div", {
|
|
307
335
|
className: "space-y-6",
|
|
308
336
|
children: [
|
|
309
337
|
/* @__PURE__ */ _("div", {
|
|
@@ -321,25 +349,25 @@ function v() {
|
|
|
321
349
|
/* @__PURE__ */ _("div", {
|
|
322
350
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
323
351
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
324
|
-
className:
|
|
352
|
+
className: N,
|
|
325
353
|
children: "Minimum Length"
|
|
326
354
|
}), /* @__PURE__ */ g("input", {
|
|
327
355
|
type: "number",
|
|
328
|
-
value:
|
|
329
|
-
onChange: (e) =>
|
|
356
|
+
value: E.security.passwordPolicy.minLength,
|
|
357
|
+
onChange: (e) => A("security", "passwordPolicy", "minLength", parseInt(e.target.value)),
|
|
330
358
|
min: 6,
|
|
331
359
|
max: 50,
|
|
332
|
-
className:
|
|
360
|
+
className: M
|
|
333
361
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
334
|
-
className:
|
|
362
|
+
className: N,
|
|
335
363
|
children: "Session Timeout (minutes)"
|
|
336
364
|
}), /* @__PURE__ */ g("input", {
|
|
337
365
|
type: "number",
|
|
338
|
-
value:
|
|
339
|
-
onChange: (e) =>
|
|
366
|
+
value: E.security.sessionTimeout,
|
|
367
|
+
onChange: (e) => k("security", "sessionTimeout", parseInt(e.target.value)),
|
|
340
368
|
min: 15,
|
|
341
369
|
max: 480,
|
|
342
|
-
className:
|
|
370
|
+
className: M
|
|
343
371
|
})] })]
|
|
344
372
|
}),
|
|
345
373
|
/* @__PURE__ */ _("div", {
|
|
@@ -349,8 +377,8 @@ function v() {
|
|
|
349
377
|
className: "flex items-center gap-2",
|
|
350
378
|
children: [/* @__PURE__ */ g("input", {
|
|
351
379
|
type: "checkbox",
|
|
352
|
-
checked:
|
|
353
|
-
onChange: (e) =>
|
|
380
|
+
checked: E.security.passwordPolicy.requireUppercase,
|
|
381
|
+
onChange: (e) => A("security", "passwordPolicy", "requireUppercase", e.target.checked),
|
|
354
382
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
355
383
|
}), /* @__PURE__ */ g("span", {
|
|
356
384
|
className: "text-sm text-text-primary",
|
|
@@ -361,8 +389,8 @@ function v() {
|
|
|
361
389
|
className: "flex items-center gap-2",
|
|
362
390
|
children: [/* @__PURE__ */ g("input", {
|
|
363
391
|
type: "checkbox",
|
|
364
|
-
checked:
|
|
365
|
-
onChange: (e) =>
|
|
392
|
+
checked: E.security.passwordPolicy.requireNumbers,
|
|
393
|
+
onChange: (e) => A("security", "passwordPolicy", "requireNumbers", e.target.checked),
|
|
366
394
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
367
395
|
}), /* @__PURE__ */ g("span", {
|
|
368
396
|
className: "text-sm text-text-primary",
|
|
@@ -373,8 +401,8 @@ function v() {
|
|
|
373
401
|
className: "flex items-center gap-2",
|
|
374
402
|
children: [/* @__PURE__ */ g("input", {
|
|
375
403
|
type: "checkbox",
|
|
376
|
-
checked:
|
|
377
|
-
onChange: (e) =>
|
|
404
|
+
checked: E.security.passwordPolicy.requireSymbols,
|
|
405
|
+
onChange: (e) => A("security", "passwordPolicy", "requireSymbols", e.target.checked),
|
|
378
406
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
379
407
|
}), /* @__PURE__ */ g("span", {
|
|
380
408
|
className: "text-sm text-text-primary",
|
|
@@ -385,8 +413,8 @@ function v() {
|
|
|
385
413
|
className: "flex items-center gap-2",
|
|
386
414
|
children: [/* @__PURE__ */ g("input", {
|
|
387
415
|
type: "checkbox",
|
|
388
|
-
checked:
|
|
389
|
-
onChange: (e) =>
|
|
416
|
+
checked: E.security.twoFactorAuth,
|
|
417
|
+
onChange: (e) => k("security", "twoFactorAuth", e.target.checked),
|
|
390
418
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
391
419
|
}), /* @__PURE__ */ g("span", {
|
|
392
420
|
className: "text-sm text-text-primary",
|
|
@@ -397,19 +425,19 @@ function v() {
|
|
|
397
425
|
})
|
|
398
426
|
] }),
|
|
399
427
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
400
|
-
className:
|
|
428
|
+
className: N,
|
|
401
429
|
children: "Max Login Attempts"
|
|
402
430
|
}), /* @__PURE__ */ g("input", {
|
|
403
431
|
type: "number",
|
|
404
|
-
value:
|
|
405
|
-
onChange: (e) =>
|
|
432
|
+
value: E.security.maxLoginAttempts,
|
|
433
|
+
onChange: (e) => k("security", "maxLoginAttempts", parseInt(e.target.value)),
|
|
406
434
|
min: 1,
|
|
407
435
|
max: 20,
|
|
408
|
-
className: t(
|
|
436
|
+
className: t(M, "max-w-xs")
|
|
409
437
|
})] })
|
|
410
438
|
]
|
|
411
439
|
}),
|
|
412
|
-
|
|
440
|
+
w === "notifications" && /* @__PURE__ */ _("div", {
|
|
413
441
|
className: "space-y-6",
|
|
414
442
|
children: [/* @__PURE__ */ _("div", {
|
|
415
443
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -447,8 +475,8 @@ function v() {
|
|
|
447
475
|
children: [
|
|
448
476
|
/* @__PURE__ */ g("input", {
|
|
449
477
|
type: "checkbox",
|
|
450
|
-
checked:
|
|
451
|
-
onChange: (t) =>
|
|
478
|
+
checked: E.notifications[e.key],
|
|
479
|
+
onChange: (t) => k("notifications", e.key, t.target.checked),
|
|
452
480
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
453
481
|
}),
|
|
454
482
|
/* @__PURE__ */ g(t, { className: "h-5 w-5 text-text-secondary" }),
|
|
@@ -461,7 +489,7 @@ function v() {
|
|
|
461
489
|
})
|
|
462
490
|
})]
|
|
463
491
|
}),
|
|
464
|
-
|
|
492
|
+
w === "database" && /* @__PURE__ */ _("div", {
|
|
465
493
|
className: "space-y-6",
|
|
466
494
|
children: [
|
|
467
495
|
/* @__PURE__ */ _("div", {
|
|
@@ -474,12 +502,12 @@ function v() {
|
|
|
474
502
|
/* @__PURE__ */ _("div", {
|
|
475
503
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
476
504
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
477
|
-
className:
|
|
505
|
+
className: N,
|
|
478
506
|
children: "Backup Frequency"
|
|
479
507
|
}), /* @__PURE__ */ _("select", {
|
|
480
|
-
value:
|
|
481
|
-
onChange: (e) =>
|
|
482
|
-
className:
|
|
508
|
+
value: E.database.backupFrequency,
|
|
509
|
+
onChange: (e) => k("database", "backupFrequency", e.target.value),
|
|
510
|
+
className: M,
|
|
483
511
|
children: [
|
|
484
512
|
/* @__PURE__ */ g("option", {
|
|
485
513
|
value: "hourly",
|
|
@@ -499,23 +527,23 @@ function v() {
|
|
|
499
527
|
})
|
|
500
528
|
]
|
|
501
529
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
502
|
-
className:
|
|
530
|
+
className: N,
|
|
503
531
|
children: "Retention Period (days)"
|
|
504
532
|
}), /* @__PURE__ */ g("input", {
|
|
505
533
|
type: "number",
|
|
506
|
-
value:
|
|
507
|
-
onChange: (e) =>
|
|
534
|
+
value: E.database.retentionPeriod,
|
|
535
|
+
onChange: (e) => k("database", "retentionPeriod", parseInt(e.target.value)),
|
|
508
536
|
min: 7,
|
|
509
537
|
max: 365,
|
|
510
|
-
className:
|
|
538
|
+
className: M
|
|
511
539
|
})] })]
|
|
512
540
|
}),
|
|
513
541
|
/* @__PURE__ */ _("label", {
|
|
514
542
|
className: "flex items-center gap-2",
|
|
515
543
|
children: [/* @__PURE__ */ g("input", {
|
|
516
544
|
type: "checkbox",
|
|
517
|
-
checked:
|
|
518
|
-
onChange: (e) =>
|
|
545
|
+
checked: E.database.autoBackup,
|
|
546
|
+
onChange: (e) => k("database", "autoBackup", e.target.checked),
|
|
519
547
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
520
548
|
}), /* @__PURE__ */ g("span", {
|
|
521
549
|
className: "text-sm text-text-primary",
|
|
@@ -529,12 +557,12 @@ function v() {
|
|
|
529
557
|
children: "Last Backup"
|
|
530
558
|
}), /* @__PURE__ */ g("p", {
|
|
531
559
|
className: "text-sm font-medium text-text-primary",
|
|
532
|
-
children: new Date(
|
|
560
|
+
children: new Date(E.database.lastBackup).toLocaleString("en-IN")
|
|
533
561
|
})]
|
|
534
562
|
})
|
|
535
563
|
]
|
|
536
564
|
}),
|
|
537
|
-
|
|
565
|
+
w === "integrations" && /* @__PURE__ */ _("div", {
|
|
538
566
|
className: "space-y-6",
|
|
539
567
|
children: [/* @__PURE__ */ _("div", {
|
|
540
568
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -546,12 +574,12 @@ function v() {
|
|
|
546
574
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
547
575
|
children: [
|
|
548
576
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
549
|
-
className:
|
|
577
|
+
className: N,
|
|
550
578
|
children: "Email Service"
|
|
551
579
|
}), /* @__PURE__ */ _("select", {
|
|
552
|
-
value:
|
|
553
|
-
onChange: (e) =>
|
|
554
|
-
className:
|
|
580
|
+
value: E.integrations.emailService,
|
|
581
|
+
onChange: (e) => k("integrations", "emailService", e.target.value),
|
|
582
|
+
className: M,
|
|
555
583
|
children: [
|
|
556
584
|
/* @__PURE__ */ g("option", {
|
|
557
585
|
value: "sendgrid",
|
|
@@ -568,12 +596,12 @@ function v() {
|
|
|
568
596
|
]
|
|
569
597
|
})] }),
|
|
570
598
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
571
|
-
className:
|
|
599
|
+
className: N,
|
|
572
600
|
children: "SMS Service"
|
|
573
601
|
}), /* @__PURE__ */ _("select", {
|
|
574
|
-
value:
|
|
575
|
-
onChange: (e) =>
|
|
576
|
-
className:
|
|
602
|
+
value: E.integrations.smsService,
|
|
603
|
+
onChange: (e) => k("integrations", "smsService", e.target.value),
|
|
604
|
+
className: M,
|
|
577
605
|
children: [
|
|
578
606
|
/* @__PURE__ */ g("option", {
|
|
579
607
|
value: "twilio",
|
|
@@ -590,12 +618,12 @@ function v() {
|
|
|
590
618
|
]
|
|
591
619
|
})] }),
|
|
592
620
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
593
|
-
className:
|
|
621
|
+
className: N,
|
|
594
622
|
children: "Payment Gateway"
|
|
595
623
|
}), /* @__PURE__ */ _("select", {
|
|
596
|
-
value:
|
|
597
|
-
onChange: (e) =>
|
|
598
|
-
className:
|
|
624
|
+
value: E.integrations.paymentGateway,
|
|
625
|
+
onChange: (e) => k("integrations", "paymentGateway", e.target.value),
|
|
626
|
+
className: M,
|
|
599
627
|
children: [
|
|
600
628
|
/* @__PURE__ */ g("option", {
|
|
601
629
|
value: "razorpay",
|
|
@@ -612,12 +640,12 @@ function v() {
|
|
|
612
640
|
]
|
|
613
641
|
})] }),
|
|
614
642
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
615
|
-
className:
|
|
643
|
+
className: N,
|
|
616
644
|
children: "Analytics Service"
|
|
617
645
|
}), /* @__PURE__ */ _("select", {
|
|
618
|
-
value:
|
|
619
|
-
onChange: (e) =>
|
|
620
|
-
className:
|
|
646
|
+
value: E.integrations.analyticsService,
|
|
647
|
+
onChange: (e) => k("integrations", "analyticsService", e.target.value),
|
|
648
|
+
className: M,
|
|
621
649
|
children: [
|
|
622
650
|
/* @__PURE__ */ g("option", {
|
|
623
651
|
value: "google",
|
|
@@ -636,14 +664,14 @@ function v() {
|
|
|
636
664
|
]
|
|
637
665
|
})]
|
|
638
666
|
})
|
|
639
|
-
]
|
|
667
|
+
] })
|
|
640
668
|
})
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
669
|
+
]
|
|
670
|
+
})
|
|
671
|
+
]
|
|
644
672
|
});
|
|
645
673
|
}
|
|
646
674
|
//#endregion
|
|
647
|
-
export {
|
|
675
|
+
export { x as AdminSettingsPage };
|
|
648
676
|
|
|
649
677
|
//# sourceMappingURL=AdminSettingsPage.js.map
|