@burdenoff/microfe-atheletebridge 2026.624.1 → 2026.625.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atheletebridge/components/EmptyState.js +18 -11
- package/dist/atheletebridge/components/EmptyState.js.map +1 -1
- package/dist/atheletebridge/components/InvestmentCard.js +7 -7
- package/dist/atheletebridge/components/InvestmentCard.js.map +1 -1
- package/dist/atheletebridge/components/MetricsCard.js +20 -14
- package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
- package/dist/atheletebridge/components/PageLayout.js +30 -19
- package/dist/atheletebridge/components/PageLayout.js.map +1 -1
- package/dist/atheletebridge/pages/HomePage.js +210 -195
- package/dist/atheletebridge/pages/HomePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
- package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
- package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
- package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
- package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js +100 -91
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
- package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +365 -356
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDetailPage.js +277 -241
- package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +261 -250
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
- package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +524 -512
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/FavoritesPage.js +84 -75
- package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +117 -108
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +66 -61
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +81 -75
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/ReviewsPage.js +81 -72
- package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +63 -55
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +90 -84
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +38 -32
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +353 -319
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +134 -128
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -342
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -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, PagePurpose as y } from "@burdenoff/fe-libs/ui";
|
|
7
8
|
//#region src/atheletebridge/pages/admin/AdminSettingsPage.tsx
|
|
8
|
-
function
|
|
9
|
-
let { navigateTo:
|
|
9
|
+
function b() {
|
|
10
|
+
let { navigateTo: b } = e(), [x, S] = r(!1), [C, w] = r("general"), [T, E] = r({
|
|
10
11
|
general: {
|
|
11
12
|
siteName: "AthleteBridge",
|
|
12
13
|
siteUrl: "https://atheletebridge.com",
|
|
@@ -45,18 +46,18 @@ function v() {
|
|
|
45
46
|
paymentGateway: "razorpay",
|
|
46
47
|
analyticsService: "google"
|
|
47
48
|
}
|
|
48
|
-
}),
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
|
|
49
|
+
}), D = async () => {
|
|
50
|
+
S(!0), await new Promise((e) => setTimeout(e, 1e3)), alert("Settings saved successfully"), S(!1);
|
|
51
|
+
}, O = (e, t, n) => {
|
|
52
|
+
E((r) => ({
|
|
52
53
|
...r,
|
|
53
54
|
[e]: {
|
|
54
55
|
...r[e],
|
|
55
56
|
[t]: n
|
|
56
57
|
}
|
|
57
58
|
}));
|
|
58
|
-
},
|
|
59
|
-
|
|
59
|
+
}, k = (e, t, n, r) => {
|
|
60
|
+
E((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
|
+
}, A = [
|
|
70
71
|
{
|
|
71
72
|
id: "general",
|
|
72
73
|
label: "General",
|
|
@@ -92,30 +93,33 @@ function v() {
|
|
|
92
93
|
label: "Integrations",
|
|
93
94
|
icon: d
|
|
94
95
|
}
|
|
95
|
-
],
|
|
96
|
-
return /* @__PURE__ */
|
|
96
|
+
], j = "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)]", M = "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: () => b("/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: D,
|
|
110
|
+
disabled: x,
|
|
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
|
+
x ? "Saving..." : "Save Settings"
|
|
115
116
|
]
|
|
116
117
|
})]
|
|
117
118
|
}),
|
|
118
|
-
children: /* @__PURE__ */
|
|
119
|
+
children: [/* @__PURE__ */ g(y, {
|
|
120
|
+
className: "mb-6",
|
|
121
|
+
children: "Configure how the whole platform behaves. Adjust general settings, commission and payment policies, notifications, security rules and more. Changes here apply platform-wide, so review carefully and save when you're done."
|
|
122
|
+
}), /* @__PURE__ */ _("div", {
|
|
119
123
|
className: "flex flex-col lg:flex-row gap-6",
|
|
120
124
|
children: [
|
|
121
125
|
/* @__PURE__ */ g("div", {
|
|
@@ -124,12 +128,12 @@ function v() {
|
|
|
124
128
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 mb-4",
|
|
125
129
|
children: /* @__PURE__ */ g("div", {
|
|
126
130
|
className: "grid grid-cols-2 sm:grid-cols-3 gap-2",
|
|
127
|
-
children:
|
|
131
|
+
children: A.map((e) => {
|
|
128
132
|
let n = e.icon;
|
|
129
133
|
return /* @__PURE__ */ _("button", {
|
|
130
134
|
type: "button",
|
|
131
|
-
onClick: () =>
|
|
132
|
-
className: t("flex items-center justify-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors",
|
|
135
|
+
onClick: () => w(e.id),
|
|
136
|
+
className: t("flex items-center justify-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors", C === e.id ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary hover:bg-bg-sunken/80"),
|
|
133
137
|
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", { children: e.label })]
|
|
134
138
|
}, e.id);
|
|
135
139
|
})
|
|
@@ -138,8 +142,8 @@ function v() {
|
|
|
138
142
|
}),
|
|
139
143
|
/* @__PURE__ */ g("div", {
|
|
140
144
|
className: "hidden lg:block lg:w-64 lg:shrink-0",
|
|
141
|
-
children: /* @__PURE__ */ _(
|
|
142
|
-
className: "
|
|
145
|
+
children: /* @__PURE__ */ _(v, {
|
|
146
|
+
className: "sticky top-24 p-0 overflow-hidden",
|
|
143
147
|
children: [/* @__PURE__ */ g("div", {
|
|
144
148
|
className: "p-4 border-b border-border-subtle",
|
|
145
149
|
children: /* @__PURE__ */ g("h2", {
|
|
@@ -148,12 +152,12 @@ function v() {
|
|
|
148
152
|
})
|
|
149
153
|
}), /* @__PURE__ */ g("nav", {
|
|
150
154
|
className: "p-2",
|
|
151
|
-
children:
|
|
155
|
+
children: A.map((e) => {
|
|
152
156
|
let n = e.icon;
|
|
153
157
|
return /* @__PURE__ */ _("button", {
|
|
154
158
|
type: "button",
|
|
155
|
-
onClick: () =>
|
|
156
|
-
className: t("w-full text-left px-3 py-2 rounded-lg mb-1 flex items-center gap-3 transition-colors",
|
|
159
|
+
onClick: () => w(e.id),
|
|
160
|
+
className: t("w-full text-left px-3 py-2 rounded-lg mb-1 flex items-center gap-3 transition-colors", C === e.id ? "bg-action-primary-bg/10 text-primary font-medium" : "text-text-primary hover:bg-bg-sunken"),
|
|
157
161
|
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", {
|
|
158
162
|
className: "text-sm",
|
|
159
163
|
children: e.label
|
|
@@ -168,7 +172,7 @@ function v() {
|
|
|
168
172
|
children: /* @__PURE__ */ _("div", {
|
|
169
173
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
|
|
170
174
|
children: [
|
|
171
|
-
|
|
175
|
+
C === "general" && /* @__PURE__ */ _("div", {
|
|
172
176
|
className: "space-y-6",
|
|
173
177
|
children: [
|
|
174
178
|
/* @__PURE__ */ _("div", {
|
|
@@ -182,30 +186,30 @@ function v() {
|
|
|
182
186
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
183
187
|
children: [
|
|
184
188
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
185
|
-
className:
|
|
189
|
+
className: M,
|
|
186
190
|
children: "Site Name"
|
|
187
191
|
}), /* @__PURE__ */ g("input", {
|
|
188
192
|
type: "text",
|
|
189
|
-
value:
|
|
190
|
-
onChange: (e) =>
|
|
191
|
-
className:
|
|
193
|
+
value: T.general.siteName,
|
|
194
|
+
onChange: (e) => O("general", "siteName", e.target.value),
|
|
195
|
+
className: j
|
|
192
196
|
})] }),
|
|
193
197
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
194
|
-
className:
|
|
198
|
+
className: M,
|
|
195
199
|
children: "Site URL"
|
|
196
200
|
}), /* @__PURE__ */ g("input", {
|
|
197
201
|
type: "text",
|
|
198
|
-
value:
|
|
199
|
-
onChange: (e) =>
|
|
200
|
-
className:
|
|
202
|
+
value: T.general.siteUrl,
|
|
203
|
+
onChange: (e) => O("general", "siteUrl", e.target.value),
|
|
204
|
+
className: j
|
|
201
205
|
})] }),
|
|
202
206
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
203
|
-
className:
|
|
207
|
+
className: M,
|
|
204
208
|
children: "Timezone"
|
|
205
209
|
}), /* @__PURE__ */ _("select", {
|
|
206
|
-
value:
|
|
207
|
-
onChange: (e) =>
|
|
208
|
-
className:
|
|
210
|
+
value: T.general.timezone,
|
|
211
|
+
onChange: (e) => O("general", "timezone", e.target.value),
|
|
212
|
+
className: j,
|
|
209
213
|
children: [
|
|
210
214
|
/* @__PURE__ */ g("option", {
|
|
211
215
|
value: "Asia/Kolkata",
|
|
@@ -222,12 +226,12 @@ function v() {
|
|
|
222
226
|
]
|
|
223
227
|
})] }),
|
|
224
228
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
225
|
-
className:
|
|
229
|
+
className: M,
|
|
226
230
|
children: "Currency"
|
|
227
231
|
}), /* @__PURE__ */ _("select", {
|
|
228
|
-
value:
|
|
229
|
-
onChange: (e) =>
|
|
230
|
-
className:
|
|
232
|
+
value: T.general.currency,
|
|
233
|
+
onChange: (e) => O("general", "currency", e.target.value),
|
|
234
|
+
className: j,
|
|
231
235
|
children: [
|
|
232
236
|
/* @__PURE__ */ g("option", {
|
|
233
237
|
value: "INR",
|
|
@@ -244,12 +248,12 @@ function v() {
|
|
|
244
248
|
]
|
|
245
249
|
})] }),
|
|
246
250
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
247
|
-
className:
|
|
251
|
+
className: M,
|
|
248
252
|
children: "Language"
|
|
249
253
|
}), /* @__PURE__ */ _("select", {
|
|
250
|
-
value:
|
|
251
|
-
onChange: (e) =>
|
|
252
|
-
className:
|
|
254
|
+
value: T.general.language,
|
|
255
|
+
onChange: (e) => O("general", "language", e.target.value),
|
|
256
|
+
className: j,
|
|
253
257
|
children: [
|
|
254
258
|
/* @__PURE__ */ g("option", {
|
|
255
259
|
value: "en",
|
|
@@ -266,12 +270,12 @@ function v() {
|
|
|
266
270
|
]
|
|
267
271
|
})] }),
|
|
268
272
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
269
|
-
className:
|
|
273
|
+
className: M,
|
|
270
274
|
children: "Date Format"
|
|
271
275
|
}), /* @__PURE__ */ _("select", {
|
|
272
|
-
value:
|
|
273
|
-
onChange: (e) =>
|
|
274
|
-
className:
|
|
276
|
+
value: T.general.dateFormat,
|
|
277
|
+
onChange: (e) => O("general", "dateFormat", e.target.value),
|
|
278
|
+
className: j,
|
|
275
279
|
children: [
|
|
276
280
|
/* @__PURE__ */ g("option", {
|
|
277
281
|
value: "DD/MM/YYYY",
|
|
@@ -293,8 +297,8 @@ function v() {
|
|
|
293
297
|
className: "flex items-center gap-2 mt-4",
|
|
294
298
|
children: [/* @__PURE__ */ g("input", {
|
|
295
299
|
type: "checkbox",
|
|
296
|
-
checked:
|
|
297
|
-
onChange: (e) =>
|
|
300
|
+
checked: T.general.maintenanceMode,
|
|
301
|
+
onChange: (e) => O("general", "maintenanceMode", e.target.checked),
|
|
298
302
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
299
303
|
}), /* @__PURE__ */ g("span", {
|
|
300
304
|
className: "text-sm text-text-primary",
|
|
@@ -303,7 +307,7 @@ function v() {
|
|
|
303
307
|
})
|
|
304
308
|
]
|
|
305
309
|
}),
|
|
306
|
-
|
|
310
|
+
C === "security" && /* @__PURE__ */ _("div", {
|
|
307
311
|
className: "space-y-6",
|
|
308
312
|
children: [
|
|
309
313
|
/* @__PURE__ */ _("div", {
|
|
@@ -321,25 +325,25 @@ function v() {
|
|
|
321
325
|
/* @__PURE__ */ _("div", {
|
|
322
326
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
323
327
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
324
|
-
className:
|
|
328
|
+
className: M,
|
|
325
329
|
children: "Minimum Length"
|
|
326
330
|
}), /* @__PURE__ */ g("input", {
|
|
327
331
|
type: "number",
|
|
328
|
-
value:
|
|
329
|
-
onChange: (e) =>
|
|
332
|
+
value: T.security.passwordPolicy.minLength,
|
|
333
|
+
onChange: (e) => k("security", "passwordPolicy", "minLength", parseInt(e.target.value)),
|
|
330
334
|
min: 6,
|
|
331
335
|
max: 50,
|
|
332
|
-
className:
|
|
336
|
+
className: j
|
|
333
337
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
334
|
-
className:
|
|
338
|
+
className: M,
|
|
335
339
|
children: "Session Timeout (minutes)"
|
|
336
340
|
}), /* @__PURE__ */ g("input", {
|
|
337
341
|
type: "number",
|
|
338
|
-
value:
|
|
339
|
-
onChange: (e) =>
|
|
342
|
+
value: T.security.sessionTimeout,
|
|
343
|
+
onChange: (e) => O("security", "sessionTimeout", parseInt(e.target.value)),
|
|
340
344
|
min: 15,
|
|
341
345
|
max: 480,
|
|
342
|
-
className:
|
|
346
|
+
className: j
|
|
343
347
|
})] })]
|
|
344
348
|
}),
|
|
345
349
|
/* @__PURE__ */ _("div", {
|
|
@@ -349,8 +353,8 @@ function v() {
|
|
|
349
353
|
className: "flex items-center gap-2",
|
|
350
354
|
children: [/* @__PURE__ */ g("input", {
|
|
351
355
|
type: "checkbox",
|
|
352
|
-
checked:
|
|
353
|
-
onChange: (e) =>
|
|
356
|
+
checked: T.security.passwordPolicy.requireUppercase,
|
|
357
|
+
onChange: (e) => k("security", "passwordPolicy", "requireUppercase", e.target.checked),
|
|
354
358
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
355
359
|
}), /* @__PURE__ */ g("span", {
|
|
356
360
|
className: "text-sm text-text-primary",
|
|
@@ -361,8 +365,8 @@ function v() {
|
|
|
361
365
|
className: "flex items-center gap-2",
|
|
362
366
|
children: [/* @__PURE__ */ g("input", {
|
|
363
367
|
type: "checkbox",
|
|
364
|
-
checked:
|
|
365
|
-
onChange: (e) =>
|
|
368
|
+
checked: T.security.passwordPolicy.requireNumbers,
|
|
369
|
+
onChange: (e) => k("security", "passwordPolicy", "requireNumbers", e.target.checked),
|
|
366
370
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
367
371
|
}), /* @__PURE__ */ g("span", {
|
|
368
372
|
className: "text-sm text-text-primary",
|
|
@@ -373,8 +377,8 @@ function v() {
|
|
|
373
377
|
className: "flex items-center gap-2",
|
|
374
378
|
children: [/* @__PURE__ */ g("input", {
|
|
375
379
|
type: "checkbox",
|
|
376
|
-
checked:
|
|
377
|
-
onChange: (e) =>
|
|
380
|
+
checked: T.security.passwordPolicy.requireSymbols,
|
|
381
|
+
onChange: (e) => k("security", "passwordPolicy", "requireSymbols", e.target.checked),
|
|
378
382
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
379
383
|
}), /* @__PURE__ */ g("span", {
|
|
380
384
|
className: "text-sm text-text-primary",
|
|
@@ -385,8 +389,8 @@ function v() {
|
|
|
385
389
|
className: "flex items-center gap-2",
|
|
386
390
|
children: [/* @__PURE__ */ g("input", {
|
|
387
391
|
type: "checkbox",
|
|
388
|
-
checked:
|
|
389
|
-
onChange: (e) =>
|
|
392
|
+
checked: T.security.twoFactorAuth,
|
|
393
|
+
onChange: (e) => O("security", "twoFactorAuth", e.target.checked),
|
|
390
394
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
391
395
|
}), /* @__PURE__ */ g("span", {
|
|
392
396
|
className: "text-sm text-text-primary",
|
|
@@ -397,19 +401,19 @@ function v() {
|
|
|
397
401
|
})
|
|
398
402
|
] }),
|
|
399
403
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
400
|
-
className:
|
|
404
|
+
className: M,
|
|
401
405
|
children: "Max Login Attempts"
|
|
402
406
|
}), /* @__PURE__ */ g("input", {
|
|
403
407
|
type: "number",
|
|
404
|
-
value:
|
|
405
|
-
onChange: (e) =>
|
|
408
|
+
value: T.security.maxLoginAttempts,
|
|
409
|
+
onChange: (e) => O("security", "maxLoginAttempts", parseInt(e.target.value)),
|
|
406
410
|
min: 1,
|
|
407
411
|
max: 20,
|
|
408
|
-
className: t(
|
|
412
|
+
className: t(j, "max-w-xs")
|
|
409
413
|
})] })
|
|
410
414
|
]
|
|
411
415
|
}),
|
|
412
|
-
|
|
416
|
+
C === "notifications" && /* @__PURE__ */ _("div", {
|
|
413
417
|
className: "space-y-6",
|
|
414
418
|
children: [/* @__PURE__ */ _("div", {
|
|
415
419
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -447,8 +451,8 @@ function v() {
|
|
|
447
451
|
children: [
|
|
448
452
|
/* @__PURE__ */ g("input", {
|
|
449
453
|
type: "checkbox",
|
|
450
|
-
checked:
|
|
451
|
-
onChange: (t) =>
|
|
454
|
+
checked: T.notifications[e.key],
|
|
455
|
+
onChange: (t) => O("notifications", e.key, t.target.checked),
|
|
452
456
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
453
457
|
}),
|
|
454
458
|
/* @__PURE__ */ g(t, { className: "h-5 w-5 text-text-secondary" }),
|
|
@@ -461,7 +465,7 @@ function v() {
|
|
|
461
465
|
})
|
|
462
466
|
})]
|
|
463
467
|
}),
|
|
464
|
-
|
|
468
|
+
C === "database" && /* @__PURE__ */ _("div", {
|
|
465
469
|
className: "space-y-6",
|
|
466
470
|
children: [
|
|
467
471
|
/* @__PURE__ */ _("div", {
|
|
@@ -474,12 +478,12 @@ function v() {
|
|
|
474
478
|
/* @__PURE__ */ _("div", {
|
|
475
479
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
476
480
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
477
|
-
className:
|
|
481
|
+
className: M,
|
|
478
482
|
children: "Backup Frequency"
|
|
479
483
|
}), /* @__PURE__ */ _("select", {
|
|
480
|
-
value:
|
|
481
|
-
onChange: (e) =>
|
|
482
|
-
className:
|
|
484
|
+
value: T.database.backupFrequency,
|
|
485
|
+
onChange: (e) => O("database", "backupFrequency", e.target.value),
|
|
486
|
+
className: j,
|
|
483
487
|
children: [
|
|
484
488
|
/* @__PURE__ */ g("option", {
|
|
485
489
|
value: "hourly",
|
|
@@ -499,23 +503,23 @@ function v() {
|
|
|
499
503
|
})
|
|
500
504
|
]
|
|
501
505
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
502
|
-
className:
|
|
506
|
+
className: M,
|
|
503
507
|
children: "Retention Period (days)"
|
|
504
508
|
}), /* @__PURE__ */ g("input", {
|
|
505
509
|
type: "number",
|
|
506
|
-
value:
|
|
507
|
-
onChange: (e) =>
|
|
510
|
+
value: T.database.retentionPeriod,
|
|
511
|
+
onChange: (e) => O("database", "retentionPeriod", parseInt(e.target.value)),
|
|
508
512
|
min: 7,
|
|
509
513
|
max: 365,
|
|
510
|
-
className:
|
|
514
|
+
className: j
|
|
511
515
|
})] })]
|
|
512
516
|
}),
|
|
513
517
|
/* @__PURE__ */ _("label", {
|
|
514
518
|
className: "flex items-center gap-2",
|
|
515
519
|
children: [/* @__PURE__ */ g("input", {
|
|
516
520
|
type: "checkbox",
|
|
517
|
-
checked:
|
|
518
|
-
onChange: (e) =>
|
|
521
|
+
checked: T.database.autoBackup,
|
|
522
|
+
onChange: (e) => O("database", "autoBackup", e.target.checked),
|
|
519
523
|
className: "rounded border-border-subtle text-primary focus:ring-primary"
|
|
520
524
|
}), /* @__PURE__ */ g("span", {
|
|
521
525
|
className: "text-sm text-text-primary",
|
|
@@ -529,12 +533,12 @@ function v() {
|
|
|
529
533
|
children: "Last Backup"
|
|
530
534
|
}), /* @__PURE__ */ g("p", {
|
|
531
535
|
className: "text-sm font-medium text-text-primary",
|
|
532
|
-
children: new Date(
|
|
536
|
+
children: new Date(T.database.lastBackup).toLocaleString("en-IN")
|
|
533
537
|
})]
|
|
534
538
|
})
|
|
535
539
|
]
|
|
536
540
|
}),
|
|
537
|
-
|
|
541
|
+
C === "integrations" && /* @__PURE__ */ _("div", {
|
|
538
542
|
className: "space-y-6",
|
|
539
543
|
children: [/* @__PURE__ */ _("div", {
|
|
540
544
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -546,12 +550,12 @@ function v() {
|
|
|
546
550
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
547
551
|
children: [
|
|
548
552
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
549
|
-
className:
|
|
553
|
+
className: M,
|
|
550
554
|
children: "Email Service"
|
|
551
555
|
}), /* @__PURE__ */ _("select", {
|
|
552
|
-
value:
|
|
553
|
-
onChange: (e) =>
|
|
554
|
-
className:
|
|
556
|
+
value: T.integrations.emailService,
|
|
557
|
+
onChange: (e) => O("integrations", "emailService", e.target.value),
|
|
558
|
+
className: j,
|
|
555
559
|
children: [
|
|
556
560
|
/* @__PURE__ */ g("option", {
|
|
557
561
|
value: "sendgrid",
|
|
@@ -568,12 +572,12 @@ function v() {
|
|
|
568
572
|
]
|
|
569
573
|
})] }),
|
|
570
574
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
571
|
-
className:
|
|
575
|
+
className: M,
|
|
572
576
|
children: "SMS Service"
|
|
573
577
|
}), /* @__PURE__ */ _("select", {
|
|
574
|
-
value:
|
|
575
|
-
onChange: (e) =>
|
|
576
|
-
className:
|
|
578
|
+
value: T.integrations.smsService,
|
|
579
|
+
onChange: (e) => O("integrations", "smsService", e.target.value),
|
|
580
|
+
className: j,
|
|
577
581
|
children: [
|
|
578
582
|
/* @__PURE__ */ g("option", {
|
|
579
583
|
value: "twilio",
|
|
@@ -590,12 +594,12 @@ function v() {
|
|
|
590
594
|
]
|
|
591
595
|
})] }),
|
|
592
596
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
593
|
-
className:
|
|
597
|
+
className: M,
|
|
594
598
|
children: "Payment Gateway"
|
|
595
599
|
}), /* @__PURE__ */ _("select", {
|
|
596
|
-
value:
|
|
597
|
-
onChange: (e) =>
|
|
598
|
-
className:
|
|
600
|
+
value: T.integrations.paymentGateway,
|
|
601
|
+
onChange: (e) => O("integrations", "paymentGateway", e.target.value),
|
|
602
|
+
className: j,
|
|
599
603
|
children: [
|
|
600
604
|
/* @__PURE__ */ g("option", {
|
|
601
605
|
value: "razorpay",
|
|
@@ -612,12 +616,12 @@ function v() {
|
|
|
612
616
|
]
|
|
613
617
|
})] }),
|
|
614
618
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
|
|
615
|
-
className:
|
|
619
|
+
className: M,
|
|
616
620
|
children: "Analytics Service"
|
|
617
621
|
}), /* @__PURE__ */ _("select", {
|
|
618
|
-
value:
|
|
619
|
-
onChange: (e) =>
|
|
620
|
-
className:
|
|
622
|
+
value: T.integrations.analyticsService,
|
|
623
|
+
onChange: (e) => O("integrations", "analyticsService", e.target.value),
|
|
624
|
+
className: j,
|
|
621
625
|
children: [
|
|
622
626
|
/* @__PURE__ */ g("option", {
|
|
623
627
|
value: "google",
|
|
@@ -640,10 +644,10 @@ function v() {
|
|
|
640
644
|
})
|
|
641
645
|
})
|
|
642
646
|
]
|
|
643
|
-
})
|
|
647
|
+
})]
|
|
644
648
|
});
|
|
645
649
|
}
|
|
646
650
|
//#endregion
|
|
647
|
-
export {
|
|
651
|
+
export { b as AdminSettingsPage };
|
|
648
652
|
|
|
649
653
|
//# sourceMappingURL=AdminSettingsPage.js.map
|