@burdenoff/microfe-atheletebridge 2026.625.2 → 2026.628.1

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.
Files changed (162) hide show
  1. package/dist/atheletebridge/AthleteBridgeRoot.js +49 -129
  2. package/dist/atheletebridge/AthleteBridgeRoot.js.map +1 -1
  3. package/dist/atheletebridge/AthleteBridgeRoutes.js +65 -184
  4. package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
  5. package/dist/atheletebridge/components/CursorPager.js +34 -0
  6. package/dist/atheletebridge/components/CursorPager.js.map +1 -0
  7. package/dist/atheletebridge/components/FilterSelect.js +22 -0
  8. package/dist/atheletebridge/components/FilterSelect.js.map +1 -0
  9. package/dist/atheletebridge/components/FixtureCard.js +76 -0
  10. package/dist/atheletebridge/components/FixtureCard.js.map +1 -0
  11. package/dist/atheletebridge/components/LoadingState.js +36 -0
  12. package/dist/atheletebridge/components/LoadingState.js.map +1 -0
  13. package/dist/atheletebridge/components/ProgramCard.js +69 -0
  14. package/dist/atheletebridge/components/ProgramCard.js.map +1 -0
  15. package/dist/atheletebridge/components/SessionCard.js +76 -0
  16. package/dist/atheletebridge/components/SessionCard.js.map +1 -0
  17. package/dist/atheletebridge/components/StatusBadge.js +44 -35
  18. package/dist/atheletebridge/components/StatusBadge.js.map +1 -1
  19. package/dist/atheletebridge/components/TeamCard.js +81 -0
  20. package/dist/atheletebridge/components/TeamCard.js.map +1 -0
  21. package/dist/atheletebridge/components/domain.js +47 -0
  22. package/dist/atheletebridge/components/domain.js.map +1 -0
  23. package/dist/atheletebridge/components/form.js +29 -0
  24. package/dist/atheletebridge/components/form.js.map +1 -0
  25. package/dist/atheletebridge/context/AthleteBridgeContext.js +6 -6
  26. package/dist/atheletebridge/context/AthleteBridgeContext.js.map +1 -1
  27. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +342 -165
  28. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
  29. package/dist/atheletebridge/index.js +1 -1
  30. package/dist/atheletebridge/pages/DashboardPage.js +169 -0
  31. package/dist/atheletebridge/pages/DashboardPage.js.map +1 -0
  32. package/dist/atheletebridge/pages/StandingsPage.js +166 -0
  33. package/dist/atheletebridge/pages/StandingsPage.js.map +1 -0
  34. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +201 -0
  35. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -0
  36. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js +205 -0
  37. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js.map +1 -0
  38. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js +92 -0
  39. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js.map +1 -0
  40. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js +374 -0
  41. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js.map +1 -0
  42. package/dist/atheletebridge/pages/programs/ProgramFormPage.js +207 -0
  43. package/dist/atheletebridge/pages/programs/ProgramFormPage.js.map +1 -0
  44. package/dist/atheletebridge/pages/programs/ProgramsListPage.js +113 -0
  45. package/dist/atheletebridge/pages/programs/ProgramsListPage.js.map +1 -0
  46. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +224 -0
  47. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -0
  48. package/dist/atheletebridge/pages/sessions/SessionFormPage.js +206 -0
  49. package/dist/atheletebridge/pages/sessions/SessionFormPage.js.map +1 -0
  50. package/dist/atheletebridge/pages/sessions/SessionsListPage.js +92 -0
  51. package/dist/atheletebridge/pages/sessions/SessionsListPage.js.map +1 -0
  52. package/dist/atheletebridge/pages/teams/TeamDetailPage.js +350 -0
  53. package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -0
  54. package/dist/atheletebridge/pages/teams/TeamFormPage.js +222 -0
  55. package/dist/atheletebridge/pages/teams/TeamFormPage.js.map +1 -0
  56. package/dist/atheletebridge/pages/teams/TeamsListPage.js +101 -0
  57. package/dist/atheletebridge/pages/teams/TeamsListPage.js.map +1 -0
  58. package/dist/atheletebridge/store/atheletebridgeStore.js +2 -13
  59. package/dist/atheletebridge/store/atheletebridgeStore.js.map +1 -1
  60. package/dist/atheletebridge/utils/datetime.js +10 -0
  61. package/dist/atheletebridge/utils/datetime.js.map +1 -0
  62. package/dist/atheletebridge/utils/formatters.js +1 -4
  63. package/dist/atheletebridge/utils/formatters.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/atheletebridge/components/InvestmentCard.js +0 -96
  66. package/dist/atheletebridge/components/InvestmentCard.js.map +0 -1
  67. package/dist/atheletebridge/components/RatingDisplay.js +0 -35
  68. package/dist/atheletebridge/components/RatingDisplay.js.map +0 -1
  69. package/dist/atheletebridge/mocks/data.js +0 -1517
  70. package/dist/atheletebridge/mocks/data.js.map +0 -1
  71. package/dist/atheletebridge/mocks/users.js +0 -34
  72. package/dist/atheletebridge/mocks/users.js.map +0 -1
  73. package/dist/atheletebridge/pages/HomePage.js +0 -936
  74. package/dist/atheletebridge/pages/HomePage.js.map +0 -1
  75. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +0 -653
  76. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +0 -1
  77. package/dist/atheletebridge/pages/admin/AdminDashboard.js +0 -671
  78. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +0 -1
  79. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +0 -429
  80. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +0 -1
  81. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +0 -667
  82. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +0 -1
  83. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +0 -261
  84. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +0 -1
  85. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +0 -653
  86. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +0 -1
  87. package/dist/atheletebridge/pages/admin/CartManagementPage.js +0 -876
  88. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +0 -1
  89. package/dist/atheletebridge/pages/admin/UserManagementPage.js +0 -900
  90. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +0 -1
  91. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +0 -839
  92. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  93. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +0 -704
  94. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  95. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +0 -792
  96. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  97. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +0 -891
  98. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  99. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +0 -633
  100. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  101. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +0 -913
  102. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  103. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +0 -881
  104. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +0 -1
  105. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +0 -841
  106. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +0 -1
  107. package/dist/atheletebridge/pages/common/HelpSupportPage.js +0 -1319
  108. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +0 -1
  109. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +0 -674
  110. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +0 -1
  111. package/dist/atheletebridge/pages/common/SettingsPage.js +0 -972
  112. package/dist/atheletebridge/pages/common/SettingsPage.js.map +0 -1
  113. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +0 -602
  114. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +0 -1
  115. package/dist/atheletebridge/pages/customer/CartDetailPage.js +0 -656
  116. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +0 -1
  117. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +0 -558
  118. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +0 -1
  119. package/dist/atheletebridge/pages/customer/CheckoutPage.js +0 -536
  120. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +0 -1
  121. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +0 -539
  122. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +0 -1
  123. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +0 -657
  124. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +0 -1
  125. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +0 -635
  126. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +0 -1
  127. package/dist/atheletebridge/pages/customer/FavoritesPage.js +0 -486
  128. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +0 -1
  129. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +0 -447
  130. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +0 -1
  131. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +0 -393
  132. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +0 -1
  133. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +0 -494
  134. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +0 -1
  135. package/dist/atheletebridge/pages/customer/ReviewsPage.js +0 -615
  136. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +0 -1
  137. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +0 -451
  138. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +0 -1
  139. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +0 -881
  140. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +0 -1
  141. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +0 -945
  142. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  143. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +0 -686
  144. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  145. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +0 -453
  146. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +0 -1
  147. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +0 -405
  148. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  149. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +0 -577
  150. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +0 -1
  151. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +0 -1069
  152. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +0 -1
  153. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +0 -530
  154. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +0 -1
  155. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +0 -669
  156. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +0 -1
  157. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +0 -681
  158. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +0 -1
  159. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +0 -691
  160. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +0 -1
  161. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +0 -588
  162. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +0 -1
