@burdenoff/microfe-kadaikodi 2026.704.2 → 2026.704.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/kadaikodi/KadaikodiRoutes.js +30 -26
  2. package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
  3. package/dist/kadaikodi/hooks/useKadaikodiApi.js +76 -6
  4. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +45 -107
  6. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminDashboard.js +30 -32
  8. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +137 -120
  10. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +2 -2
  12. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  14. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +332 -276
  15. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  16. package/dist/kadaikodi/pages/admin/CartManagementPage.js +278 -283
  17. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  18. package/dist/kadaikodi/pages/admin/UserManagementPage.js +310 -366
  19. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  20. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +105 -111
  21. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  22. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +290 -257
  23. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  24. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +84 -70
  25. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  26. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +270 -228
  27. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  28. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +194 -173
  29. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  30. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +202 -139
  31. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  32. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +232 -0
  33. package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -0
  34. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +84 -79
  35. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  36. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/HelpSupportPage.js +310 -317
  38. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  39. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  40. package/dist/kadaikodi/pages/common/SettingsPage.js +502 -586
  41. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  42. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +243 -143
  43. package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
  44. package/dist/kadaikodi/pages/customer/CartDetailPage.js +4 -4
  45. package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
  46. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
  47. package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
  48. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -4
  49. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  50. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +6 -6
  51. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  52. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +189 -199
  53. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  54. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +6 -4
  55. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  56. package/dist/kadaikodi/pages/customer/FavoritesPage.js +6 -6
  57. package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
  58. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +4 -4
  59. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  60. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +409 -304
  61. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/customer/ReviewsPage.js +209 -162
  63. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  65. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  66. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  67. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +441 -514
  69. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  70. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +207 -186
  71. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  73. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +340 -272
  74. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  75. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +122 -75
  76. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  77. package/package.json +1 -1
@@ -2,25 +2,19 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
2
2
  import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { useCallback as r, useMemo as i, useState as a } from "react";
5
- import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
- import { AlertTriangle as s, Bell as c, Building2 as l, Camera as u, CheckCircle2 as d, CreditCard as f, Eye as p, Globe as m, Laptop as h, Loader2 as g, Lock as _, LogOut as v, MapPin as y, Monitor as b, Moon as x, Receipt as S, RotateCcw as C, Save as w, Settings as T, Shield as E, Smartphone as D, Sun as O, Trash2 as k, User as A } from "lucide-react";
7
- import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
8
- import { EmphasisPanel as P, NextSteps as F, PagePurpose as I } from "@burdenoff/fe-libs/ui";
5
+ import { useI18n as ee } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ import { AlertTriangle as o, Bell as s, Building2 as c, Camera as te, CheckCircle2 as l, CreditCard as u, ExternalLink as ne, Eye as d, Globe as f, Lock as p, MapPin as m, Monitor as h, Moon as g, Receipt as _, RotateCcw as v, Save as y, Settings as b, Shield as x, Sun as re, Trash2 as ie, User as S } from "lucide-react";
7
+ import { jsx as C, jsxs as w } from "react/jsx-runtime";
8
+ import { EmphasisPanel as ae, NextSteps as oe, PagePurpose as se } from "@burdenoff/fe-libs/ui";
9
+ import { useTheme as ce } from "@burdenoff/fe-libs/shared/providers/shell/ThemeProvider";
9
10
  //#region src/kadaikodi/pages/common/SettingsPage.tsx
