@burdenoff/microfe-kadaikodi 2026.827.1 → 2026.830.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.
- package/dist/kadaikodi/KadaikodiRoot.d.ts.map +1 -1
- package/dist/kadaikodi/KadaikodiRoot.js +69 -72
- package/dist/kadaikodi/KadaikodiRoot.js.map +1 -1
- package/dist/kadaikodi/components/InvestmentCard.d.ts.map +1 -1
- package/dist/kadaikodi/components/InvestmentCard.js +58 -54
- package/dist/kadaikodi/components/InvestmentCard.js.map +1 -1
- package/dist/kadaikodi/components/OrderCard.d.ts.map +1 -1
- package/dist/kadaikodi/components/StatusBadge.d.ts.map +1 -1
- package/dist/kadaikodi/components/StatusBadge.js +17 -13
- package/dist/kadaikodi/components/StatusBadge.js.map +1 -1
- package/dist/kadaikodi/pages/HomePage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/HomePage.js +284 -282
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +286 -286
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +97 -97
- package/dist/shared/hooks/useTr.d.ts +2 -0
- package/dist/shared/hooks/useTr.d.ts.map +1 -0
- package/dist/shared/hooks/useTr.js +14 -0
- package/dist/shared/hooks/useTr.js.map +1 -0
- package/package.json +1 -1
|
@@ -2,13 +2,13 @@ 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 {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { EmphasisPanel as
|
|
9
|
-
import { useTheme as
|
|
5
|
+
import { AlertTriangle as o, Bell as ee, Building2 as te, Camera as ne, CheckCircle2 as s, CreditCard as c, ExternalLink as re, Eye as l, Globe as ie, Lock as u, MapPin as d, Monitor as f, Moon as p, Receipt as m, RotateCcw as h, Save as g, Settings as _, Shield as v, Sun as ae, Trash2 as oe, User as y } from "lucide-react";
|
|
6
|
+
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
7
|
+
import { useI18n as se } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
+
import { EmphasisPanel as S, NextSteps as C, PagePurpose as ce } from "@burdenoff/fe-libs/ui";
|
|
9
|
+
import { useTheme as le } from "@burdenoff/fe-libs/shared/providers/shell/ThemeProvider";
|
|
10
10
|
//#region src/kadaikodi/pages/common/SettingsPage.tsx
|
|
11
|
-
var
|
|
11
|
+
var w = "kadaikodi-user-prefs", T = {
|
|
12
12
|
profileExtra: {
|
|
13
13
|
bio: "",
|
|
14
14
|
dateOfBirth: "",
|
|
@@ -44,16 +44,16 @@ var T = "kadaikodi-user-prefs", E = {
|
|
|
44
44
|
billingAddress: ""
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
|
-
function
|
|
47
|
+
function E(e) {
|
|
48
48
|
let t = {
|
|
49
|
-
...
|
|
49
|
+
...T,
|
|
50
50
|
billing: {
|
|
51
|
-
...
|
|
51
|
+
...T.billing,
|
|
52
52
|
invoiceEmail: e
|
|
53
53
|
}
|
|
54
54
|
};
|
|
55
55
|
try {
|
|
56
|
-
let e = localStorage.getItem(
|
|
56
|
+
let e = localStorage.getItem(w);
|
|
57
57
|
if (!e) return t;
|
|
58
58
|
let n = JSON.parse(e);
|
|
59
59
|
return {
|
|
@@ -86,33 +86,33 @@ function D(e) {
|
|
|
86
86
|
return t;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
var
|
|
89
|
+
var D = [
|
|
90
90
|
{
|
|
91
91
|
id: "profile",
|
|
92
92
|
label: "Profile",
|
|
93
|
-
icon:
|
|
93
|
+
icon: y
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
id: "preferences",
|
|
97
97
|
label: "Preferences",
|
|
98
|
-
icon:
|
|
98
|
+
icon: _
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
101
|
id: "security",
|
|
102
102
|
label: "Security",
|
|
103
|
-
icon:
|
|
103
|
+
icon: v
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
id: "privacy",
|
|
107
107
|
label: "Privacy",
|
|
108
|
-
icon:
|
|
108
|
+
icon: l
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
id: "billing",
|
|
112
112
|
label: "Billing",
|
|
113
|
-
icon:
|
|
113
|
+
icon: c
|
|
114
114
|
}
|
|
115
|
-
],
|
|
115
|
+
], O = [
|
|
116
116
|
{
|
|
117
117
|
value: "en",
|
|
118
118
|
label: "English"
|
|
@@ -126,45 +126,45 @@ var O = [
|
|
|
126
126
|
label: "Tamil"
|
|
127
127
|
}
|
|
128
128
|
];
|
|
129
|
-
function
|
|
130
|
-
return /* @__PURE__ */
|
|
129
|
+
function k({ checked: e, onChange: n, label: r }) {
|
|
130
|
+
return /* @__PURE__ */ b("button", {
|
|
131
131
|
type: "button",
|
|
132
132
|
role: "switch",
|
|
133
133
|
"aria-checked": e,
|
|
134
134
|
"aria-label": r,
|
|
135
135
|
onClick: () => n(!e),
|
|
136
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"),
|
|
137
|
-
children: /* @__PURE__ */
|
|
137
|
+
children: /* @__PURE__ */ b("span", { className: t("inline-block h-4 w-4 transform rounded-full bg-white transition-transform", e ? "translate-x-6" : "translate-x-1") })
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
|
-
function
|
|
141
|
-
let { currentUser:
|
|
142
|
-
let e =
|
|
140
|
+
function A() {
|
|
141
|
+
let { currentUser: _, navigateTo: y } = e(), { t: A, locale: j, setLocale: M } = se(), { mode: N, setMode: P } = le(), F = i(() => {
|
|
142
|
+
let e = _?.firstName ?? _?.name?.split(" ")[0] ?? "", t = _?.lastName ?? _?.name?.split(" ").slice(1).join(" ") ?? "", n = _?.email ?? "";
|
|
143
143
|
return {
|
|
144
144
|
firstName: e,
|
|
145
145
|
lastName: t,
|
|
146
|
-
fullName: [e, t].filter(Boolean).join(" ") ||
|
|
146
|
+
fullName: [e, t].filter(Boolean).join(" ") || _?.name || "—",
|
|
147
147
|
email: n,
|
|
148
|
-
phone:
|
|
149
|
-
avatar:
|
|
148
|
+
phone: _?.phone ?? "",
|
|
149
|
+
avatar: _?.avatar ?? _?.profilePicture ?? "",
|
|
150
150
|
initials: ((e[0] ?? "") + (t[0] ?? "")).toUpperCase() || (n[0] ?? "?").toUpperCase()
|
|
151
151
|
};
|
|
152
|
-
}, [
|
|
153
|
-
let n =
|
|
152
|
+
}, [_]), [I, L] = a("profile"), [R, z] = a(() => E(F.email)), [B, V] = a(!1), [H, U] = a(""), [W, G] = a(!1), K = r((e, t) => {
|
|
153
|
+
let n = A(e);
|
|
154
154
|
return n === e ? t : n;
|
|
155
|
-
}, [
|
|
155
|
+
}, [A]), q = N === "light" || N === "dark" || N === "system" ? N : "system", J = i(() => D.map((e) => ({
|
|
156
156
|
...e,
|
|
157
|
-
label: e.id === "profile" ?
|
|
158
|
-
})), [
|
|
159
|
-
|
|
157
|
+
label: e.id === "profile" ? K("kadaikodi.settings.tabs.profile", "Profile") : e.id === "preferences" ? K("kadaikodi.settings.tabs.preferences", "Preferences") : e.id === "security" ? K("kadaikodi.settings.tabs.security", "Security") : e.id === "privacy" ? K("kadaikodi.settings.tabs.privacy", "Privacy") : K("kadaikodi.settings.tabs.billing", "Billing")
|
|
158
|
+
})), [K]), Y = r((e, t, n) => {
|
|
159
|
+
z((r) => ({
|
|
160
160
|
...r,
|
|
161
161
|
[e]: {
|
|
162
162
|
...r[e],
|
|
163
163
|
[t]: n
|
|
164
164
|
}
|
|
165
|
-
})),
|
|
166
|
-
}, []),
|
|
167
|
-
|
|
165
|
+
})), V(!0), U("");
|
|
166
|
+
}, []), X = r((e, t, n, r) => {
|
|
167
|
+
z((i) => ({
|
|
168
168
|
...i,
|
|
169
169
|
[e]: {
|
|
170
170
|
...i[e],
|
|
@@ -173,249 +173,249 @@ function j() {
|
|
|
173
173
|
[n]: r
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
|
-
})),
|
|
177
|
-
}, []),
|
|
178
|
-
|
|
179
|
-
...
|
|
176
|
+
})), V(!0), U("");
|
|
177
|
+
}, []), ue = r(() => {
|
|
178
|
+
z({
|
|
179
|
+
...T,
|
|
180
180
|
billing: {
|
|
181
|
-
...
|
|
182
|
-
invoiceEmail:
|
|
181
|
+
...T.billing,
|
|
182
|
+
invoiceEmail: F.email
|
|
183
183
|
}
|
|
184
|
-
}),
|
|
185
|
-
}, [
|
|
186
|
-
|
|
187
|
-
}, [
|
|
188
|
-
|
|
189
|
-
}, [
|
|
184
|
+
}), V(!1), U(""), G(!1);
|
|
185
|
+
}, [F.email]), Z = r((e) => {
|
|
186
|
+
P(e);
|
|
187
|
+
}, [P]), de = r((e) => {
|
|
188
|
+
M(e);
|
|
189
|
+
}, [M]), fe = r(() => {
|
|
190
190
|
try {
|
|
191
|
-
localStorage.setItem(
|
|
191
|
+
localStorage.setItem(w, JSON.stringify(R)), V(!1), G(!1), U(K("kadaikodi.settings.saveSuccess", "Preferences saved on this device.")), window.setTimeout(() => U(""), 3e3);
|
|
192
192
|
} catch {
|
|
193
|
-
|
|
193
|
+
G(!0), U(K("kadaikodi.settings.saveError", "Could not save preferences on this device. Please check your browser storage settings."));
|
|
194
194
|
}
|
|
195
|
-
}, [
|
|
196
|
-
|
|
197
|
-
}, [
|
|
198
|
-
if (window.confirm(
|
|
199
|
-
let e = encodeURIComponent(`I would like to request deletion of my Kadaikodi account (${
|
|
195
|
+
}, [R, K]), Q = r(() => {
|
|
196
|
+
y("/auth/security");
|
|
197
|
+
}, [y]), pe = r(() => {
|
|
198
|
+
if (window.confirm(K("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 (${F.email}).`);
|
|
200
200
|
window.location.href = `mailto:support@kadaikodi.com?subject=Account%20deletion%20request&body=${e}`;
|
|
201
201
|
}
|
|
202
|
-
}, [
|
|
202
|
+
}, [K, F.email]), $ = ({ label: e }) => /* @__PURE__ */ x("button", {
|
|
203
203
|
type: "button",
|
|
204
204
|
onClick: Q,
|
|
205
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
206
|
children: [
|
|
207
|
-
/* @__PURE__ */
|
|
207
|
+
/* @__PURE__ */ b(v, { className: "h-4 w-4" }),
|
|
208
208
|
e,
|
|
209
|
-
/* @__PURE__ */
|
|
209
|
+
/* @__PURE__ */ b(re, { className: "h-3.5 w-3.5" })
|
|
210
210
|
]
|
|
211
211
|
});
|
|
212
|
-
return /* @__PURE__ */
|
|
213
|
-
title:
|
|
214
|
-
description:
|
|
215
|
-
actions: /* @__PURE__ */
|
|
212
|
+
return /* @__PURE__ */ x(n, {
|
|
213
|
+
title: K("kadaikodi.settings.title", "Settings"),
|
|
214
|
+
description: K("kadaikodi.settings.description", "Manage your preferences and account settings"),
|
|
215
|
+
actions: /* @__PURE__ */ x("div", {
|
|
216
216
|
className: "flex items-center gap-2",
|
|
217
|
-
children: [
|
|
217
|
+
children: [B && /* @__PURE__ */ x("button", {
|
|
218
218
|
type: "button",
|
|
219
|
-
onClick:
|
|
219
|
+
onClick: ue,
|
|
220
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",
|
|
221
|
-
children: [/* @__PURE__ */
|
|
222
|
-
}), /* @__PURE__ */
|
|
221
|
+
children: [/* @__PURE__ */ b(h, { className: "h-4 w-4" }), K("kadaikodi.settings.reset", "Reset")]
|
|
222
|
+
}), /* @__PURE__ */ x("button", {
|
|
223
223
|
type: "button",
|
|
224
|
-
disabled: !
|
|
224
|
+
disabled: !B,
|
|
225
225
|
onClick: fe,
|
|
226
|
-
className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
227
|
-
children: [/* @__PURE__ */
|
|
226
|
+
className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors", B ? "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__ */ b(g, { className: "h-4 w-4" }), K("kadaikodi.settings.save", "Save Settings")]
|
|
228
228
|
})]
|
|
229
229
|
}),
|
|
230
230
|
children: [
|
|
231
|
-
|
|
232
|
-
className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm",
|
|
233
|
-
children: [
|
|
231
|
+
H && /* @__PURE__ */ x("div", {
|
|
232
|
+
className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm", W ? "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: [b(W ? o : s, { className: "h-4 w-4 shrink-0" }), H]
|
|
234
234
|
}),
|
|
235
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ b(ce, {
|
|
236
236
|
className: "mb-6",
|
|
237
|
-
children:
|
|
237
|
+
children: K("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.")
|
|
238
238
|
}),
|
|
239
|
-
/* @__PURE__ */ C
|
|
239
|
+
/* @__PURE__ */ b(C, {
|
|
240
240
|
storageKey: "kadaikodi-settings",
|
|
241
241
|
className: "mb-6",
|
|
242
242
|
steps: [
|
|
243
243
|
{
|
|
244
244
|
id: "security",
|
|
245
|
-
label:
|
|
246
|
-
description:
|
|
247
|
-
onClick: () =>
|
|
245
|
+
label: K("kadaikodi.settings.next.security", "Secure your account"),
|
|
246
|
+
description: K("kadaikodi.settings.next.securityDesc", "Review password, 2FA and active devices in Account Security."),
|
|
247
|
+
onClick: () => L("security")
|
|
248
248
|
},
|
|
249
249
|
{
|
|
250
250
|
id: "preferences",
|
|
251
|
-
label:
|
|
252
|
-
description:
|
|
253
|
-
onClick: () =>
|
|
251
|
+
label: K("kadaikodi.settings.next.preferences", "Set your preferences"),
|
|
252
|
+
description: K("kadaikodi.settings.next.preferencesDesc", "Choose language, theme and notification settings."),
|
|
253
|
+
onClick: () => L("preferences")
|
|
254
254
|
},
|
|
255
255
|
{
|
|
256
256
|
id: "billing",
|
|
257
|
-
label:
|
|
258
|
-
description:
|
|
259
|
-
onClick: () =>
|
|
257
|
+
label: K("kadaikodi.settings.next.billing", "Review billing"),
|
|
258
|
+
description: K("kadaikodi.settings.next.billingDesc", "Keep your invoice and tax details up to date."),
|
|
259
|
+
onClick: () => L("billing")
|
|
260
260
|
}
|
|
261
261
|
]
|
|
262
262
|
}),
|
|
263
|
-
/* @__PURE__ */
|
|
263
|
+
/* @__PURE__ */ x("div", {
|
|
264
264
|
className: "flex flex-col gap-6 lg:flex-row",
|
|
265
|
-
children: [/* @__PURE__ */
|
|
265
|
+
children: [/* @__PURE__ */ x("div", {
|
|
266
266
|
className: "shrink-0 lg:w-56",
|
|
267
|
-
children: [/* @__PURE__ */
|
|
267
|
+
children: [/* @__PURE__ */ b("div", {
|
|
268
268
|
className: "grid grid-cols-5 gap-1 lg:hidden",
|
|
269
|
-
children:
|
|
269
|
+
children: J.map((e) => {
|
|
270
270
|
let n = e.icon;
|
|
271
|
-
return /* @__PURE__ */
|
|
271
|
+
return /* @__PURE__ */ x("button", {
|
|
272
272
|
type: "button",
|
|
273
|
-
onClick: () =>
|
|
274
|
-
className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors",
|
|
275
|
-
children: [/* @__PURE__ */
|
|
273
|
+
onClick: () => L(e.id),
|
|
274
|
+
className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors", I === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
|
|
275
|
+
children: [/* @__PURE__ */ b(n, { className: "h-4 w-4" }), /* @__PURE__ */ b("span", {
|
|
276
276
|
className: "text-xs font-medium",
|
|
277
277
|
children: e.label
|
|
278
278
|
})]
|
|
279
279
|
}, e.id);
|
|
280
280
|
})
|
|
281
|
-
}), /* @__PURE__ */
|
|
281
|
+
}), /* @__PURE__ */ x("div", {
|
|
282
282
|
className: "hidden lg:block rounded-lg border border-border-subtle bg-bg-surface",
|
|
283
|
-
children: [/* @__PURE__ */
|
|
283
|
+
children: [/* @__PURE__ */ b("div", {
|
|
284
284
|
className: "p-3 border-b border-border-subtle",
|
|
285
|
-
children: /* @__PURE__ */
|
|
285
|
+
children: /* @__PURE__ */ b("p", {
|
|
286
286
|
className: "text-sm font-semibold text-text-primary",
|
|
287
|
-
children:
|
|
287
|
+
children: K("kadaikodi.settings.title", "Settings")
|
|
288
288
|
})
|
|
289
|
-
}), /* @__PURE__ */
|
|
289
|
+
}), /* @__PURE__ */ b("nav", {
|
|
290
290
|
className: "p-2",
|
|
291
|
-
children:
|
|
291
|
+
children: J.map((e) => {
|
|
292
292
|
let n = e.icon;
|
|
293
|
-
return /* @__PURE__ */
|
|
293
|
+
return /* @__PURE__ */ x("button", {
|
|
294
294
|
type: "button",
|
|
295
|
-
onClick: () =>
|
|
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",
|
|
297
|
-
children: [/* @__PURE__ */
|
|
295
|
+
onClick: () => L(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", I === e.id ? "bg-action-primary-bg/10 text-text-primary" : "text-text-secondary hover:text-text-primary hover:bg-accent"),
|
|
297
|
+
children: [/* @__PURE__ */ b(n, { className: "h-4 w-4" }), e.label]
|
|
298
298
|
}, e.id);
|
|
299
299
|
})
|
|
300
300
|
})]
|
|
301
301
|
})]
|
|
302
|
-
}), /* @__PURE__ */
|
|
302
|
+
}), /* @__PURE__ */ b(S, {
|
|
303
303
|
className: "flex-1 p-6",
|
|
304
304
|
children: {
|
|
305
|
-
profile: () => /* @__PURE__ */
|
|
305
|
+
profile: () => /* @__PURE__ */ x("div", {
|
|
306
306
|
className: "space-y-6",
|
|
307
307
|
children: [
|
|
308
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ b("h3", {
|
|
309
309
|
className: "text-base font-semibold text-text-primary",
|
|
310
310
|
children: "Personal Information"
|
|
311
311
|
}),
|
|
312
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ x("div", {
|
|
313
313
|
className: "flex items-center gap-4",
|
|
314
|
-
children: [/* @__PURE__ */
|
|
314
|
+
children: [/* @__PURE__ */ x("div", {
|
|
315
315
|
className: "relative",
|
|
316
|
-
children: [
|
|
317
|
-
src:
|
|
316
|
+
children: [F.avatar ? /* @__PURE__ */ b("img", {
|
|
317
|
+
src: F.avatar,
|
|
318
318
|
alt: "Profile",
|
|
319
319
|
className: "h-20 w-20 rounded-full object-cover border border-border-subtle"
|
|
320
|
-
}) : /* @__PURE__ */
|
|
320
|
+
}) : /* @__PURE__ */ b("div", {
|
|
321
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",
|
|
322
|
-
children:
|
|
323
|
-
}), /* @__PURE__ */
|
|
322
|
+
children: F.initials
|
|
323
|
+
}), /* @__PURE__ */ b("button", {
|
|
324
324
|
type: "button",
|
|
325
325
|
onClick: Q,
|
|
326
326
|
"aria-label": "Update profile photo in Account Security",
|
|
327
327
|
title: "Update your photo in Account Security",
|
|
328
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",
|
|
329
|
-
children: /* @__PURE__ */
|
|
329
|
+
children: /* @__PURE__ */ b(ne, { className: "h-3.5 w-3.5" })
|
|
330
330
|
})]
|
|
331
|
-
}), /* @__PURE__ */
|
|
331
|
+
}), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
332
332
|
className: "text-sm font-medium text-text-primary",
|
|
333
333
|
children: "Profile Picture"
|
|
334
|
-
}), /* @__PURE__ */
|
|
334
|
+
}), /* @__PURE__ */ b("p", {
|
|
335
335
|
className: "text-xs text-text-secondary",
|
|
336
336
|
children: "Your photo is managed in Account Security."
|
|
337
337
|
})] })]
|
|
338
338
|
}),
|
|
339
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ x("div", {
|
|
340
340
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
|
|
341
|
-
children: [/* @__PURE__ */
|
|
341
|
+
children: [/* @__PURE__ */ x("div", {
|
|
342
342
|
className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
|
|
343
|
-
children: [/* @__PURE__ */
|
|
343
|
+
children: [/* @__PURE__ */ x("div", {
|
|
344
344
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 flex-1",
|
|
345
345
|
children: [
|
|
346
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
347
347
|
className: "text-xs text-text-secondary mb-0.5",
|
|
348
348
|
children: "Full Name"
|
|
349
|
-
}), /* @__PURE__ */
|
|
349
|
+
}), /* @__PURE__ */ b("p", {
|
|
350
350
|
className: "text-sm font-medium text-text-primary",
|
|
351
|
-
children:
|
|
351
|
+
children: F.fullName
|
|
352
352
|
})] }),
|
|
353
|
-
/* @__PURE__ */
|
|
353
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
354
354
|
className: "text-xs text-text-secondary mb-0.5",
|
|
355
355
|
children: "Email Address"
|
|
356
|
-
}), /* @__PURE__ */
|
|
356
|
+
}), /* @__PURE__ */ b("p", {
|
|
357
357
|
className: "text-sm font-medium text-text-primary break-all",
|
|
358
|
-
children:
|
|
358
|
+
children: F.email || "—"
|
|
359
359
|
})] }),
|
|
360
|
-
/* @__PURE__ */
|
|
360
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
361
361
|
className: "text-xs text-text-secondary mb-0.5",
|
|
362
362
|
children: "Phone Number"
|
|
363
|
-
}), /* @__PURE__ */
|
|
363
|
+
}), /* @__PURE__ */ b("p", {
|
|
364
364
|
className: "text-sm font-medium text-text-primary",
|
|
365
|
-
children:
|
|
365
|
+
children: F.phone || "—"
|
|
366
366
|
})] })
|
|
367
367
|
]
|
|
368
|
-
}), /* @__PURE__ */
|
|
369
|
-
}), /* @__PURE__ */
|
|
368
|
+
}), /* @__PURE__ */ b($, { label: "Manage in Account Security" })]
|
|
369
|
+
}), /* @__PURE__ */ b("p", {
|
|
370
370
|
className: "text-xs text-text-secondary mt-3",
|
|
371
371
|
children: "Your name, email and phone are part of your account identity and are managed centrally in Account Security."
|
|
372
372
|
})]
|
|
373
373
|
}),
|
|
374
|
-
/* @__PURE__ */
|
|
374
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
375
375
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
376
376
|
children: "Bio"
|
|
377
|
-
}), /* @__PURE__ */
|
|
377
|
+
}), /* @__PURE__ */ b("textarea", {
|
|
378
378
|
rows: 3,
|
|
379
|
-
value:
|
|
380
|
-
onChange: (e) =>
|
|
379
|
+
value: R.profileExtra.bio,
|
|
380
|
+
onChange: (e) => Y("profileExtra", "bio", e.target.value),
|
|
381
381
|
placeholder: "Tell us about yourself...",
|
|
382
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"
|
|
383
383
|
})] }),
|
|
384
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ x("div", {
|
|
385
385
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
386
|
-
children: [/* @__PURE__ */
|
|
386
|
+
children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
387
387
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
388
388
|
children: "Date of Birth"
|
|
389
|
-
}), /* @__PURE__ */
|
|
389
|
+
}), /* @__PURE__ */ b("input", {
|
|
390
390
|
type: "date",
|
|
391
|
-
value:
|
|
392
|
-
onChange: (e) =>
|
|
391
|
+
value: R.profileExtra.dateOfBirth,
|
|
392
|
+
onChange: (e) => Y("profileExtra", "dateOfBirth", e.target.value),
|
|
393
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)]"
|
|
394
|
-
})] }), /* @__PURE__ */
|
|
394
|
+
})] }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
395
395
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
396
396
|
children: "Gender"
|
|
397
|
-
}), /* @__PURE__ */
|
|
398
|
-
value:
|
|
399
|
-
onChange: (e) =>
|
|
397
|
+
}), /* @__PURE__ */ x("select", {
|
|
398
|
+
value: R.profileExtra.gender,
|
|
399
|
+
onChange: (e) => Y("profileExtra", "gender", e.target.value),
|
|
400
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)]",
|
|
401
401
|
children: [
|
|
402
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ b("option", {
|
|
403
403
|
value: "",
|
|
404
404
|
children: "Select gender"
|
|
405
405
|
}),
|
|
406
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ b("option", {
|
|
407
407
|
value: "male",
|
|
408
408
|
children: "Male"
|
|
409
409
|
}),
|
|
410
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ b("option", {
|
|
411
411
|
value: "female",
|
|
412
412
|
children: "Female"
|
|
413
413
|
}),
|
|
414
|
-
/* @__PURE__ */
|
|
414
|
+
/* @__PURE__ */ b("option", {
|
|
415
415
|
value: "other",
|
|
416
416
|
children: "Other"
|
|
417
417
|
}),
|
|
418
|
-
/* @__PURE__ */
|
|
418
|
+
/* @__PURE__ */ b("option", {
|
|
419
419
|
value: "prefer-not-to-say",
|
|
420
420
|
children: "Prefer not to say"
|
|
421
421
|
})
|
|
@@ -424,85 +424,85 @@ function j() {
|
|
|
424
424
|
})
|
|
425
425
|
]
|
|
426
426
|
}),
|
|
427
|
-
preferences: () => /* @__PURE__ */
|
|
427
|
+
preferences: () => /* @__PURE__ */ x("div", {
|
|
428
428
|
className: "space-y-6",
|
|
429
429
|
children: [
|
|
430
|
-
/* @__PURE__ */
|
|
430
|
+
/* @__PURE__ */ b("h3", {
|
|
431
431
|
className: "text-base font-semibold text-text-primary",
|
|
432
432
|
children: "App Preferences"
|
|
433
433
|
}),
|
|
434
|
-
/* @__PURE__ */
|
|
434
|
+
/* @__PURE__ */ x("div", {
|
|
435
435
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
|
|
436
436
|
children: [
|
|
437
|
-
/* @__PURE__ */
|
|
438
|
-
/* @__PURE__ */
|
|
437
|
+
/* @__PURE__ */ x("div", { children: [
|
|
438
|
+
/* @__PURE__ */ b("label", {
|
|
439
439
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
440
|
-
children: /* @__PURE__ */
|
|
440
|
+
children: /* @__PURE__ */ x("span", {
|
|
441
441
|
className: "flex items-center gap-1.5",
|
|
442
|
-
children: [/* @__PURE__ */
|
|
442
|
+
children: [/* @__PURE__ */ b(ie, { className: "h-4 w-4 text-text-secondary" }), " Language"]
|
|
443
443
|
})
|
|
444
444
|
}),
|
|
445
|
-
/* @__PURE__ */
|
|
446
|
-
value:
|
|
445
|
+
/* @__PURE__ */ b("select", {
|
|
446
|
+
value: O.some((e) => e.value === j) ? j : "en",
|
|
447
447
|
onChange: (e) => de(e.target.value),
|
|
448
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:
|
|
449
|
+
children: O.map((e) => /* @__PURE__ */ b("option", {
|
|
450
450
|
value: e.value,
|
|
451
451
|
children: e.label
|
|
452
452
|
}, e.value))
|
|
453
453
|
}),
|
|
454
|
-
/* @__PURE__ */
|
|
454
|
+
/* @__PURE__ */ b("p", {
|
|
455
455
|
className: "mt-1 text-xs text-text-secondary",
|
|
456
456
|
children: "Applies instantly across the app."
|
|
457
457
|
})
|
|
458
458
|
] }),
|
|
459
|
-
/* @__PURE__ */
|
|
459
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
460
460
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
461
461
|
children: "Timezone"
|
|
462
|
-
}), /* @__PURE__ */
|
|
463
|
-
value:
|
|
464
|
-
onChange: (e) =>
|
|
462
|
+
}), /* @__PURE__ */ x("select", {
|
|
463
|
+
value: R.preferences.timezone,
|
|
464
|
+
onChange: (e) => Y("preferences", "timezone", e.target.value),
|
|
465
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)]",
|
|
466
466
|
children: [
|
|
467
|
-
/* @__PURE__ */
|
|
467
|
+
/* @__PURE__ */ b("option", {
|
|
468
468
|
value: "Asia/Kolkata",
|
|
469
469
|
children: "India (IST)"
|
|
470
470
|
}),
|
|
471
|
-
/* @__PURE__ */
|
|
471
|
+
/* @__PURE__ */ b("option", {
|
|
472
472
|
value: "Asia/Dubai",
|
|
473
473
|
children: "Dubai (GST)"
|
|
474
474
|
}),
|
|
475
|
-
/* @__PURE__ */
|
|
475
|
+
/* @__PURE__ */ b("option", {
|
|
476
476
|
value: "Europe/London",
|
|
477
477
|
children: "London (GMT)"
|
|
478
478
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
479
|
+
/* @__PURE__ */ b("option", {
|
|
480
480
|
value: "America/New_York",
|
|
481
481
|
children: "New York (EST)"
|
|
482
482
|
})
|
|
483
483
|
]
|
|
484
484
|
})] }),
|
|
485
|
-
/* @__PURE__ */
|
|
485
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
486
486
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
487
487
|
children: "Currency"
|
|
488
|
-
}), /* @__PURE__ */
|
|
489
|
-
value:
|
|
490
|
-
onChange: (e) =>
|
|
488
|
+
}), /* @__PURE__ */ x("select", {
|
|
489
|
+
value: R.preferences.currency,
|
|
490
|
+
onChange: (e) => Y("preferences", "currency", e.target.value),
|
|
491
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)]",
|
|
492
492
|
children: [
|
|
493
|
-
/* @__PURE__ */
|
|
493
|
+
/* @__PURE__ */ b("option", {
|
|
494
494
|
value: "INR",
|
|
495
495
|
children: "Indian Rupee (₹)"
|
|
496
496
|
}),
|
|
497
|
-
/* @__PURE__ */
|
|
497
|
+
/* @__PURE__ */ b("option", {
|
|
498
498
|
value: "USD",
|
|
499
499
|
children: "US Dollar ($)"
|
|
500
500
|
}),
|
|
501
|
-
/* @__PURE__ */
|
|
501
|
+
/* @__PURE__ */ b("option", {
|
|
502
502
|
value: "EUR",
|
|
503
503
|
children: "Euro (€)"
|
|
504
504
|
}),
|
|
505
|
-
/* @__PURE__ */
|
|
505
|
+
/* @__PURE__ */ b("option", {
|
|
506
506
|
value: "GBP",
|
|
507
507
|
children: "British Pound (£)"
|
|
508
508
|
})
|
|
@@ -510,57 +510,57 @@ function j() {
|
|
|
510
510
|
})] })
|
|
511
511
|
]
|
|
512
512
|
}),
|
|
513
|
-
/* @__PURE__ */
|
|
514
|
-
/* @__PURE__ */
|
|
513
|
+
/* @__PURE__ */ x("div", { children: [
|
|
514
|
+
/* @__PURE__ */ b("label", {
|
|
515
515
|
className: "block text-sm font-medium text-text-primary mb-3",
|
|
516
516
|
children: "Theme"
|
|
517
517
|
}),
|
|
518
|
-
/* @__PURE__ */
|
|
518
|
+
/* @__PURE__ */ b("div", {
|
|
519
519
|
className: "flex gap-3 flex-wrap",
|
|
520
520
|
children: [
|
|
521
521
|
{
|
|
522
522
|
value: "light",
|
|
523
523
|
label: "Light",
|
|
524
|
-
Icon:
|
|
524
|
+
Icon: ae
|
|
525
525
|
},
|
|
526
526
|
{
|
|
527
527
|
value: "dark",
|
|
528
528
|
label: "Dark",
|
|
529
|
-
Icon:
|
|
529
|
+
Icon: p
|
|
530
530
|
},
|
|
531
531
|
{
|
|
532
532
|
value: "system",
|
|
533
533
|
label: "System",
|
|
534
|
-
Icon:
|
|
534
|
+
Icon: f
|
|
535
535
|
}
|
|
536
|
-
].map(({ value: e, label: n, Icon: r }) => /* @__PURE__ */
|
|
537
|
-
className: t("flex items-center gap-2 rounded-lg border px-4 py-2.5 text-sm font-medium cursor-pointer transition-colors",
|
|
536
|
+
].map(({ value: e, label: n, Icon: r }) => /* @__PURE__ */ x("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", q === 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
538
|
children: [
|
|
539
|
-
/* @__PURE__ */
|
|
539
|
+
/* @__PURE__ */ b("input", {
|
|
540
540
|
type: "radio",
|
|
541
541
|
name: "theme",
|
|
542
542
|
value: e,
|
|
543
|
-
checked:
|
|
544
|
-
onChange: (e) =>
|
|
543
|
+
checked: q === e,
|
|
544
|
+
onChange: (e) => Z(e.target.value),
|
|
545
545
|
className: "sr-only"
|
|
546
546
|
}),
|
|
547
|
-
/* @__PURE__ */
|
|
547
|
+
/* @__PURE__ */ b(r, { className: "h-4 w-4" }),
|
|
548
548
|
n
|
|
549
549
|
]
|
|
550
550
|
}, e))
|
|
551
551
|
}),
|
|
552
|
-
/* @__PURE__ */
|
|
552
|
+
/* @__PURE__ */ b("p", {
|
|
553
553
|
className: "mt-2 text-xs text-text-secondary",
|
|
554
554
|
children: "Your theme applies immediately and is remembered on this device."
|
|
555
555
|
})
|
|
556
556
|
] }),
|
|
557
|
-
/* @__PURE__ */
|
|
557
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
558
558
|
className: "flex items-center gap-2 mb-4",
|
|
559
|
-
children: [/* @__PURE__ */
|
|
559
|
+
children: [/* @__PURE__ */ b(ee, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ b("h4", {
|
|
560
560
|
className: "text-sm font-semibold text-text-primary",
|
|
561
561
|
children: "Notification Preferences"
|
|
562
562
|
})]
|
|
563
|
-
}), /* @__PURE__ */
|
|
563
|
+
}), /* @__PURE__ */ b("div", {
|
|
564
564
|
className: "space-y-3",
|
|
565
565
|
children: [
|
|
566
566
|
{
|
|
@@ -591,108 +591,108 @@ function j() {
|
|
|
591
591
|
key: "security",
|
|
592
592
|
label: "Security alerts"
|
|
593
593
|
}
|
|
594
|
-
].map((e) => /* @__PURE__ */
|
|
594
|
+
].map((e) => /* @__PURE__ */ x("div", {
|
|
595
595
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
|
|
596
|
-
children: [/* @__PURE__ */
|
|
596
|
+
children: [/* @__PURE__ */ b("span", {
|
|
597
597
|
className: "text-sm text-text-primary",
|
|
598
598
|
children: e.label
|
|
599
|
-
}), /* @__PURE__ */
|
|
600
|
-
checked:
|
|
601
|
-
onChange: (t) =>
|
|
599
|
+
}), /* @__PURE__ */ b(k, {
|
|
600
|
+
checked: R.preferences.notifications[e.key],
|
|
601
|
+
onChange: (t) => X("preferences", "notifications", e.key, t),
|
|
602
602
|
label: e.label
|
|
603
603
|
})]
|
|
604
604
|
}, e.key))
|
|
605
605
|
})] })
|
|
606
606
|
]
|
|
607
607
|
}),
|
|
608
|
-
security: () => /* @__PURE__ */
|
|
608
|
+
security: () => /* @__PURE__ */ x("div", {
|
|
609
609
|
className: "space-y-6",
|
|
610
610
|
children: [
|
|
611
|
-
/* @__PURE__ */
|
|
611
|
+
/* @__PURE__ */ b("h3", {
|
|
612
612
|
className: "text-base font-semibold text-text-primary",
|
|
613
613
|
children: "Security Settings"
|
|
614
614
|
}),
|
|
615
|
-
/* @__PURE__ */
|
|
615
|
+
/* @__PURE__ */ x("div", {
|
|
616
616
|
className: "flex items-start gap-3 rounded-lg border border-status-warning-text/30 bg-status-warning-bg-subtle p-4",
|
|
617
|
-
children: [/* @__PURE__ */
|
|
617
|
+
children: [/* @__PURE__ */ b(o, { className: "h-5 w-5 text-status-warning-text shrink-0 mt-0.5" }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
618
618
|
className: "text-sm font-medium text-text-primary",
|
|
619
619
|
children: "Account Security is managed centrally"
|
|
620
|
-
}), /* @__PURE__ */
|
|
620
|
+
}), /* @__PURE__ */ b("p", {
|
|
621
621
|
className: "text-xs text-text-secondary",
|
|
622
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."
|
|
623
623
|
})] })]
|
|
624
624
|
}),
|
|
625
|
-
/* @__PURE__ */
|
|
625
|
+
/* @__PURE__ */ b("div", {
|
|
626
626
|
className: "rounded-lg border border-border-subtle p-4 space-y-3",
|
|
627
627
|
children: [
|
|
628
628
|
{
|
|
629
|
-
icon:
|
|
629
|
+
icon: u,
|
|
630
630
|
label: "Password",
|
|
631
631
|
desc: "Change your account password."
|
|
632
632
|
},
|
|
633
633
|
{
|
|
634
|
-
icon:
|
|
634
|
+
icon: v,
|
|
635
635
|
label: "Two-Factor Authentication",
|
|
636
636
|
desc: "Add an extra layer of security with 2FA."
|
|
637
637
|
},
|
|
638
638
|
{
|
|
639
|
-
icon:
|
|
639
|
+
icon: f,
|
|
640
640
|
label: "Devices & Sessions",
|
|
641
641
|
desc: "Review active devices and sign out everywhere."
|
|
642
642
|
}
|
|
643
643
|
].map((e) => {
|
|
644
644
|
let t = e.icon;
|
|
645
|
-
return /* @__PURE__ */
|
|
645
|
+
return /* @__PURE__ */ x("div", {
|
|
646
646
|
className: "flex items-start gap-3",
|
|
647
|
-
children: [/* @__PURE__ */
|
|
647
|
+
children: [/* @__PURE__ */ b(t, { className: "h-4 w-4 text-text-secondary shrink-0 mt-0.5" }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
648
648
|
className: "text-sm font-medium text-text-primary",
|
|
649
649
|
children: e.label
|
|
650
|
-
}), /* @__PURE__ */
|
|
650
|
+
}), /* @__PURE__ */ b("p", {
|
|
651
651
|
className: "text-xs text-text-secondary",
|
|
652
652
|
children: e.desc
|
|
653
653
|
})] })]
|
|
654
654
|
}, e.label);
|
|
655
655
|
})
|
|
656
656
|
}),
|
|
657
|
-
/* @__PURE__ */
|
|
657
|
+
/* @__PURE__ */ b($, { label: "Manage in Account Security" })
|
|
658
658
|
]
|
|
659
659
|
}),
|
|
660
|
-
privacy: () => /* @__PURE__ */
|
|
660
|
+
privacy: () => /* @__PURE__ */ x("div", {
|
|
661
661
|
className: "space-y-6",
|
|
662
662
|
children: [
|
|
663
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ b("h3", {
|
|
664
664
|
className: "text-base font-semibold text-text-primary",
|
|
665
665
|
children: "Privacy Controls"
|
|
666
666
|
}),
|
|
667
|
-
/* @__PURE__ */
|
|
667
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
668
668
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
669
|
-
children: /* @__PURE__ */
|
|
669
|
+
children: /* @__PURE__ */ x("span", {
|
|
670
670
|
className: "flex items-center gap-1.5",
|
|
671
|
-
children: [/* @__PURE__ */
|
|
671
|
+
children: [/* @__PURE__ */ b(l, { className: "h-4 w-4 text-text-secondary" }), " Profile Visibility"]
|
|
672
672
|
})
|
|
673
|
-
}), /* @__PURE__ */
|
|
674
|
-
value:
|
|
675
|
-
onChange: (e) =>
|
|
673
|
+
}), /* @__PURE__ */ x("select", {
|
|
674
|
+
value: R.privacy.profileVisibility,
|
|
675
|
+
onChange: (e) => Y("privacy", "profileVisibility", e.target.value),
|
|
676
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)]",
|
|
677
677
|
children: [
|
|
678
|
-
/* @__PURE__ */
|
|
678
|
+
/* @__PURE__ */ b("option", {
|
|
679
679
|
value: "public",
|
|
680
680
|
children: "Public - Anyone can see your profile"
|
|
681
681
|
}),
|
|
682
|
-
/* @__PURE__ */
|
|
682
|
+
/* @__PURE__ */ b("option", {
|
|
683
683
|
value: "private",
|
|
684
684
|
children: "Private - Only you can see your profile"
|
|
685
685
|
}),
|
|
686
|
-
/* @__PURE__ */
|
|
686
|
+
/* @__PURE__ */ b("option", {
|
|
687
687
|
value: "friends",
|
|
688
688
|
children: "Friends - Only friends can see your profile"
|
|
689
689
|
})
|
|
690
690
|
]
|
|
691
691
|
})] }),
|
|
692
|
-
/* @__PURE__ */
|
|
692
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h4", {
|
|
693
693
|
className: "text-sm font-semibold text-text-primary mb-3",
|
|
694
694
|
children: "Data Sharing"
|
|
695
|
-
}), /* @__PURE__ */
|
|
695
|
+
}), /* @__PURE__ */ b("div", {
|
|
696
696
|
className: "space-y-3",
|
|
697
697
|
children: [
|
|
698
698
|
{
|
|
@@ -707,62 +707,62 @@ function j() {
|
|
|
707
707
|
key: "thirdParty",
|
|
708
708
|
label: "Share data with third-party partners"
|
|
709
709
|
}
|
|
710
|
-
].map((e) => /* @__PURE__ */
|
|
710
|
+
].map((e) => /* @__PURE__ */ x("div", {
|
|
711
711
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-3",
|
|
712
|
-
children: [/* @__PURE__ */
|
|
712
|
+
children: [/* @__PURE__ */ b("span", {
|
|
713
713
|
className: "text-sm text-text-primary",
|
|
714
714
|
children: e.label
|
|
715
|
-
}), /* @__PURE__ */
|
|
716
|
-
checked:
|
|
717
|
-
onChange: (t) =>
|
|
715
|
+
}), /* @__PURE__ */ b(k, {
|
|
716
|
+
checked: R.privacy.dataSharing[e.key],
|
|
717
|
+
onChange: (t) => X("privacy", "dataSharing", e.key, t),
|
|
718
718
|
label: e.label
|
|
719
719
|
})]
|
|
720
720
|
}, e.key))
|
|
721
721
|
})] }),
|
|
722
|
-
/* @__PURE__ */
|
|
722
|
+
/* @__PURE__ */ x("div", {
|
|
723
723
|
className: "space-y-3",
|
|
724
|
-
children: [/* @__PURE__ */
|
|
724
|
+
children: [/* @__PURE__ */ x("div", {
|
|
725
725
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
|
|
726
|
-
children: [/* @__PURE__ */
|
|
726
|
+
children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
727
727
|
className: "text-sm font-medium text-text-primary",
|
|
728
728
|
children: "Location Tracking"
|
|
729
|
-
}), /* @__PURE__ */
|
|
729
|
+
}), /* @__PURE__ */ b("p", {
|
|
730
730
|
className: "text-xs text-text-secondary",
|
|
731
731
|
children: "Allow app to track your location for better service"
|
|
732
|
-
})] }), /* @__PURE__ */
|
|
733
|
-
checked:
|
|
734
|
-
onChange: (e) =>
|
|
732
|
+
})] }), /* @__PURE__ */ b(k, {
|
|
733
|
+
checked: R.privacy.locationTracking,
|
|
734
|
+
onChange: (e) => Y("privacy", "locationTracking", e),
|
|
735
735
|
label: "Location tracking"
|
|
736
736
|
})]
|
|
737
|
-
}), /* @__PURE__ */
|
|
737
|
+
}), /* @__PURE__ */ x("div", {
|
|
738
738
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
|
|
739
|
-
children: [/* @__PURE__ */
|
|
739
|
+
children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
740
740
|
className: "text-sm font-medium text-text-primary",
|
|
741
741
|
children: "Activity History"
|
|
742
|
-
}), /* @__PURE__ */
|
|
742
|
+
}), /* @__PURE__ */ b("p", {
|
|
743
743
|
className: "text-xs text-text-secondary",
|
|
744
744
|
children: "Keep track of your orders and activities"
|
|
745
|
-
})] }), /* @__PURE__ */
|
|
746
|
-
checked:
|
|
747
|
-
onChange: (e) =>
|
|
745
|
+
})] }), /* @__PURE__ */ b(k, {
|
|
746
|
+
checked: R.privacy.activityHistory,
|
|
747
|
+
onChange: (e) => Y("privacy", "activityHistory", e),
|
|
748
748
|
label: "Activity history"
|
|
749
749
|
})]
|
|
750
750
|
})]
|
|
751
751
|
}),
|
|
752
|
-
/* @__PURE__ */
|
|
752
|
+
/* @__PURE__ */ b("div", {
|
|
753
753
|
className: "rounded-lg border border-status-error-text/30 bg-status-error-bg-subtle p-4",
|
|
754
|
-
children: /* @__PURE__ */
|
|
754
|
+
children: /* @__PURE__ */ x("div", {
|
|
755
755
|
className: "flex items-start gap-3",
|
|
756
|
-
children: [/* @__PURE__ */
|
|
757
|
-
/* @__PURE__ */
|
|
756
|
+
children: [/* @__PURE__ */ b(oe, { className: "h-5 w-5 text-status-error-text shrink-0 mt-0.5" }), /* @__PURE__ */ x("div", { children: [
|
|
757
|
+
/* @__PURE__ */ b("p", {
|
|
758
758
|
className: "text-sm font-medium text-text-primary",
|
|
759
759
|
children: "Delete Account"
|
|
760
760
|
}),
|
|
761
|
-
/* @__PURE__ */
|
|
761
|
+
/* @__PURE__ */ b("p", {
|
|
762
762
|
className: "text-xs text-text-secondary mt-0.5",
|
|
763
763
|
children: "Permanently delete your account and all associated data. This is handled by our support team and cannot be undone once processed."
|
|
764
764
|
}),
|
|
765
|
-
/* @__PURE__ */
|
|
765
|
+
/* @__PURE__ */ b("button", {
|
|
766
766
|
type: "button",
|
|
767
767
|
onClick: pe,
|
|
768
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",
|
|
@@ -773,25 +773,25 @@ function j() {
|
|
|
773
773
|
})
|
|
774
774
|
]
|
|
775
775
|
}),
|
|
776
|
-
billing: () => /* @__PURE__ */
|
|
776
|
+
billing: () => /* @__PURE__ */ x("div", {
|
|
777
777
|
className: "space-y-6",
|
|
778
778
|
children: [
|
|
779
|
-
/* @__PURE__ */
|
|
779
|
+
/* @__PURE__ */ b("h3", {
|
|
780
780
|
className: "text-base font-semibold text-text-primary",
|
|
781
781
|
children: "Billing & Payments"
|
|
782
782
|
}),
|
|
783
|
-
/* @__PURE__ */
|
|
783
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h4", {
|
|
784
784
|
className: "text-sm font-semibold text-text-primary mb-3",
|
|
785
|
-
children: /* @__PURE__ */
|
|
785
|
+
children: /* @__PURE__ */ x("span", {
|
|
786
786
|
className: "flex items-center gap-1.5",
|
|
787
|
-
children: [/* @__PURE__ */
|
|
787
|
+
children: [/* @__PURE__ */ b(c, { className: "h-4 w-4 text-text-secondary" }), " Default Payment Method"]
|
|
788
788
|
})
|
|
789
|
-
}), /* @__PURE__ */
|
|
789
|
+
}), /* @__PURE__ */ x("div", {
|
|
790
790
|
className: "rounded-lg border border-border-subtle p-4 text-center",
|
|
791
|
-
children: [/* @__PURE__ */
|
|
791
|
+
children: [/* @__PURE__ */ b("p", {
|
|
792
792
|
className: "text-sm text-text-secondary",
|
|
793
793
|
children: "Saved payment methods aren't available yet."
|
|
794
|
-
}), /* @__PURE__ */
|
|
794
|
+
}), /* @__PURE__ */ b("button", {
|
|
795
795
|
type: "button",
|
|
796
796
|
disabled: !0,
|
|
797
797
|
"aria-disabled": "true",
|
|
@@ -800,18 +800,18 @@ function j() {
|
|
|
800
800
|
children: "Add Payment Method (coming soon)"
|
|
801
801
|
})]
|
|
802
802
|
})] }),
|
|
803
|
-
/* @__PURE__ */
|
|
803
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h4", {
|
|
804
804
|
className: "text-sm font-semibold text-text-primary mb-3",
|
|
805
805
|
children: "Auto Recharge"
|
|
806
|
-
}), /* @__PURE__ */
|
|
806
|
+
}), /* @__PURE__ */ x("div", {
|
|
807
807
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
|
|
808
|
-
children: [/* @__PURE__ */
|
|
808
|
+
children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
809
809
|
className: "text-sm font-medium text-text-primary",
|
|
810
810
|
children: "Enable Auto Recharge"
|
|
811
|
-
}), /* @__PURE__ */
|
|
811
|
+
}), /* @__PURE__ */ b("p", {
|
|
812
812
|
className: "text-xs text-text-secondary",
|
|
813
813
|
children: "Automatically add money when wallet balance is low — coming soon."
|
|
814
|
-
})] }), /* @__PURE__ */
|
|
814
|
+
})] }), /* @__PURE__ */ b("button", {
|
|
815
815
|
type: "button",
|
|
816
816
|
role: "switch",
|
|
817
817
|
"aria-checked": !1,
|
|
@@ -819,82 +819,82 @@ function j() {
|
|
|
819
819
|
disabled: !0,
|
|
820
820
|
title: "Coming soon",
|
|
821
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__ */
|
|
822
|
+
children: /* @__PURE__ */ b("span", { className: "inline-block h-4 w-4 translate-x-1 rounded-full bg-white" })
|
|
823
823
|
})]
|
|
824
824
|
})] }),
|
|
825
|
-
/* @__PURE__ */
|
|
825
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
826
826
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
827
|
-
children: /* @__PURE__ */
|
|
827
|
+
children: /* @__PURE__ */ x("span", {
|
|
828
828
|
className: "flex items-center gap-1.5",
|
|
829
|
-
children: [/* @__PURE__ */
|
|
829
|
+
children: [/* @__PURE__ */ b(m, { className: "h-4 w-4 text-text-secondary" }), " Invoice Email"]
|
|
830
830
|
})
|
|
831
|
-
}), /* @__PURE__ */
|
|
831
|
+
}), /* @__PURE__ */ b("input", {
|
|
832
832
|
type: "email",
|
|
833
|
-
value:
|
|
834
|
-
onChange: (e) =>
|
|
833
|
+
value: R.billing.invoiceEmail,
|
|
834
|
+
onChange: (e) => Y("billing", "invoiceEmail", e.target.value),
|
|
835
835
|
placeholder: "billing@example.com",
|
|
836
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)]"
|
|
837
837
|
})] }),
|
|
838
|
-
/* @__PURE__ */
|
|
839
|
-
/* @__PURE__ */
|
|
838
|
+
/* @__PURE__ */ x("div", { children: [
|
|
839
|
+
/* @__PURE__ */ b("h4", {
|
|
840
840
|
className: "text-sm font-semibold text-text-primary mb-3",
|
|
841
|
-
children: /* @__PURE__ */
|
|
841
|
+
children: /* @__PURE__ */ x("span", {
|
|
842
842
|
className: "flex items-center gap-1.5",
|
|
843
|
-
children: [/* @__PURE__ */
|
|
843
|
+
children: [/* @__PURE__ */ b(te, { className: "h-4 w-4 text-text-secondary" }), " Tax Information"]
|
|
844
844
|
})
|
|
845
845
|
}),
|
|
846
|
-
/* @__PURE__ */
|
|
846
|
+
/* @__PURE__ */ x("div", {
|
|
847
847
|
className: "space-y-4",
|
|
848
848
|
children: [
|
|
849
|
-
/* @__PURE__ */
|
|
849
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
850
850
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
851
851
|
children: "GST Number"
|
|
852
|
-
}), /* @__PURE__ */
|
|
852
|
+
}), /* @__PURE__ */ b("input", {
|
|
853
853
|
type: "text",
|
|
854
|
-
value:
|
|
855
|
-
onChange: (e) =>
|
|
854
|
+
value: R.billing.gstNumber,
|
|
855
|
+
onChange: (e) => Y("billing", "gstNumber", e.target.value),
|
|
856
856
|
placeholder: "29ABCDE1234F1Z5",
|
|
857
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
858
|
})] }),
|
|
859
|
-
/* @__PURE__ */
|
|
859
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
860
860
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
861
861
|
children: "Company Name"
|
|
862
|
-
}), /* @__PURE__ */
|
|
862
|
+
}), /* @__PURE__ */ b("input", {
|
|
863
863
|
type: "text",
|
|
864
|
-
value:
|
|
865
|
-
onChange: (e) =>
|
|
864
|
+
value: R.billing.companyName,
|
|
865
|
+
onChange: (e) => Y("billing", "companyName", e.target.value),
|
|
866
866
|
placeholder: "Your Company Name",
|
|
867
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
868
|
})] }),
|
|
869
|
-
/* @__PURE__ */
|
|
869
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
|
|
870
870
|
className: "block text-sm font-medium text-text-primary mb-1.5",
|
|
871
|
-
children: /* @__PURE__ */
|
|
871
|
+
children: /* @__PURE__ */ x("span", {
|
|
872
872
|
className: "flex items-center gap-1.5",
|
|
873
|
-
children: [/* @__PURE__ */
|
|
873
|
+
children: [/* @__PURE__ */ b(d, { className: "h-4 w-4 text-text-secondary" }), " Billing Address"]
|
|
874
874
|
})
|
|
875
|
-
}), /* @__PURE__ */
|
|
875
|
+
}), /* @__PURE__ */ b("textarea", {
|
|
876
876
|
rows: 3,
|
|
877
|
-
value:
|
|
878
|
-
onChange: (e) =>
|
|
877
|
+
value: R.billing.billingAddress,
|
|
878
|
+
onChange: (e) => Y("billing", "billingAddress", e.target.value),
|
|
879
879
|
placeholder: "Enter your complete billing address",
|
|
880
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
881
|
})] })
|
|
882
882
|
]
|
|
883
883
|
}),
|
|
884
|
-
/* @__PURE__ */
|
|
884
|
+
/* @__PURE__ */ b("p", {
|
|
885
885
|
className: "mt-3 text-xs text-text-secondary",
|
|
886
886
|
children: "Invoice and tax details are saved on this device for your convenience."
|
|
887
887
|
})
|
|
888
888
|
] })
|
|
889
889
|
]
|
|
890
890
|
})
|
|
891
|
-
}[
|
|
891
|
+
}[I]()
|
|
892
892
|
})]
|
|
893
893
|
})
|
|
894
894
|
]
|
|
895
895
|
});
|
|
896
896
|
}
|
|
897
897
|
//#endregion
|
|
898
|
-
export {
|
|
898
|
+
export { A as SettingsPage };
|
|
899
899
|
|
|
900
900
|
//# sourceMappingURL=SettingsPage.js.map
|