@@ -1,653 +0,0 @@
1
- import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { useState as r } from "react";
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
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
7
- import { EmphasisPanel as v, PagePurpose as y } from "@burdenoff/fe-libs/ui";
8
- //#region src/atheletebridge/pages/admin/AdminSettingsPage.tsx
9
- function b() {
10
- let { navigateTo: b } = e(), [x, S] = r(!1), [C, w] = r("general"), [T, E] = r({
11
- general: {
12
- siteName: "AthleteBridge",
13
- siteUrl: "https://atheletebridge.com",
14
- timezone: "Asia/Kolkata",
15
- language: "en",
16
- currency: "INR",
17
- dateFormat: "DD/MM/YYYY",
18
- maintenanceMode: !1
19
- },
20
- security: {
21
- passwordPolicy: {
22
- minLength: 8,
23
- requireUppercase: !0,
24
- requireNumbers: !0,
25
- requireSymbols: !1
26
- },
27
- sessionTimeout: 60,
28
- twoFactorAuth: !1,
29
- maxLoginAttempts: 5
30
- },
31
- notifications: {
32
- emailNotifications: !0,
33
- smsNotifications: !0,
34
- adminAlerts: !0,
35
- systemAlerts: !0
36
- },
37
- database: {
38
- backupFrequency: "daily",
39
- retentionPeriod: 30,
40
- autoBackup: !0,
41
- lastBackup: (/* @__PURE__ */ new Date()).toISOString()
42
- },
43
- integrations: {
44
- emailService: "sendgrid",
45
- smsService: "twilio",
46
- paymentGateway: "razorpay",
47
- analyticsService: "google"
48
- }
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) => ({
53
- ...r,
54
- [e]: {
55
- ...r[e],
56
- [t]: n
57
- }
58
- }));
59
- }, k = (e, t, n, r) => {
60
- E((i) => ({
61
- ...i,
62
- [e]: {
63
- ...i[e],
64
- [t]: {
65
- ...i[e][t],
66
- [n]: r
67
- }
68
- }
69
- }));
70
- }, A = [
71
- {
72
- id: "general",
73
- label: "General",
74
- icon: p
75
- },
76
- {
77
- id: "security",
78
- label: "Security",
79
- icon: m
80
- },
81
- {
82
- id: "notifications",
83
- label: "Notifications",
84
- icon: a
85
- },
86
- {
87
- id: "database",
88
- label: "Database",
89
- icon: o
90
- },
91
- {
92
- id: "integrations",
93
- label: "Integrations",
94
- icon: d
95
- }
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, {
98
- title: "System Settings",
99
- description: "Configure platform-wide settings and policies",
100
- actions: /* @__PURE__ */ _("div", {
101
- className: "flex items-center gap-2",
102
- children: [/* @__PURE__ */ _("button", {
103
- type: "button",
104
- onClick: () => b("/admin"),
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",
106
- children: [/* @__PURE__ */ g(i, { className: "h-4 w-4" }), " Back"]
107
- }), /* @__PURE__ */ _("button", {
108
- type: "button",
109
- onClick: D,
110
- disabled: x,
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",
112
- children: [
113
- /* @__PURE__ */ g(f, { className: "h-4 w-4" }),
114
- " ",
115
- x ? "Saving..." : "Save Settings"
116
- ]
117
- })]
118
- }),
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", {
123
- className: "flex flex-col lg:flex-row gap-6",
124
- children: [
125
- /* @__PURE__ */ g("div", {
126
- className: "lg:hidden",
127
- children: /* @__PURE__ */ g("div", {
128
- className: "rounded-lg border border-border-subtle bg-bg-surface p-3 mb-4",
129
- children: /* @__PURE__ */ g("div", {
130
- className: "grid grid-cols-2 sm:grid-cols-3 gap-2",
131
- children: A.map((e) => {
132
- let n = e.icon;
133
- return /* @__PURE__ */ _("button", {
134
- type: "button",
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"),
137
- children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", { children: e.label })]
138
- }, e.id);
139
- })
140
- })
141
- })
142
- }),
143
- /* @__PURE__ */ g("div", {
144
- className: "hidden lg:block lg:w-64 lg:shrink-0",
145
- children: /* @__PURE__ */ _(v, {
146
- className: "sticky top-24 p-0 overflow-hidden",
147
- children: [/* @__PURE__ */ g("div", {
148
- className: "p-4 border-b border-border-subtle",
149
- children: /* @__PURE__ */ g("h2", {
150
- className: "font-semibold text-text-primary",
151
- children: "Settings"
152
- })
153
- }), /* @__PURE__ */ g("nav", {
154
- className: "p-2",
155
- children: A.map((e) => {
156
- let n = e.icon;
157
- return /* @__PURE__ */ _("button", {
158
- type: "button",
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"),
161
- children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", {
162
- className: "text-sm",
163
- children: e.label
164
- })]
165
- }, e.id);
166
- })
167
- })]
168
- })
169
- }),
170
- /* @__PURE__ */ g("div", {
171
- className: "flex-1 min-w-0",
172
- children: /* @__PURE__ */ _("div", {
173
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
174
- children: [
175
- C === "general" && /* @__PURE__ */ _("div", {
176
- className: "space-y-6",
177
- children: [
178
- /* @__PURE__ */ _("div", {
179
- className: "flex items-center gap-2 mb-2",
180
- children: [/* @__PURE__ */ g(s, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h3", {
181
- className: "text-lg font-semibold text-text-primary",
182
- children: "General Settings"
183
- })]
184
- }),
185
- /* @__PURE__ */ _("div", {
186
- className: "grid grid-cols-1 md:grid-cols-2 gap-6",
187
- children: [
188
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
189
- className: M,
190
- children: "Site Name"
191
- }), /* @__PURE__ */ g("input", {
192
- type: "text",
193
- value: T.general.siteName,
194
- onChange: (e) => O("general", "siteName", e.target.value),
195
- className: j
196
- })] }),
197
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
198
- className: M,
199
- children: "Site URL"
200
- }), /* @__PURE__ */ g("input", {
201
- type: "text",
202
- value: T.general.siteUrl,
203
- onChange: (e) => O("general", "siteUrl", e.target.value),
204
- className: j
205
- })] }),
206
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
207
- className: M,
208
- children: "Timezone"
209
- }), /* @__PURE__ */ _("select", {
210
- value: T.general.timezone,
211
- onChange: (e) => O("general", "timezone", e.target.value),
212
- className: j,
213
- children: [
214
- /* @__PURE__ */ g("option", {
215
- value: "Asia/Kolkata",
216
- children: "Asia/Kolkata (IST)"
217
- }),
218
- /* @__PURE__ */ g("option", {
219
- value: "UTC",
220
- children: "UTC"
221
- }),
222
- /* @__PURE__ */ g("option", {
223
- value: "America/New_York",
224
- children: "America/New_York (EST)"
225
- })
226
- ]
227
- })] }),
228
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
229
- className: M,
230
- children: "Currency"
231
- }), /* @__PURE__ */ _("select", {
232
- value: T.general.currency,
233
- onChange: (e) => O("general", "currency", e.target.value),
234
- className: j,
235
- children: [
236
- /* @__PURE__ */ g("option", {
237
- value: "INR",
238
- children: "Indian Rupee (INR)"
239
- }),
240
- /* @__PURE__ */ g("option", {
241
- value: "USD",
242
- children: "US Dollar (USD)"
243
- }),
244
- /* @__PURE__ */ g("option", {
245
- value: "EUR",
246
- children: "Euro (EUR)"
247
- })
248
- ]
249
- })] }),
250
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
251
- className: M,
252
- children: "Language"
253
- }), /* @__PURE__ */ _("select", {
254
- value: T.general.language,
255
- onChange: (e) => O("general", "language", e.target.value),
256
- className: j,
257
- children: [
258
- /* @__PURE__ */ g("option", {
259
- value: "en",
260
- children: "English"
261
- }),
262
- /* @__PURE__ */ g("option", {
263
- value: "hi",
264
- children: "Hindi"
265
- }),
266
- /* @__PURE__ */ g("option", {
267
- value: "ta",
268
- children: "Tamil"
269
- })
270
- ]
271
- })] }),
272
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
273
- className: M,
274
- children: "Date Format"
275
- }), /* @__PURE__ */ _("select", {
276
- value: T.general.dateFormat,
277
- onChange: (e) => O("general", "dateFormat", e.target.value),
278
- className: j,
279
- children: [
280
- /* @__PURE__ */ g("option", {
281
- value: "DD/MM/YYYY",
282
- children: "DD/MM/YYYY"
283
- }),
284
- /* @__PURE__ */ g("option", {
285
- value: "MM/DD/YYYY",
286
- children: "MM/DD/YYYY"
287
- }),
288
- /* @__PURE__ */ g("option", {
289
- value: "YYYY-MM-DD",
290
- children: "YYYY-MM-DD"
291
- })
292
- ]
293
- })] })
294
- ]
295
- }),
296
- /* @__PURE__ */ _("label", {
297
- className: "flex items-center gap-2 mt-4",
298
- children: [/* @__PURE__ */ g("input", {
299
- type: "checkbox",
300
- checked: T.general.maintenanceMode,
301
- onChange: (e) => O("general", "maintenanceMode", e.target.checked),
302
- className: "rounded border-border-subtle text-primary focus:ring-primary"
303
- }), /* @__PURE__ */ g("span", {
304
- className: "text-sm text-text-primary",
305
- children: "Enable Maintenance Mode"
306
- })]
307
- })
308
- ]
309
- }),
310
- C === "security" && /* @__PURE__ */ _("div", {
311
- className: "space-y-6",
312
- children: [
313
- /* @__PURE__ */ _("div", {
314
- className: "flex items-center gap-2 mb-2",
315
- children: [/* @__PURE__ */ g(l, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h3", {
316
- className: "text-lg font-semibold text-text-primary",
317
- children: "Security Settings"
318
- })]
319
- }),
320
- /* @__PURE__ */ _("div", { children: [
321
- /* @__PURE__ */ g("h4", {
322
- className: "font-medium text-text-primary mb-4",
323
- children: "Password Policy"
324
- }),
325
- /* @__PURE__ */ _("div", {
326
- className: "grid grid-cols-1 md:grid-cols-2 gap-6",
327
- children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
328
- className: M,
329
- children: "Minimum Length"
330
- }), /* @__PURE__ */ g("input", {
331
- type: "number",
332
- value: T.security.passwordPolicy.minLength,
333
- onChange: (e) => k("security", "passwordPolicy", "minLength", parseInt(e.target.value)),
334
- min: 6,
335
- max: 50,
336
- className: j
337
- })] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
338
- className: M,
339
- children: "Session Timeout (minutes)"
340
- }), /* @__PURE__ */ g("input", {
341
- type: "number",
342
- value: T.security.sessionTimeout,
343
- onChange: (e) => O("security", "sessionTimeout", parseInt(e.target.value)),
344
- min: 15,
345
- max: 480,
346
- className: j
347
- })] })]
348
- }),
349
- /* @__PURE__ */ _("div", {
350
- className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mt-4",
351
- children: [
352
- /* @__PURE__ */ _("label", {
353
- className: "flex items-center gap-2",
354
- children: [/* @__PURE__ */ g("input", {
355
- type: "checkbox",
356
- checked: T.security.passwordPolicy.requireUppercase,
357
- onChange: (e) => k("security", "passwordPolicy", "requireUppercase", e.target.checked),
358
- className: "rounded border-border-subtle text-primary focus:ring-primary"
359
- }), /* @__PURE__ */ g("span", {
360
- className: "text-sm text-text-primary",
361
- children: "Require Uppercase"
362
- })]
363
- }),
364
- /* @__PURE__ */ _("label", {
365
- className: "flex items-center gap-2",
366
- children: [/* @__PURE__ */ g("input", {
367
- type: "checkbox",
368
- checked: T.security.passwordPolicy.requireNumbers,
369
- onChange: (e) => k("security", "passwordPolicy", "requireNumbers", e.target.checked),
370
- className: "rounded border-border-subtle text-primary focus:ring-primary"
371
- }), /* @__PURE__ */ g("span", {
372
- className: "text-sm text-text-primary",
373
- children: "Require Numbers"
374
- })]
375
- }),
376
- /* @__PURE__ */ _("label", {
377
- className: "flex items-center gap-2",
378
- children: [/* @__PURE__ */ g("input", {
379
- type: "checkbox",
380
- checked: T.security.passwordPolicy.requireSymbols,
381
- onChange: (e) => k("security", "passwordPolicy", "requireSymbols", e.target.checked),
382
- className: "rounded border-border-subtle text-primary focus:ring-primary"
383
- }), /* @__PURE__ */ g("span", {
384
- className: "text-sm text-text-primary",
385
- children: "Require Symbols"
386
- })]
387
- }),
388
- /* @__PURE__ */ _("label", {
389
- className: "flex items-center gap-2",
390
- children: [/* @__PURE__ */ g("input", {
391
- type: "checkbox",
392
- checked: T.security.twoFactorAuth,
393
- onChange: (e) => O("security", "twoFactorAuth", e.target.checked),
394
- className: "rounded border-border-subtle text-primary focus:ring-primary"
395
- }), /* @__PURE__ */ g("span", {
396
- className: "text-sm text-text-primary",
397
- children: "Two-Factor Auth"
398
- })]
399
- })
400
- ]
401
- })
402
- ] }),
403
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
404
- className: M,
405
- children: "Max Login Attempts"
406
- }), /* @__PURE__ */ g("input", {
407
- type: "number",
408
- value: T.security.maxLoginAttempts,
409
- onChange: (e) => O("security", "maxLoginAttempts", parseInt(e.target.value)),
410
- min: 1,
411
- max: 20,
412
- className: t(j, "max-w-xs")
413
- })] })
414
- ]
415
- }),
416
- C === "notifications" && /* @__PURE__ */ _("div", {
417
- className: "space-y-6",
418
- children: [/* @__PURE__ */ _("div", {
419
- className: "flex items-center gap-2 mb-2",
420
- children: [/* @__PURE__ */ g(a, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h3", {
421
- className: "text-lg font-semibold text-text-primary",
422
- children: "Notification Settings"
423
- })]
424
- }), /* @__PURE__ */ g("div", {
425
- className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
426
- children: [
427
- {
428
- key: "emailNotifications",
429
- label: "Email Notifications",
430
- icon: u
431
- },
432
- {
433
- key: "smsNotifications",
434
- label: "SMS Notifications",
435
- icon: h
436
- },
437
- {
438
- key: "adminAlerts",
439
- label: "Admin Alerts",
440
- icon: m
441
- },
442
- {
443
- key: "systemAlerts",
444
- label: "System Alerts",
445
- icon: a
446
- }
447
- ].map((e) => {
448
- let t = e.icon;
449
- return /* @__PURE__ */ _("label", {
450
- className: "flex items-center gap-3 rounded-lg border border-border-subtle p-4 cursor-pointer hover:bg-accent/50 transition-colors",
451
- children: [
452
- /* @__PURE__ */ g("input", {
453
- type: "checkbox",
454
- checked: T.notifications[e.key],
455
- onChange: (t) => O("notifications", e.key, t.target.checked),
456
- className: "rounded border-border-subtle text-primary focus:ring-primary"
457
- }),
458
- /* @__PURE__ */ g(t, { className: "h-5 w-5 text-text-secondary" }),
459
- /* @__PURE__ */ g("span", {
460
- className: "text-sm font-medium text-text-primary",
461
- children: e.label
462
- })
463
- ]
464
- }, e.key);
465
- })
466
- })]
467
- }),
468
- C === "database" && /* @__PURE__ */ _("div", {
469
- className: "space-y-6",
470
- children: [
471
- /* @__PURE__ */ _("div", {
472
- className: "flex items-center gap-2 mb-2",
473
- children: [/* @__PURE__ */ g(c, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h3", {
474
- className: "text-lg font-semibold text-text-primary",
475
- children: "Database Settings"
476
- })]
477
- }),
478
- /* @__PURE__ */ _("div", {
479
- className: "grid grid-cols-1 md:grid-cols-2 gap-6",
480
- children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
481
- className: M,
482
- children: "Backup Frequency"
483
- }), /* @__PURE__ */ _("select", {
484
- value: T.database.backupFrequency,
485
- onChange: (e) => O("database", "backupFrequency", e.target.value),
486
- className: j,
487
- children: [
488
- /* @__PURE__ */ g("option", {
489
- value: "hourly",
490
- children: "Hourly"
491
- }),
492
- /* @__PURE__ */ g("option", {
493
- value: "daily",
494
- children: "Daily"
495
- }),
496
- /* @__PURE__ */ g("option", {
497
- value: "weekly",
498
- children: "Weekly"
499
- }),
500
- /* @__PURE__ */ g("option", {
501
- value: "monthly",
502
- children: "Monthly"
503
- })
504
- ]
505
- })] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
506
- className: M,
507
- children: "Retention Period (days)"
508
- }), /* @__PURE__ */ g("input", {
509
- type: "number",
510
- value: T.database.retentionPeriod,
511
- onChange: (e) => O("database", "retentionPeriod", parseInt(e.target.value)),
512
- min: 7,
513
- max: 365,
514
- className: j
515
- })] })]
516
- }),
517
- /* @__PURE__ */ _("label", {
518
- className: "flex items-center gap-2",
519
- children: [/* @__PURE__ */ g("input", {
520
- type: "checkbox",
521
- checked: T.database.autoBackup,
522
- onChange: (e) => O("database", "autoBackup", e.target.checked),
523
- className: "rounded border-border-subtle text-primary focus:ring-primary"
524
- }), /* @__PURE__ */ g("span", {
525
- className: "text-sm text-text-primary",
526
- children: "Enable Auto Backup"
527
- })]
528
- }),
529
- /* @__PURE__ */ _("div", {
530
- className: "rounded-lg bg-bg-sunken p-4",
531
- children: [/* @__PURE__ */ g("p", {
532
- className: "text-sm text-text-secondary",
533
- children: "Last Backup"
534
- }), /* @__PURE__ */ g("p", {
535
- className: "text-sm font-medium text-text-primary",
536
- children: new Date(T.database.lastBackup).toLocaleString("en-IN")
537
- })]
538
- })
539
- ]
540
- }),
541
- C === "integrations" && /* @__PURE__ */ _("div", {
542
- className: "space-y-6",
543
- children: [/* @__PURE__ */ _("div", {
544
- className: "flex items-center gap-2 mb-2",
545
- children: [/* @__PURE__ */ g(d, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h3", {
546
- className: "text-lg font-semibold text-text-primary",
547
- children: "Integrations"
548
- })]
549
- }), /* @__PURE__ */ _("div", {
550
- className: "grid grid-cols-1 md:grid-cols-2 gap-6",
551
- children: [
552
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
553
- className: M,
554
- children: "Email Service"
555
- }), /* @__PURE__ */ _("select", {
556
- value: T.integrations.emailService,
557
- onChange: (e) => O("integrations", "emailService", e.target.value),
558
- className: j,
559
- children: [
560
- /* @__PURE__ */ g("option", {
561
- value: "sendgrid",
562
- children: "SendGrid"
563
- }),
564
- /* @__PURE__ */ g("option", {
565
- value: "ses",
566
- children: "AWS SES"
567
- }),
568
- /* @__PURE__ */ g("option", {
569
- value: "mailgun",
570
- children: "Mailgun"
571
- })
572
- ]
573
- })] }),
574
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
575
- className: M,
576
- children: "SMS Service"
577
- }), /* @__PURE__ */ _("select", {
578
- value: T.integrations.smsService,
579
- onChange: (e) => O("integrations", "smsService", e.target.value),
580
- className: j,
581
- children: [
582
- /* @__PURE__ */ g("option", {
583
- value: "twilio",
584
- children: "Twilio"
585
- }),
586
- /* @__PURE__ */ g("option", {
587
- value: "msg91",
588
- children: "MSG91"
589
- }),
590
- /* @__PURE__ */ g("option", {
591
- value: "sns",
592
- children: "AWS SNS"
593
- })
594
- ]
595
- })] }),
596
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
597
- className: M,
598
- children: "Payment Gateway"
599
- }), /* @__PURE__ */ _("select", {
600
- value: T.integrations.paymentGateway,
601
- onChange: (e) => O("integrations", "paymentGateway", e.target.value),
602
- className: j,
603
- children: [
604
- /* @__PURE__ */ g("option", {
605
- value: "razorpay",
606
- children: "Razorpay"
607
- }),
608
- /* @__PURE__ */ g("option", {
609
- value: "stripe",
610
- children: "Stripe"
611
- }),
612
- /* @__PURE__ */ g("option", {
613
- value: "paytm",
614
- children: "Paytm"
615
- })
616
- ]
617
- })] }),
618
- /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("label", {
619
- className: M,
620
- children: "Analytics Service"
621
- }), /* @__PURE__ */ _("select", {
622
- value: T.integrations.analyticsService,
623
- onChange: (e) => O("integrations", "analyticsService", e.target.value),
624
- className: j,
625
- children: [
626
- /* @__PURE__ */ g("option", {
627
- value: "google",
628
- children: "Google Analytics"
629
- }),
630
- /* @__PURE__ */ g("option", {
631
- value: "mixpanel",
632
- children: "Mixpanel"
633
- }),
634
- /* @__PURE__ */ g("option", {
635
- value: "amplitude",
636
- children: "Amplitude"
637
- })
638
- ]
639
- })] })
640
- ]
641
- })]
642
- })
643
- ]
644
- })
645
- })
646
- ]
647
- })]
648
- });
649
- }
650
- //#endregion
651
- export { b as AdminSettingsPage };
652
-
653
- //# sourceMappingURL=AdminSettingsPage.js.map