10
- var L = {
11
- profile: {
12
- firstName: "",
13
- lastName: "",
14
- email: "",
15
- phone: "",
11
+ var T = "kadaikodi-user-prefs", E = {
12
+ profileExtra: {
16
13
  bio: "",
17
14
  dateOfBirth: "",
18
- gender: "",
19
- profilePicture: ""
15
+ gender: ""
20
16
  },
21
17
  preferences: {
22
- theme: "system",
23
- language: "en",
24
18
  timezone: "Asia/Kolkata",
25
19
  currency: "INR",
26
20
  notifications: {
@@ -33,12 +27,6 @@ var L = {
33
27
  security: !0
34
28
  }
35
29
  },
36
- security: {
37
- twoFactorEnabled: !1,
38
- loginAlerts: !0,
39
- sessionTimeout: "30",
40
- trustedDevices: []
41
- },
42
30
  privacy: {
43
31
  profileVisibility: "private",
44
32
  dataSharing: {
@@ -50,86 +38,133 @@ var L = {
50
38
  activityHistory: !0
51
39
  },
52
40
  billing: {
53
- paymentMethod: null,
54
- autoRecharge: !1,
55
- autoRechargeAmount: "1000",
56
41
  invoiceEmail: "",
57
42
  gstNumber: "",
58
43
  companyName: "",
59
44
  billingAddress: ""
60
45
  }
61
- }, R = [
46
+ };
47
+ function D(e) {
48
+ let t = {
49
+ ...E,
50
+ billing: {
51
+ ...E.billing,
52
+ invoiceEmail: e
53
+ }
54
+ };
55
+ try {
56
+ let e = localStorage.getItem(T);
57
+ if (!e) return t;
58
+ let n = JSON.parse(e);
59
+ return {
60
+ profileExtra: {
61
+ ...t.profileExtra,
62
+ ...n.profileExtra ?? {}
63
+ },
64
+ preferences: {
65
+ ...t.preferences,
66
+ ...n.preferences ?? {},
67
+ notifications: {
68
+ ...t.preferences.notifications,
69
+ ...n.preferences?.notifications ?? {}
70
+ }
71
+ },
72
+ privacy: {
73
+ ...t.privacy,
74
+ ...n.privacy ?? {},
75
+ dataSharing: {
76
+ ...t.privacy.dataSharing,
77
+ ...n.privacy?.dataSharing ?? {}
78
+ }
79
+ },
80
+ billing: {
81
+ ...t.billing,
82
+ ...n.billing ?? {}
83
+ }
84
+ };
85
+ } catch {
86
+ return t;
87
+ }
88
+ }
89
+ var O = [
62
90
  {
63
91
  id: "profile",
64
92
  label: "Profile",
65
- icon: A
93
+ icon: S
66
94
  },
67
95
  {
68
96
  id: "preferences",
69
97
  label: "Preferences",
70
- icon: T
98
+ icon: b
71
99
  },
72
100
  {
73
101
  id: "security",
74
102
  label: "Security",
75
- icon: E
103
+ icon: x
76
104
  },
77
105
  {
78
106
  id: "privacy",
79
107
  label: "Privacy",
80
- icon: p
108
+ icon: d
81
109
  },
82
110
  {
83
111
  id: "billing",
84
112
  label: "Billing",
85
- icon: f
113
+ icon: u
114
+ }
115
+ ], k = [
116
+ {
117
+ value: "en",
118
+ label: "English"
119
+ },
120
+ {
121
+ value: "hi",
122
+ label: "Hindi"
123
+ },
124
+ {
125
+ value: "ta",
126
+ label: "Tamil"
86
127
  }
87
128
  ];
88
- function z({ checked: e, onChange: n, label: r }) {
89
- return /* @__PURE__ */ M("button", {
129
+ function A({ checked: e, onChange: n, label: r }) {
130
+ return /* @__PURE__ */ C("button", {
90
131
  type: "button",
91
132
  role: "switch",
92
133
  "aria-checked": e,
93
134
  "aria-label": r,
94
135
  onClick: () => n(!e),
95
136
  className: t("relative inline-flex h-6 w-11 items-center rounded-full transition-colors shrink-0", e ? "bg-action-primary-bg" : "bg-bg-sunken"),
96
- children: /* @__PURE__ */ M("span", { className: t("inline-block h-4 w-4 transform rounded-full bg-white transition-transform", e ? "translate-x-6" : "translate-x-1") })
137
+ children: /* @__PURE__ */ C("span", { className: t("inline-block h-4 w-4 transform rounded-full bg-white transition-transform", e ? "translate-x-6" : "translate-x-1") })
97
138
  });
98
139
  }
99
- function B() {
100
- let { currentUser: T } = e(), { t: E } = o(), [A, B] = a("profile"), [V, H] = a(() => {
101
- let e = T?.firstName ?? T?.name?.split(" ")[0] ?? "", t = T?.lastName ?? T?.name?.split(" ").slice(1).join(" ") ?? "", n = T?.email ?? "";
140
+ function j() {
141
+ let { currentUser: b, navigateTo: S } = e(), { t: j, locale: M, setLocale: N } = ee(), { mode: P, setMode: F } = ce(), I = i(() => {
142
+ let e = b?.firstName ?? b?.name?.split(" ")[0] ?? "", t = b?.lastName ?? b?.name?.split(" ").slice(1).join(" ") ?? "", n = b?.email ?? "";
102
143
  return {
103
- ...L,
104
- profile: {
105
- ...L.profile,
106
- firstName: e,
107
- lastName: t,
108
- email: n,
109
- phone: T?.phone ?? "",
110
- profilePicture: T?.avatar ?? T?.profilePicture ?? ""
111
- },
112
- billing: {
113
- ...L.billing,
114
- invoiceEmail: n
115
- }
144
+ firstName: e,
145
+ lastName: t,
146
+ fullName: [e, t].filter(Boolean).join(" ") || b?.name || "—",
147
+ email: n,
148
+ phone: b?.phone ?? "",
149
+ avatar: b?.avatar ?? b?.profilePicture ?? "",
150
+ initials: ((e[0] ?? "") + (t[0] ?? "")).toUpperCase() || (n[0] ?? "?").toUpperCase()
116
151
  };
117
- }), [U, W] = a(!1), [G, K] = a(!1), [q, J] = a(""), Y = r((e, t) => {
118
- let n = E(e);
152
+ }, [b]), [L, R] = a("profile"), [z, B] = a(() => D(I.email)), [V, H] = a(!1), [U, W] = a(""), [G, K] = a(!1), q = r((e, t) => {
153
+ let n = j(e);
119
154
  return n === e ? t : n;
120
- }, [E]), X = i(() => R.map((e) => ({
155
+ }, [j]), J = P === "light" || P === "dark" || P === "system" ? P : "system", Y = i(() => O.map((e) => ({
121
156
  ...e,
122
- label: e.id === "profile" ? Y("kadaikodi.settings.tabs.profile", "Profile") : e.id === "preferences" ? Y("kadaikodi.settings.tabs.preferences", "Preferences") : e.id === "security" ? Y("kadaikodi.settings.tabs.security", "Security") : e.id === "privacy" ? Y("kadaikodi.settings.tabs.privacy", "Privacy") : Y("kadaikodi.settings.tabs.billing", "Billing")
123
- })), [Y]), Z = r((e, t, n) => {
124
- H((r) => ({
157
+ label: e.id === "profile" ? q("kadaikodi.settings.tabs.profile", "Profile") : e.id === "preferences" ? q("kadaikodi.settings.tabs.preferences", "Preferences") : e.id === "security" ? q("kadaikodi.settings.tabs.security", "Security") : e.id === "privacy" ? q("kadaikodi.settings.tabs.privacy", "Privacy") : q("kadaikodi.settings.tabs.billing", "Billing")
158
+ })), [q]), X = r((e, t, n) => {
159
+ B((r) => ({
125
160
  ...r,
126
161
  [e]: {
127
162
  ...r[e],
128
163
  [t]: n
129
164
  }
130
- })), W(!0), J("");
131
- }, []), Q = r((e, t, n, r) => {
132
- H((i) => ({
165
+ })), H(!0), W("");
166
+ }, []), Z = r((e, t, n, r) => {
167
+ B((i) => ({
133
168
  ...i,
134
169
  [e]: {
135
170
  ...i[e],
@@ -138,248 +173,249 @@ function B() {
138
173
  [n]: r
139
174
  }
140
175
  }
141
- })), W(!0), J("");
142
- }, []), $ = r(() => {
143
- H(L), W(!1), J("");
144
- }, []), ee = r(async () => {
145
- if (!V.profile.firstName.trim() || !V.profile.lastName.trim()) {
146
- J(Y("kadaikodi.settings.validation.nameRequired", "First name and last name are required.")), B("profile");
147
- return;
176
+ })), H(!0), W("");
177
+ }, []), le = r(() => {
178
+ B({
179
+ ...E,
180
+ billing: {
181
+ ...E.billing,
182
+ invoiceEmail: I.email
183
+ }
184
+ }), H(!1), W(""), K(!1);
185
+ }, [I.email]), ue = r((e) => {
186
+ F(e);
187
+ }, [F]), de = r((e) => {
188
+ N(e);
189
+ }, [N]), fe = r(() => {
190
+ try {
191
+ localStorage.setItem(T, JSON.stringify(z)), H(!1), K(!1), W(q("kadaikodi.settings.saveSuccess", "Preferences saved on this device.")), window.setTimeout(() => W(""), 3e3);
192
+ } catch {
193
+ K(!0), W(q("kadaikodi.settings.saveError", "Could not save preferences on this device. Please check your browser storage settings."));
148
194
  }
149
- if (!V.profile.email.trim() || !V.profile.email.includes("@")) {
150
- J(Y("kadaikodi.settings.validation.emailRequired", "A valid email address is required.")), B("profile");
151
- return;
195
+ }, [z, q]), Q = r(() => {
196
+ S("/auth/security");
197
+ }, [S]), pe = r(() => {
198
+ if (window.confirm(q("kadaikodi.settings.deleteConfirm", "Account deletion is handled by our support team. Do you want to email support@kadaikodi.com to request it? This cannot be undone once processed."))) {
199
+ let e = encodeURIComponent(`I would like to request deletion of my Kadaikodi account (${I.email}).`);
200
+ window.location.href = `mailto:support@kadaikodi.com?subject=Account%20deletion%20request&body=${e}`;
152
201
  }
153
- K(!0), J(""), await new Promise((e) => setTimeout(e, 1200)), K(!1), W(!1), J(Y("kadaikodi.settings.saveSuccess", "Settings saved successfully!")), setTimeout(() => J(""), 3e3);
154
- }, [V, Y]), te = r((e) => {
155
- H((t) => ({
156
- ...t,
157
- security: {
158
- ...t.security,
159
- trustedDevices: t.security.trustedDevices.filter((t) => t.id !== e)
160
- }
161
- })), W(!0);
162
- }, []), ne = r(() => {
163
- H((e) => ({
164
- ...e,
165
- security: {
166
- ...e.security,
167
- trustedDevices: e.security.trustedDevices.filter((e) => e.isCurrent)
168
- }
169
- })), W(!0);
170
- }, []), re = r(() => {
171
- window.confirm(Y("kadaikodi.settings.deleteConfirm", "Are you sure you want to delete your account? This action cannot be undone.")) && alert(Y("kadaikodi.settings.deleteSubmitted", "Account deletion request submitted. You will receive a confirmation email."));
172
- }, [Y]);
173
- return /* @__PURE__ */ N(n, {
174
- title: Y("kadaikodi.settings.title", "Settings"),
175
- description: Y("kadaikodi.settings.description", "Manage your preferences and account settings"),
176
- actions: /* @__PURE__ */ N("div", {
202
+ }, [q, I.email]), $ = ({ label: e }) => /* @__PURE__ */ w("button", {
203
+ type: "button",
204
+ onClick: Q,
205
+ className: "inline-flex items-center gap-1.5 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
206
+ children: [
207
+ /* @__PURE__ */ C(x, { className: "h-4 w-4" }),
208
+ e,
209
+ /* @__PURE__ */ C(ne, { className: "h-3.5 w-3.5" })
210
+ ]
211
+ });
212
+ return /* @__PURE__ */ w(n, {
213
+ title: q("kadaikodi.settings.title", "Settings"),
214
+ description: q("kadaikodi.settings.description", "Manage your preferences and account settings"),
215
+ actions: /* @__PURE__ */ w("div", {
177
216
  className: "flex items-center gap-2",
178
- children: [U && /* @__PURE__ */ N("button", {
217
+ children: [V && /* @__PURE__ */ w("button", {
179
218
  type: "button",
180
- onClick: $,
219
+ onClick: le,
181
220
  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",
182
- children: [/* @__PURE__ */ M(C, { className: "h-4 w-4" }), Y("kadaikodi.settings.reset", "Reset")]
183
- }), /* @__PURE__ */ M("button", {
221
+ children: [/* @__PURE__ */ C(v, { className: "h-4 w-4" }), q("kadaikodi.settings.reset", "Reset")]
222
+ }), /* @__PURE__ */ w("button", {
184
223
  type: "button",
185
- disabled: !U || G,
186
- onClick: ee,
187
- className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors", U && !G ? "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
188
- children: G ? /* @__PURE__ */ N(j, { children: [/* @__PURE__ */ M(g, { className: "h-4 w-4 animate-spin" }), Y("kadaikodi.settings.saving", "Saving...")] }) : /* @__PURE__ */ N(j, { children: [/* @__PURE__ */ M(w, { className: "h-4 w-4" }), Y("kadaikodi.settings.save", "Save Settings")] })
224
+ disabled: !V,
225
+ onClick: fe,
226
+ className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors", V ? "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90" : "bg-bg-sunken text-text-secondary cursor-not-allowed"),
227
+ children: [/* @__PURE__ */ C(y, { className: "h-4 w-4" }), q("kadaikodi.settings.save", "Save Settings")]
189
228
  })]
190
229
  }),
191
230
  children: [
192
- q && /* @__PURE__ */ N("div", {
193
- className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm", q.includes("successfully") ? "border-status-success-text/30 bg-status-success-bg-subtle text-status-success-text" : "border-status-error-text/30 bg-status-error-bg-subtle text-status-error-text"),
194
- children: [q.includes("successfully") ? /* @__PURE__ */ M(d, { className: "h-4 w-4 shrink-0" }) : /* @__PURE__ */ M(s, { className: "h-4 w-4 shrink-0" }), q]
231
+ U && /* @__PURE__ */ w("div", {
232
+ className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm", G ? "border-status-error-text/30 bg-status-error-bg-subtle text-status-error-text" : "border-status-success-text/30 bg-status-success-bg-subtle text-status-success-text"),
233
+ children: [C(G ? o : l, { className: "h-4 w-4 shrink-0" }), U]
195
234
  }),
196
- /* @__PURE__ */ M(I, {
235
+ /* @__PURE__ */ C(se, {
197
236
  className: "mb-6",
198
- children: Y("kadaikodi.settings.purpose", "Your personal control center on Kadaikodi. Use this page to manage your profile, app preferences (language, theme, notifications), security and login, privacy choices, and billing — everything about your own account in one place. Pick a section on the left, make your changes, and Save.")
237
+ children: q("kadaikodi.settings.purpose", "Your personal control center on Kadaikodi. Manage your profile, app preferences (language, theme, notifications), privacy choices, and billing details. Theme and language apply instantly; account identity and security are managed in Account Security.")
199
238
  }),
200
- /* @__PURE__ */ M(F, {
239
+ /* @__PURE__ */ C(oe, {
201
240
  storageKey: "kadaikodi-settings",
202
241
  className: "mb-6",
203
242
  steps: [
204
243
  {
205
244
  id: "security",
206
- label: Y("kadaikodi.settings.next.security", "Secure your account"),
207
- description: Y("kadaikodi.settings.next.securityDesc", "Update your password and review active devices."),
208
- onClick: () => B("security")
245
+ label: q("kadaikodi.settings.next.security", "Secure your account"),
246
+ description: q("kadaikodi.settings.next.securityDesc", "Review password, 2FA and active devices in Account Security."),
247
+ onClick: () => R("security")
209
248
  },
210
249
  {
211
250
  id: "preferences",
212
- label: Y("kadaikodi.settings.next.preferences", "Set your preferences"),
213
- description: Y("kadaikodi.settings.next.preferencesDesc", "Choose language, theme and notification settings."),
214
- onClick: () => B("preferences")
251
+ label: q("kadaikodi.settings.next.preferences", "Set your preferences"),
252
+ description: q("kadaikodi.settings.next.preferencesDesc", "Choose language, theme and notification settings."),
253
+ onClick: () => R("preferences")
215
254
  },
216
255
  {
217
256
  id: "billing",
218
- label: Y("kadaikodi.settings.next.billing", "Review billing"),
219
- description: Y("kadaikodi.settings.next.billingDesc", "Check your plan and payment method."),
220
- onClick: () => B("billing")
257
+ label: q("kadaikodi.settings.next.billing", "Review billing"),
258
+ description: q("kadaikodi.settings.next.billingDesc", "Keep your invoice and tax details up to date."),
259
+ onClick: () => R("billing")
221
260
  }
222
261
  ]
223
262
  }),
224
- /* @__PURE__ */ N("div", {
263
+ /* @__PURE__ */ w("div", {
225
264
  className: "flex flex-col gap-6 lg:flex-row",
226
- children: [/* @__PURE__ */ N("div", {
265
+ children: [/* @__PURE__ */ w("div", {
227
266
  className: "shrink-0 lg:w-56",
228
- children: [/* @__PURE__ */ M("div", {
267
+ children: [/* @__PURE__ */ C("div", {
229
268
  className: "grid grid-cols-5 gap-1 lg:hidden",
230
- children: X.map((e) => {
269
+ children: Y.map((e) => {
231
270
  let n = e.icon;
232
- return /* @__PURE__ */ N("button", {
271
+ return /* @__PURE__ */ w("button", {
233
272
  type: "button",
234
- onClick: () => B(e.id),
235
- className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors", A === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
236
- children: [/* @__PURE__ */ M(n, { className: "h-4 w-4" }), /* @__PURE__ */ M("span", {
273
+ onClick: () => R(e.id),
274
+ className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors", L === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
275
+ children: [/* @__PURE__ */ C(n, { className: "h-4 w-4" }), /* @__PURE__ */ C("span", {
237
276
  className: "text-xs font-medium",
238
277
  children: e.label
239
278
  })]
240
279
  }, e.id);
241
280
  })
242
- }), /* @__PURE__ */ N("div", {
281
+ }), /* @__PURE__ */ w("div", {
243
282
  className: "hidden lg:block rounded-lg border border-border-subtle bg-bg-surface",
244
- children: [/* @__PURE__ */ M("div", {
283
+ children: [/* @__PURE__ */ C("div", {
245
284
  className: "p-3 border-b border-border-subtle",
246
- children: /* @__PURE__ */ M("p", {
285
+ children: /* @__PURE__ */ C("p", {
247
286
  className: "text-sm font-semibold text-text-primary",
248
- children: Y("kadaikodi.settings.title", "Settings")
287
+ children: q("kadaikodi.settings.title", "Settings")
249
288
  })
250
- }), /* @__PURE__ */ M("nav", {
289
+ }), /* @__PURE__ */ C("nav", {
251
290
  className: "p-2",
252
- children: X.map((e) => {
291
+ children: Y.map((e) => {
253
292
  let n = e.icon;
254
- return /* @__PURE__ */ N("button", {
293
+ return /* @__PURE__ */ w("button", {
255
294
  type: "button",
256
- onClick: () => B(e.id),
257
- className: t("flex w-full items-center gap-2.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors mb-0.5", A === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
258
- children: [/* @__PURE__ */ M(n, { className: "h-4 w-4" }), e.label]
295
+ onClick: () => R(e.id),
296
+ className: t("flex w-full items-center gap-2.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors mb-0.5", L === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
297
+ children: [/* @__PURE__ */ C(n, { className: "h-4 w-4" }), e.label]
259
298
  }, e.id);
260
299
  })
261
300
  })]
262
301
  })]
263
- }), /* @__PURE__ */ M(P, {
302
+ }), /* @__PURE__ */ C(ae, {
264
303
  className: "flex-1 p-6",
265
304
  children: {
266
- profile: () => /* @__PURE__ */ N("div", {
305
+ profile: () => /* @__PURE__ */ w("div", {
267
306
  className: "space-y-6",
268
307
  children: [
269
- /* @__PURE__ */ M("h3", {
308
+ /* @__PURE__ */ C("h3", {
270
309
  className: "text-base font-semibold text-text-primary",
271
310
  children: "Personal Information"
272
311
  }),
273
- /* @__PURE__ */ N("div", {
312
+ /* @__PURE__ */ w("div", {
274
313
  className: "flex items-center gap-4",
275
- children: [/* @__PURE__ */ N("div", {
314
+ children: [/* @__PURE__ */ w("div", {
276
315
  className: "relative",
277
- children: [V.profile.profilePicture ? /* @__PURE__ */ M("img", {
278
- src: V.profile.profilePicture,
316
+ children: [I.avatar ? /* @__PURE__ */ C("img", {
317
+ src: I.avatar,
279
318
  alt: "Profile",
280
319
  className: "h-20 w-20 rounded-full object-cover border border-border-subtle"
281
- }) : /* @__PURE__ */ M("div", {
320
+ }) : /* @__PURE__ */ C("div", {
282
321
  className: "flex h-20 w-20 items-center justify-center rounded-full border border-border-subtle bg-bg-sunken text-lg font-semibold text-text-secondary",
283
- children: ((V.profile.firstName[0] ?? "") + (V.profile.lastName[0] ?? "")).toUpperCase() || (V.profile.email[0] ?? "?").toUpperCase()
284
- }), /* @__PURE__ */ M("button", {
322
+ children: I.initials
323
+ }), /* @__PURE__ */ C("button", {
285
324
  type: "button",
286
- onClick: () => alert("Photo upload coming soon"),
325
+ onClick: Q,
326
+ "aria-label": "Update profile photo in Account Security",
327
+ title: "Update your photo in Account Security",
287
328
  className: "absolute -bottom-1 -right-1 flex h-7 w-7 items-center justify-center rounded-full bg-action-primary-bg text-action-primary-text shadow-sm hover:bg-action-primary-bg/90",
288
- children: /* @__PURE__ */ M(u, { className: "h-3.5 w-3.5" })
329
+ children: /* @__PURE__ */ C(te, { className: "h-3.5 w-3.5" })
289
330
  })]
290
- }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
331
+ }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
291
332
  className: "text-sm font-medium text-text-primary",
292
333
  children: "Profile Picture"
293
- }), /* @__PURE__ */ M("p", {
334
+ }), /* @__PURE__ */ C("p", {
294
335
  className: "text-xs text-text-secondary",
295
- children: "Upload a new photo (JPG, PNG, max 2MB)"
296
- })] })]
297
- }),
298
- /* @__PURE__ */ N("div", {
299
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
300
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
301
- className: "block text-sm font-medium text-text-primary mb-1.5",
302
- children: "First Name *"
303
- }), /* @__PURE__ */ M("input", {
304
- type: "text",
305
- value: V.profile.firstName,
306
- onChange: (e) => Z("profile", "firstName", e.target.value),
307
- className: "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)]"
308
- })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
309
- className: "block text-sm font-medium text-text-primary mb-1.5",
310
- children: "Last Name *"
311
- }), /* @__PURE__ */ M("input", {
312
- type: "text",
313
- value: V.profile.lastName,
314
- onChange: (e) => Z("profile", "lastName", e.target.value),
315
- className: "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)]"
336
+ children: "Your photo is managed in Account Security."
316
337
  })] })]
317
338
  }),
318
- /* @__PURE__ */ N("div", {
319
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
320
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
321
- className: "block text-sm font-medium text-text-primary mb-1.5",
322
- children: "Email Address *"
323
- }), /* @__PURE__ */ M("input", {
324
- type: "email",
325
- value: V.profile.email,
326
- onChange: (e) => Z("profile", "email", e.target.value),
327
- className: "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)]"
328
- })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
329
- className: "block text-sm font-medium text-text-primary mb-1.5",
330
- children: "Phone Number"
331
- }), /* @__PURE__ */ M("input", {
332
- type: "tel",
333
- value: V.profile.phone,
334
- onChange: (e) => Z("profile", "phone", e.target.value),
335
- className: "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)]"
336
- })] })]
339
+ /* @__PURE__ */ w("div", {
340
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
341
+ children: [/* @__PURE__ */ w("div", {
342
+ className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
343
+ children: [/* @__PURE__ */ w("div", {
344
+ className: "grid grid-cols-1 gap-3 sm:grid-cols-2 flex-1",
345
+ children: [
346
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
347
+ className: "text-xs text-text-secondary mb-0.5",
348
+ children: "Full Name"
349
+ }), /* @__PURE__ */ C("p", {
350
+ className: "text-sm font-medium text-text-primary",
351
+ children: I.fullName
352
+ })] }),
353
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
354
+ className: "text-xs text-text-secondary mb-0.5",
355
+ children: "Email Address"
356
+ }), /* @__PURE__ */ C("p", {
357
+ className: "text-sm font-medium text-text-primary break-all",
358
+ children: I.email || "—"
359
+ })] }),
360
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
361
+ className: "text-xs text-text-secondary mb-0.5",
362
+ children: "Phone Number"
363
+ }), /* @__PURE__ */ C("p", {
364
+ className: "text-sm font-medium text-text-primary",
365
+ children: I.phone || "—"
366
+ })] })
367
+ ]
368
+ }), /* @__PURE__ */ C($, { label: "Manage in Account Security" })]
369
+ }), /* @__PURE__ */ C("p", {
370
+ className: "text-xs text-text-secondary mt-3",
371
+ children: "Your name, email and phone are part of your account identity and are managed centrally in Account Security."
372
+ })]
337
373
  }),
338
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
374
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
339
375
  className: "block text-sm font-medium text-text-primary mb-1.5",
340
376
  children: "Bio"
341
- }), /* @__PURE__ */ M("textarea", {
377
+ }), /* @__PURE__ */ C("textarea", {
342
378
  rows: 3,
343
- value: V.profile.bio,
344
- onChange: (e) => Z("profile", "bio", e.target.value),
379
+ value: z.profileExtra.bio,
380
+ onChange: (e) => X("profileExtra", "bio", e.target.value),
345
381
  placeholder: "Tell us about yourself...",
346
382
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
347
383
  })] }),
348
- /* @__PURE__ */ N("div", {
384
+ /* @__PURE__ */ w("div", {
349
385
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
350
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
386
+ children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
351
387
  className: "block text-sm font-medium text-text-primary mb-1.5",
352
388
  children: "Date of Birth"
353
- }), /* @__PURE__ */ M("input", {
389
+ }), /* @__PURE__ */ C("input", {
354
390
  type: "date",
355
- value: V.profile.dateOfBirth,
356
- onChange: (e) => Z("profile", "dateOfBirth", e.target.value),
391
+ value: z.profileExtra.dateOfBirth,
392
+ onChange: (e) => X("profileExtra", "dateOfBirth", e.target.value),
357
393
  className: "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)]"
358
- })] }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
394
+ })] }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
359
395
  className: "block text-sm font-medium text-text-primary mb-1.5",
360
396
  children: "Gender"
361
- }), /* @__PURE__ */ N("select", {
362
- value: V.profile.gender,
363
- onChange: (e) => Z("profile", "gender", e.target.value),
397
+ }), /* @__PURE__ */ w("select", {
398
+ value: z.profileExtra.gender,
399
+ onChange: (e) => X("profileExtra", "gender", e.target.value),
364
400
  className: "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)]",
365
401
  children: [
366
- /* @__PURE__ */ M("option", {
402
+ /* @__PURE__ */ C("option", {
367
403
  value: "",
368
404
  children: "Select gender"
369
405
  }),
370
- /* @__PURE__ */ M("option", {
406
+ /* @__PURE__ */ C("option", {
371
407
  value: "male",
372
408
  children: "Male"
373
409
  }),
374
- /* @__PURE__ */ M("option", {
410
+ /* @__PURE__ */ C("option", {
375
411
  value: "female",
376
412
  children: "Female"
377
413
  }),
378
- /* @__PURE__ */ M("option", {
414
+ /* @__PURE__ */ C("option", {
379
415
  value: "other",
380
416
  children: "Other"
381
417
  }),
382
- /* @__PURE__ */ M("option", {
418
+ /* @__PURE__ */ C("option", {
383
419
  value: "prefer-not-to-say",
384
420
  children: "Prefer not to say"
385
421
  })
@@ -388,100 +424,85 @@ function B() {
388
424
  })
389
425
  ]
390
426
  }),
391
- preferences: () => /* @__PURE__ */ N("div", {
427
+ preferences: () => /* @__PURE__ */ w("div", {
392
428
  className: "space-y-6",
393
429
  children: [
394
- /* @__PURE__ */ M("h3", {
430
+ /* @__PURE__ */ C("h3", {
395
431
  className: "text-base font-semibold text-text-primary",
396
432
  children: "App Preferences"
397
433
  }),
398
- /* @__PURE__ */ N("div", {
434
+ /* @__PURE__ */ w("div", {
399
435
  className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
400
436
  children: [
401
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
402
- className: "block text-sm font-medium text-text-primary mb-1.5",
403
- children: /* @__PURE__ */ N("span", {
404
- className: "flex items-center gap-1.5",
405
- children: [/* @__PURE__ */ M(m, { className: "h-4 w-4 text-text-secondary" }), " Language"]
406
- })
407
- }), /* @__PURE__ */ N("select", {
408
- value: V.preferences.language,
409
- onChange: (e) => Z("preferences", "language", e.target.value),
410
- className: "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)]",
411
- children: [
412
- /* @__PURE__ */ M("option", {
413
- value: "en",
414
- children: "English"
415
- }),
416
- /* @__PURE__ */ M("option", {
417
- value: "hi",
418
- children: "Hindi"
419
- }),
420
- /* @__PURE__ */ M("option", {
421
- value: "ta",
422
- children: "Tamil"
423
- }),
424
- /* @__PURE__ */ M("option", {
425
- value: "kn",
426
- children: "Kannada"
427
- }),
428
- /* @__PURE__ */ M("option", {
429
- value: "te",
430
- children: "Telugu"
431
- }),
432
- /* @__PURE__ */ M("option", {
433
- value: "ml",
434
- children: "Malayalam"
437
+ /* @__PURE__ */ w("div", { children: [
438
+ /* @__PURE__ */ C("label", {
439
+ className: "block text-sm font-medium text-text-primary mb-1.5",
440
+ children: /* @__PURE__ */ w("span", {
441
+ className: "flex items-center gap-1.5",
442
+ children: [/* @__PURE__ */ C(f, { className: "h-4 w-4 text-text-secondary" }), " Language"]
435
443
  })
436
- ]
437
- })] }),
438
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
444
+ }),
445
+ /* @__PURE__ */ C("select", {
446
+ value: k.some((e) => e.value === M) ? M : "en",
447
+ onChange: (e) => de(e.target.value),
448
+ className: "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)]",
449
+ children: k.map((e) => /* @__PURE__ */ C("option", {
450
+ value: e.value,
451
+ children: e.label
452
+ }, e.value))
453
+ }),
454
+ /* @__PURE__ */ C("p", {
455
+ className: "mt-1 text-xs text-text-secondary",
456
+ children: "Applies instantly across the app."
457
+ })
458
+ ] }),
459
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
439
460
  className: "block text-sm font-medium text-text-primary mb-1.5",
440
461
  children: "Timezone"
441
- }), /* @__PURE__ */ N("select", {
442
- value: V.preferences.timezone,
443
- onChange: (e) => Z("preferences", "timezone", e.target.value),
462
+ }), /* @__PURE__ */ w("select", {
463
+ value: z.preferences.timezone,
464
+ onChange: (e) => X("preferences", "timezone", e.target.value),
444
465
  className: "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)]",
445
466
  children: [
446
- /* @__PURE__ */ M("option", {
467
+ /* @__PURE__ */ C("option", {
447
468
  value: "Asia/Kolkata",
448
469
  children: "India (IST)"
449
470
  }),
450
- /* @__PURE__ */ M("option", {
471
+ /* @__PURE__ */ C("option", {
451
472
  value: "Asia/Dubai",
452
473
  children: "Dubai (GST)"
453
474
  }),
454
- /* @__PURE__ */ M("option", {
475
+ /* @__PURE__ */ C("option", {
455
476
  value: "Europe/London",
456
477
  children: "London (GMT)"
457
478
  }),
458
- /* @__PURE__ */ M("option", {
479
+ /* @__PURE__ */ C("option", {
459
480
  value: "America/New_York",
460
481
  children: "New York (EST)"
461
482
  })
462
483
  ]
463
484
  })] }),
464
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
485
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
465
486
  className: "block text-sm font-medium text-text-primary mb-1.5",
466
487
  children: "Currency"
467
- }), /* @__PURE__ */ N("select", {
468
- value: V.preferences.currency,
469
- onChange: (e) => Z("preferences", "currency", e.target.value),
488
+ }), /* @__PURE__ */ w("select", {
489
+ value: z.preferences.currency,
490
+ onChange: (e) => X("preferences", "currency", e.target.value),
470
491
  className: "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)]",
471
492
  children: [
472
- /* @__PURE__ */ M("option", {
493
+ /* @__PURE__ */ C("option", {
473
494
  value: "INR",
474
495
  children: "Indian Rupee (₹)"
475
496
  }),
476
- /* @__PURE__ */ M("option", {
497
+ /* @__PURE__ */ C("option", {
477
498
  value: "USD",
478
499
  children: "US Dollar ($)"
479
500
  }),
480
- /* @__PURE__ */ M("option", {
501
+ /* @__PURE__ */ C("option", {
481
502
  value: "EUR",
482
503
  children: "Euro (€)"
483
504
  }),
484
- /* @__PURE__ */ M("option", {
505
+ /* @__PURE__ */ C("option", {
485
506
  value: "GBP",
486
507
  children: "British Pound (£)"
487
508
  })
@@ -489,50 +510,57 @@ function B() {
489
510
  })] })
490
511
  ]
491
512
  }),
492
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
493
- className: "block text-sm font-medium text-text-primary mb-3",
494
- children: "Theme"
495
- }), /* @__PURE__ */ M("div", {
496
- className: "flex gap-3 flex-wrap",
497
- children: [
498
- {
499
- value: "light",
500
- label: "Light",
501
- Icon: O
502
- },
503
- {
504
- value: "dark",
505
- label: "Dark",
506
- Icon: x
507
- },
508
- {
509
- value: "system",
510
- label: "System",
511
- Icon: b
512
- }
513
- ].map(({ value: e, label: n, Icon: r }) => /* @__PURE__ */ N("label", {
514
- className: t("flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm font-medium cursor-pointer transition-colors", V.preferences.theme === e ? "border-primary bg-action-primary-bg/10 text-text-primary" : "border-border-subtle text-text-secondary hover:border-border-strong hover:text-text-primary"),
513
+ /* @__PURE__ */ w("div", { children: [
514
+ /* @__PURE__ */ C("label", {
515
+ className: "block text-sm font-medium text-text-primary mb-3",
516
+ children: "Theme"
517
+ }),
518
+ /* @__PURE__ */ C("div", {
519
+ className: "flex gap-3 flex-wrap",
515
520
  children: [
516
- /* @__PURE__ */ M("input", {
517
- type: "radio",
518
- name: "theme",
519
- value: e,
520
- checked: V.preferences.theme === e,
521
- onChange: (e) => Z("preferences", "theme", e.target.value),
522
- className: "sr-only"
523
- }),
524
- /* @__PURE__ */ M(r, { className: "h-4 w-4" }),
525
- n
526
- ]
527
- }, e))
528
- })] }),
529
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("div", {
521
+ {
522
+ value: "light",
523
+ label: "Light",
524
+ Icon: re
525
+ },
526
+ {
527
+ value: "dark",
528
+ label: "Dark",
529
+ Icon: g
530
+ },
531
+ {
532
+ value: "system",
533
+ label: "System",
534
+ Icon: h
535
+ }
536
+ ].map(({ value: e, label: n, Icon: r }) => /* @__PURE__ */ w("label", {
537
+ className: t("flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm font-medium cursor-pointer transition-colors", J === e ? "border-primary bg-action-primary-bg/10 text-text-primary" : "border-border-subtle text-text-secondary hover:border-border-strong hover:text-text-primary"),
538
+ children: [
539
+ /* @__PURE__ */ C("input", {
540
+ type: "radio",
541
+ name: "theme",
542
+ value: e,
543
+ checked: J === e,
544
+ onChange: (e) => ue(e.target.value),
545
+ className: "sr-only"
546
+ }),
547
+ /* @__PURE__ */ C(r, { className: "h-4 w-4" }),
548
+ n
549
+ ]
550
+ }, e))
551
+ }),
552
+ /* @__PURE__ */ C("p", {
553
+ className: "mt-2 text-xs text-text-secondary",
554
+ children: "Your theme applies immediately and is remembered on this device."
555
+ })
556
+ ] }),
557
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ w("div", {
530
558
  className: "flex items-center gap-2 mb-4",
531
- children: [/* @__PURE__ */ M(c, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ M("h4", {
559
+ children: [/* @__PURE__ */ C(s, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ C("h4", {
532
560
  className: "text-sm font-semibold text-text-primary",
533
561
  children: "Notification Preferences"
534
562
  })]
535
- }), /* @__PURE__ */ M("div", {
563
+ }), /* @__PURE__ */ C("div", {
536
564
  className: "space-y-3",
537
565
  children: [
538
566
  {
@@ -563,199 +591,108 @@ function B() {
563
591
  key: "security",
564
592
  label: "Security alerts"
565
593
  }
566
- ].map((e) => /* @__PURE__ */ N("div", {
594
+ ].map((e) => /* @__PURE__ */ w("div", {
567
595
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
568
- children: [/* @__PURE__ */ M("span", {
596
+ children: [/* @__PURE__ */ C("span", {
569
597
  className: "text-sm text-text-primary",
570
598
  children: e.label
571
- }), /* @__PURE__ */ M(z, {
572
- checked: V.preferences.notifications[e.key],
573
- onChange: (t) => Q("preferences", "notifications", e.key, t),
599
+ }), /* @__PURE__ */ C(A, {
600
+ checked: z.preferences.notifications[e.key],
601
+ onChange: (t) => Z("preferences", "notifications", e.key, t),
574
602
  label: e.label
575
603
  })]
576
604
  }, e.key))
577
605
  })] })
578
606
  ]
579
607
  }),
580
- security: () => /* @__PURE__ */ N("div", {
608
+ security: () => /* @__PURE__ */ w("div", {
581
609
  className: "space-y-6",
582
610
  children: [
583
- /* @__PURE__ */ M("h3", {
611
+ /* @__PURE__ */ C("h3", {
584
612
  className: "text-base font-semibold text-text-primary",
585
613
  children: "Security Settings"
586
614
  }),
587
- /* @__PURE__ */ N("div", {
615
+ /* @__PURE__ */ w("div", {
588
616
  className: "flex items-start gap-3 rounded-lg border border-status-warning-text/30 bg-status-warning-bg-subtle p-4",
589
- children: [/* @__PURE__ */ M(s, { className: "h-5 w-5 text-status-warning-text shrink-0 mt-0.5" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
617
+ children: [/* @__PURE__ */ C(o, { className: "h-5 w-5 text-status-warning-text shrink-0 mt-0.5" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
590
618
  className: "text-sm font-medium text-text-primary",
591
- children: "Account Security"
592
- }), /* @__PURE__ */ M("p", {
619
+ children: "Account Security is managed centrally"
620
+ }), /* @__PURE__ */ C("p", {
593
621
  className: "text-xs text-text-secondary",
594
- children: "Keep your account secure by enabling two-factor authentication and monitoring login activity."
622
+ children: "Your password, two-factor authentication, login alerts, active sessions and trusted devices are protected by the platform's Account Security. Manage them there to keep a single, secure source of truth for your account."
595
623
  })] })]
596
624
  }),
597
- /* @__PURE__ */ N("div", {
598
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
599
- children: [/* @__PURE__ */ N("div", {
600
- className: "flex-1",
601
- children: [/* @__PURE__ */ N("div", {
602
- className: "flex items-center gap-2",
603
- children: [/* @__PURE__ */ M(_, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ M("p", {
625
+ /* @__PURE__ */ C("div", {
626
+ className: "rounded-lg border border-border-subtle p-4 space-y-3",
627
+ children: [
628
+ {
629
+ icon: p,
630
+ label: "Password",
631
+ desc: "Change your account password."
632
+ },
633
+ {
634
+ icon: x,
635
+ label: "Two-Factor Authentication",
636
+ desc: "Add an extra layer of security with 2FA."
637
+ },
638
+ {
639
+ icon: h,
640
+ label: "Devices & Sessions",
641
+ desc: "Review active devices and sign out everywhere."
642
+ }
643
+ ].map((e) => {
644
+ let t = e.icon;
645
+ return /* @__PURE__ */ w("div", {
646
+ className: "flex items-start gap-3",
647
+ children: [/* @__PURE__ */ C(t, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
604
648
  className: "text-sm font-medium text-text-primary",
605
- children: "Two-Factor Authentication"
606
- })]
607
- }), /* @__PURE__ */ M("p", {
608
- className: "text-xs text-text-secondary mt-0.5 ml-6",
609
- children: "Add an extra layer of security to your account"
610
- })]
611
- }), /* @__PURE__ */ M(z, {
612
- checked: V.security.twoFactorEnabled,
613
- onChange: (e) => Z("security", "twoFactorEnabled", e),
614
- label: "Two-factor authentication"
615
- })]
616
- }),
617
- /* @__PURE__ */ N("div", {
618
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
619
- children: [/* @__PURE__ */ N("div", {
620
- className: "flex-1",
621
- children: [/* @__PURE__ */ M("p", {
622
- className: "text-sm font-medium text-text-primary",
623
- children: "Login Alerts"
624
- }), /* @__PURE__ */ M("p", {
625
- className: "text-xs text-text-secondary mt-0.5",
626
- children: "Get notified when someone logs into your account"
627
- })]
628
- }), /* @__PURE__ */ M(z, {
629
- checked: V.security.loginAlerts,
630
- onChange: (e) => Z("security", "loginAlerts", e),
631
- label: "Login alerts"
632
- })]
633
- }),
634
- /* @__PURE__ */ N("div", {
635
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
636
- children: [/* @__PURE__ */ N("div", {
637
- className: "flex-1",
638
- children: [/* @__PURE__ */ M("p", {
639
- className: "text-sm font-medium text-text-primary",
640
- children: "Session Timeout"
641
- }), /* @__PURE__ */ M("p", {
642
- className: "text-xs text-text-secondary mt-0.5",
643
- children: "Auto-logout after inactivity"
644
- })]
645
- }), /* @__PURE__ */ N("select", {
646
- value: V.security.sessionTimeout,
647
- onChange: (e) => Z("security", "sessionTimeout", e.target.value),
648
- className: "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)] w-36",
649
- children: [
650
- /* @__PURE__ */ M("option", {
651
- value: "15",
652
- children: "15 minutes"
653
- }),
654
- /* @__PURE__ */ M("option", {
655
- value: "30",
656
- children: "30 minutes"
657
- }),
658
- /* @__PURE__ */ M("option", {
659
- value: "60",
660
- children: "1 hour"
661
- }),
662
- /* @__PURE__ */ M("option", {
663
- value: "120",
664
- children: "2 hours"
665
- }),
666
- /* @__PURE__ */ M("option", {
667
- value: "0",
668
- children: "Never"
669
- })
670
- ]
671
- })]
672
- }),
673
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
674
- className: "text-sm font-semibold text-text-primary mb-3",
675
- children: "Trusted Devices"
676
- }), /* @__PURE__ */ M("div", {
677
- className: "space-y-3",
678
- children: V.security.trustedDevices.map((e) => /* @__PURE__ */ N("div", {
679
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
680
- children: [/* @__PURE__ */ N("div", {
681
- className: "flex items-center gap-3",
682
- children: [e.os.toLowerCase().includes("mac") || e.os.toLowerCase().includes("windows") ? /* @__PURE__ */ M(h, { className: "h-5 w-5 text-text-secondary shrink-0" }) : /* @__PURE__ */ M(D, { className: "h-5 w-5 text-text-secondary shrink-0" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("div", {
683
- className: "flex items-center gap-2",
684
- children: [/* @__PURE__ */ M("p", {
685
- className: "text-sm font-medium text-text-primary",
686
- children: e.name
687
- }), e.isCurrent && /* @__PURE__ */ M("span", {
688
- className: "inline-flex items-center rounded-full bg-status-success-bg-subtle px-2 py-0.5 text-xs font-medium text-status-success-text",
689
- children: "Current"
690
- })]
691
- }), /* @__PURE__ */ N("p", {
649
+ children: e.label
650
+ }), /* @__PURE__ */ C("p", {
692
651
  className: "text-xs text-text-secondary",
693
- children: [
694
- e.browser,
695
- " · ",
696
- e.os
697
- ]
652
+ children: e.desc
698
653
  })] })]
699
- }), !e.isCurrent && /* @__PURE__ */ M("button", {
700
- type: "button",
701
- onClick: () => te(e.id),
702
- className: "rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-status-error-text hover:bg-status-error-bg/10 transition-colors",
703
- children: "Remove"
704
- })]
705
- }, e.id))
706
- })] }),
707
- /* @__PURE__ */ N("div", {
708
- className: "flex flex-wrap gap-3",
709
- children: [/* @__PURE__ */ N("button", {
710
- type: "button",
711
- onClick: () => alert("Password change functionality coming soon"),
712
- className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
713
- children: [/* @__PURE__ */ M(_, { className: "h-4 w-4" }), "Change Password"]
714
- }), /* @__PURE__ */ N("button", {
715
- type: "button",
716
- onClick: ne,
717
- className: "flex items-center gap-1.5 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
718
- children: [/* @__PURE__ */ M(v, { className: "h-4 w-4" }), "Logout All Devices"]
719
- })]
720
- })
654
+ }, e.label);
655
+ })
656
+ }),
657
+ /* @__PURE__ */ C($, { label: "Manage in Account Security" })
721
658
  ]
722
659
  }),
723
- privacy: () => /* @__PURE__ */ N("div", {
660
+ privacy: () => /* @__PURE__ */ w("div", {
724
661
  className: "space-y-6",
725
662
  children: [
726
- /* @__PURE__ */ M("h3", {
663
+ /* @__PURE__ */ C("h3", {
727
664
  className: "text-base font-semibold text-text-primary",
728
665
  children: "Privacy Controls"
729
666
  }),
730
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
667
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
731
668
  className: "block text-sm font-medium text-text-primary mb-1.5",
732
- children: /* @__PURE__ */ N("span", {
669
+ children: /* @__PURE__ */ w("span", {
733
670
  className: "flex items-center gap-1.5",
734
- children: [/* @__PURE__ */ M(p, { className: "h-4 w-4 text-text-secondary" }), " Profile Visibility"]
671
+ children: [/* @__PURE__ */ C(d, { className: "h-4 w-4 text-text-secondary" }), " Profile Visibility"]
735
672
  })
736
- }), /* @__PURE__ */ N("select", {
737
- value: V.privacy.profileVisibility,
738
- onChange: (e) => Z("privacy", "profileVisibility", e.target.value),
673
+ }), /* @__PURE__ */ w("select", {
674
+ value: z.privacy.profileVisibility,
675
+ onChange: (e) => X("privacy", "profileVisibility", e.target.value),
739
676
  className: "w-full max-w-sm 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)]",
740
677
  children: [
741
- /* @__PURE__ */ M("option", {
678
+ /* @__PURE__ */ C("option", {
742
679
  value: "public",
743
680
  children: "Public - Anyone can see your profile"
744
681
  }),
745
- /* @__PURE__ */ M("option", {
682
+ /* @__PURE__ */ C("option", {
746
683
  value: "private",
747
684
  children: "Private - Only you can see your profile"
748
685
  }),
749
- /* @__PURE__ */ M("option", {
686
+ /* @__PURE__ */ C("option", {
750
687
  value: "friends",
751
688
  children: "Friends - Only friends can see your profile"
752
689
  })
753
690
  ]
754
691
  })] }),
755
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
692
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
756
693
  className: "text-sm font-semibold text-text-primary mb-3",
757
694
  children: "Data Sharing"
758
- }), /* @__PURE__ */ M("div", {
695
+ }), /* @__PURE__ */ C("div", {
759
696
  className: "space-y-3",
760
697
  children: [
761
698
  {
@@ -770,215 +707,194 @@ function B() {
770
707
  key: "thirdParty",
771
708
  label: "Share data with third-party partners"
772
709
  }
773
- ].map((e) => /* @__PURE__ */ N("div", {
710
+ ].map((e) => /* @__PURE__ */ w("div", {
774
711
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
775
- children: [/* @__PURE__ */ M("span", {
712
+ children: [/* @__PURE__ */ C("span", {
776
713
  className: "text-sm text-text-primary",
777
714
  children: e.label
778
- }), /* @__PURE__ */ M(z, {
779
- checked: V.privacy.dataSharing[e.key],
780
- onChange: (t) => Q("privacy", "dataSharing", e.key, t),
715
+ }), /* @__PURE__ */ C(A, {
716
+ checked: z.privacy.dataSharing[e.key],
717
+ onChange: (t) => Z("privacy", "dataSharing", e.key, t),
781
718
  label: e.label
782
719
  })]
783
720
  }, e.key))
784
721
  })] }),
785
- /* @__PURE__ */ N("div", {
722
+ /* @__PURE__ */ w("div", {
786
723
  className: "space-y-3",
787
- children: [/* @__PURE__ */ N("div", {
724
+ children: [/* @__PURE__ */ w("div", {
788
725
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
789
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
726
+ children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
790
727
  className: "text-sm font-medium text-text-primary",
791
728
  children: "Location Tracking"
792
- }), /* @__PURE__ */ M("p", {
729
+ }), /* @__PURE__ */ C("p", {
793
730
  className: "text-xs text-text-secondary",
794
731
  children: "Allow app to track your location for better service"
795
- })] }), /* @__PURE__ */ M(z, {
796
- checked: V.privacy.locationTracking,
797
- onChange: (e) => Z("privacy", "locationTracking", e),
732
+ })] }), /* @__PURE__ */ C(A, {
733
+ checked: z.privacy.locationTracking,
734
+ onChange: (e) => X("privacy", "locationTracking", e),
798
735
  label: "Location tracking"
799
736
  })]
800
- }), /* @__PURE__ */ N("div", {
737
+ }), /* @__PURE__ */ w("div", {
801
738
  className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
802
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
739
+ children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
803
740
  className: "text-sm font-medium text-text-primary",
804
741
  children: "Activity History"
805
- }), /* @__PURE__ */ M("p", {
742
+ }), /* @__PURE__ */ C("p", {
806
743
  className: "text-xs text-text-secondary",
807
744
  children: "Keep track of your orders and activities"
808
- })] }), /* @__PURE__ */ M(z, {
809
- checked: V.privacy.activityHistory,
810
- onChange: (e) => Z("privacy", "activityHistory", e),
745
+ })] }), /* @__PURE__ */ C(A, {
746
+ checked: z.privacy.activityHistory,
747
+ onChange: (e) => X("privacy", "activityHistory", e),
811
748
  label: "Activity history"
812
749
  })]
813
750
  })]
814
751
  }),
815
- /* @__PURE__ */ M("div", {
752
+ /* @__PURE__ */ C("div", {
816
753
  className: "rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle p-4",
817
- children: /* @__PURE__ */ N("div", {
754
+ children: /* @__PURE__ */ w("div", {
818
755
  className: "flex items-start gap-3",
819
- children: [/* @__PURE__ */ M(k, { className: "h-5 w-5 text-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ N("div", { children: [
820
- /* @__PURE__ */ M("p", {
756
+ children: [/* @__PURE__ */ C(ie, { className: "h-5 w-5 text-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ w("div", { children: [
757
+ /* @__PURE__ */ C("p", {
821
758
  className: "text-sm font-medium text-text-primary",
822
759
  children: "Delete Account"
823
760
  }),
824
- /* @__PURE__ */ M("p", {
761
+ /* @__PURE__ */ C("p", {
825
762
  className: "text-xs text-text-secondary mt-0.5",
826
- children: "Permanently delete your account and all associated data. This action cannot be undone."
763
+ children: "Permanently delete your account and all associated data. This is handled by our support team and cannot be undone once processed."
827
764
  }),
828
- /* @__PURE__ */ M("button", {
765
+ /* @__PURE__ */ C("button", {
829
766
  type: "button",
830
- onClick: re,
767
+ onClick: pe,
831
768
  className: "mt-3 rounded-lg border border-status-error-text/30 px-4 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg/10 transition-colors",
832
- children: "Delete Account"
769
+ children: "Request Account Deletion"
833
770
  })
834
771
  ] })]
835
772
  })
836
773
  })
837
774
  ]
838
775
  }),
839
- billing: () => /* @__PURE__ */ N("div", {
776
+ billing: () => /* @__PURE__ */ w("div", {
840
777
  className: "space-y-6",
841
778
  children: [
842
- /* @__PURE__ */ M("h3", {
779
+ /* @__PURE__ */ C("h3", {
843
780
  className: "text-base font-semibold text-text-primary",
844
781
  children: "Billing & Payments"
845
782
  }),
846
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
783
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
847
784
  className: "text-sm font-semibold text-text-primary mb-3",
848
- children: /* @__PURE__ */ N("span", {
785
+ children: /* @__PURE__ */ w("span", {
849
786
  className: "flex items-center gap-1.5",
850
- children: [/* @__PURE__ */ M(f, { className: "h-4 w-4 text-text-secondary" }), " Default Payment Method"]
787
+ children: [/* @__PURE__ */ C(u, { className: "h-4 w-4 text-text-secondary" }), " Default Payment Method"]
851
788
  })
852
- }), V.billing.paymentMethod ? /* @__PURE__ */ N("div", {
853
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
854
- children: [/* @__PURE__ */ N("div", {
855
- className: "flex items-center gap-3",
856
- children: [/* @__PURE__ */ M(f, { className: "h-6 w-6 text-text-secondary" }), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("p", {
857
- className: "text-sm font-medium text-text-primary",
858
- children: [
859
- V.billing.paymentMethod.provider,
860
- " ending in",
861
- " ",
862
- V.billing.paymentMethod.last4
863
- ]
864
- }), /* @__PURE__ */ M("p", {
865
- className: "text-xs text-text-secondary capitalize",
866
- children: V.billing.paymentMethod.type
867
- })] })]
868
- }), /* @__PURE__ */ M("button", {
869
- type: "button",
870
- onClick: () => alert("Change payment method coming soon"),
871
- className: "rounded-lg border border-border-subtle px-3 py-1.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
872
- children: "Change"
873
- })]
874
- }) : /* @__PURE__ */ N("div", {
789
+ }), /* @__PURE__ */ w("div", {
875
790
  className: "rounded-lg border border-border-subtle p-4 text-center",
876
- children: [/* @__PURE__ */ M("p", {
791
+ children: [/* @__PURE__ */ C("p", {
877
792
  className: "text-sm text-text-secondary",
878
- children: "No default payment method set"
879
- }), /* @__PURE__ */ M("button", {
793
+ children: "Saved payment methods aren't available yet."
794
+ }), /* @__PURE__ */ C("button", {
880
795
  type: "button",
881
- onClick: () => alert("Add payment method coming soon"),
882
- className: "mt-2 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",
883
- children: "Add Payment Method"
796
+ disabled: !0,
797
+ "aria-disabled": "true",
798
+ title: "Coming soon",
799
+ className: "mt-2 cursor-not-allowed rounded-lg bg-bg-sunken px-4 py-2 text-sm font-medium text-text-secondary",
800
+ children: "Add Payment Method (coming soon)"
884
801
  })]
885
802
  })] }),
886
- /* @__PURE__ */ N("div", { children: [
887
- /* @__PURE__ */ M("h4", {
888
- className: "text-sm font-semibold text-text-primary mb-3",
889
- children: "Auto Recharge"
890
- }),
891
- /* @__PURE__ */ N("div", {
892
- className: "flex items-center justify-between rounded-lg border border-border-subtle p-4 mb-3",
893
- children: [/* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("p", {
894
- className: "text-sm font-medium text-text-primary",
895
- children: "Enable Auto Recharge"
896
- }), /* @__PURE__ */ M("p", {
897
- className: "text-xs text-text-secondary",
898
- children: "Automatically add money when wallet balance is low"
899
- })] }), /* @__PURE__ */ M(z, {
900
- checked: V.billing.autoRecharge,
901
- onChange: (e) => Z("billing", "autoRecharge", e),
902
- label: "Auto recharge"
903
- })]
904
- }),
905
- V.billing.autoRecharge && /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
906
- className: "block text-sm font-medium text-text-primary mb-1.5",
907
- children: "Auto Recharge Amount (₹)"
908
- }), /* @__PURE__ */ M("input", {
909
- type: "number",
910
- value: V.billing.autoRechargeAmount,
911
- onChange: (e) => Z("billing", "autoRechargeAmount", e.target.value),
912
- placeholder: "1000",
913
- className: "w-full max-w-xs 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)]"
914
- })] })
915
- ] }),
916
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
803
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
804
+ className: "text-sm font-semibold text-text-primary mb-3",
805
+ children: "Auto Recharge"
806
+ }), /* @__PURE__ */ w("div", {
807
+ className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
808
+ children: [/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
809
+ className: "text-sm font-medium text-text-primary",
810
+ children: "Enable Auto Recharge"
811
+ }), /* @__PURE__ */ C("p", {
812
+ className: "text-xs text-text-secondary",
813
+ children: "Automatically add money when wallet balance is low — coming soon."
814
+ })] }), /* @__PURE__ */ C("button", {
815
+ type: "button",
816
+ role: "switch",
817
+ "aria-checked": !1,
818
+ "aria-disabled": "true",
819
+ disabled: !0,
820
+ title: "Coming soon",
821
+ className: "relative inline-flex h-6 w-11 items-center rounded-full bg-bg-sunken opacity-60 cursor-not-allowed shrink-0",
822
+ children: /* @__PURE__ */ C("span", { className: "inline-block h-4 w-4 translate-x-1 rounded-full bg-white" })
823
+ })]
824
+ })] }),
825
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
917
826
  className: "block text-sm font-medium text-text-primary mb-1.5",
918
- children: /* @__PURE__ */ N("span", {
827
+ children: /* @__PURE__ */ w("span", {
919
828
  className: "flex items-center gap-1.5",
920
- children: [/* @__PURE__ */ M(S, { className: "h-4 w-4 text-text-secondary" }), " Invoice Email"]
829
+ children: [/* @__PURE__ */ C(_, { className: "h-4 w-4 text-text-secondary" }), " Invoice Email"]
921
830
  })
922
- }), /* @__PURE__ */ M("input", {
831
+ }), /* @__PURE__ */ C("input", {
923
832
  type: "email",
924
- value: V.billing.invoiceEmail,
925
- onChange: (e) => Z("billing", "invoiceEmail", e.target.value),
833
+ value: z.billing.invoiceEmail,
834
+ onChange: (e) => X("billing", "invoiceEmail", e.target.value),
926
835
  placeholder: "billing@example.com",
927
836
  className: "w-full max-w-sm 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)]"
928
837
  })] }),
929
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("h4", {
930
- className: "text-sm font-semibold text-text-primary mb-3",
931
- children: /* @__PURE__ */ N("span", {
932
- className: "flex items-center gap-1.5",
933
- children: [/* @__PURE__ */ M(l, { className: "h-4 w-4 text-text-secondary" }), " Tax Information"]
838
+ /* @__PURE__ */ w("div", { children: [
839
+ /* @__PURE__ */ C("h4", {
840
+ className: "text-sm font-semibold text-text-primary mb-3",
841
+ children: /* @__PURE__ */ w("span", {
842
+ className: "flex items-center gap-1.5",
843
+ children: [/* @__PURE__ */ C(c, { className: "h-4 w-4 text-text-secondary" }), " Tax Information"]
844
+ })
845
+ }),
846
+ /* @__PURE__ */ w("div", {
847
+ className: "space-y-4",
848
+ children: [
849
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
850
+ className: "block text-sm font-medium text-text-primary mb-1.5",
851
+ children: "GST Number"
852
+ }), /* @__PURE__ */ C("input", {
853
+ type: "text",
854
+ value: z.billing.gstNumber,
855
+ onChange: (e) => X("billing", "gstNumber", e.target.value),
856
+ placeholder: "29ABCDE1234F1Z5",
857
+ className: "w-full max-w-sm 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)]"
858
+ })] }),
859
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
860
+ className: "block text-sm font-medium text-text-primary mb-1.5",
861
+ children: "Company Name"
862
+ }), /* @__PURE__ */ C("input", {
863
+ type: "text",
864
+ value: z.billing.companyName,
865
+ onChange: (e) => X("billing", "companyName", e.target.value),
866
+ placeholder: "Your Company Name",
867
+ className: "w-full max-w-sm 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)]"
868
+ })] }),
869
+ /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("label", {
870
+ className: "block text-sm font-medium text-text-primary mb-1.5",
871
+ children: /* @__PURE__ */ w("span", {
872
+ className: "flex items-center gap-1.5",
873
+ children: [/* @__PURE__ */ C(m, { className: "h-4 w-4 text-text-secondary" }), " Billing Address"]
874
+ })
875
+ }), /* @__PURE__ */ C("textarea", {
876
+ rows: 3,
877
+ value: z.billing.billingAddress,
878
+ onChange: (e) => X("billing", "billingAddress", e.target.value),
879
+ placeholder: "Enter your complete billing address",
880
+ className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
881
+ })] })
882
+ ]
883
+ }),
884
+ /* @__PURE__ */ C("p", {
885
+ className: "mt-3 text-xs text-text-secondary",
886
+ children: "Invoice and tax details are saved on this device for your convenience."
934
887
  })
935
- }), /* @__PURE__ */ N("div", {
936
- className: "space-y-4",
937
- children: [
938
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
939
- className: "block text-sm font-medium text-text-primary mb-1.5",
940
- children: "GST Number"
941
- }), /* @__PURE__ */ M("input", {
942
- type: "text",
943
- value: V.billing.gstNumber,
944
- onChange: (e) => Z("billing", "gstNumber", e.target.value),
945
- placeholder: "29ABCDE1234F1Z5",
946
- className: "w-full max-w-sm 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)]"
947
- })] }),
948
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
949
- className: "block text-sm font-medium text-text-primary mb-1.5",
950
- children: "Company Name"
951
- }), /* @__PURE__ */ M("input", {
952
- type: "text",
953
- value: V.billing.companyName,
954
- onChange: (e) => Z("billing", "companyName", e.target.value),
955
- placeholder: "Your Company Name",
956
- className: "w-full max-w-sm 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)]"
957
- })] }),
958
- /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ M("label", {
959
- className: "block text-sm font-medium text-text-primary mb-1.5",
960
- children: /* @__PURE__ */ N("span", {
961
- className: "flex items-center gap-1.5",
962
- children: [/* @__PURE__ */ M(y, { className: "h-4 w-4 text-text-secondary" }), " Billing Address"]
963
- })
964
- }), /* @__PURE__ */ M("textarea", {
965
- rows: 3,
966
- value: V.billing.billingAddress,
967
- onChange: (e) => Z("billing", "billingAddress", e.target.value),
968
- placeholder: "Enter your complete billing address",
969
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] resize-none"
970
- })] })
971
- ]
972
- })] })
888
+ ] })
973
889
  ]
974
890
  })
975
- }[A]()
891
+ }[L]()
976
892
  })]
977
893
  })
978
894
  ]
979
895
  });
980
896
  }
981
897
  //#endregion
982
- export { B as SettingsPage };
898
+ export { j as SettingsPage };
983
899
 
984
900
  //# sourceMappingURL=SettingsPage.js.map