@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.
- package/dist/kadaikodi/KadaikodiRoutes.js +30 -26
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +76 -6
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +45 -107
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +30 -32
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +137 -120
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +2 -2
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +332 -276
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +278 -283
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +310 -366
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +105 -111
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +290 -257
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +84 -70
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +270 -228
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +194 -173
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +202 -139
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +232 -0
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +84 -79
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +310 -317
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +502 -586
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +243 -143
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +4 -4
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +2 -2
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -4
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +6 -6
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +189 -199
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +6 -4
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +6 -6
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +4 -4
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +409 -304
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +209 -162
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +441 -514
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +207 -186
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +340 -272
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +122 -75
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- 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
|
|
6
|
-
import { AlertTriangle as
|
|
7
|
-
import {
|
|
8
|
-
import { EmphasisPanel as
|
|
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
|
|
11
|
-
|
|
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
|
-
}
|
|
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:
|
|
93
|
+
icon: S
|
|
66
94
|
},
|
|
67
95
|
{
|
|
68
96
|
id: "preferences",
|
|
69
97
|
label: "Preferences",
|
|
70
|
-
icon:
|
|
98
|
+
icon: b
|
|
71
99
|
},
|
|
72
100
|
{
|
|
73
101
|
id: "security",
|
|
74
102
|
label: "Security",
|
|
75
|
-
icon:
|
|
103
|
+
icon: x
|
|
76
104
|
},
|
|
77
105
|
{
|
|
78
106
|
id: "privacy",
|
|
79
107
|
label: "Privacy",
|
|
80
|
-
icon:
|
|
108
|
+
icon: d
|
|
81
109
|
},
|
|
82
110
|
{
|
|
83
111
|
id: "billing",
|
|
84
112
|
label: "Billing",
|
|
85
|
-
icon:
|
|
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
|
|
89
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
100
|
-
let { currentUser:
|
|
101
|
-
let e =
|
|
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
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
}), [
|
|
118
|
-
let n =
|
|
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
|
-
}, [
|
|
155
|
+
}, [j]), J = P === "light" || P === "dark" || P === "system" ? P : "system", Y = i(() => O.map((e) => ({
|
|
121
156
|
...e,
|
|
122
|
-
label: e.id === "profile" ?
|
|
123
|
-
})), [
|
|
124
|
-
|
|
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
|
-
})),
|
|
131
|
-
}, []),
|
|
132
|
-
|
|
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
|
-
})),
|
|
142
|
-
}, []),
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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: [
|
|
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__ */
|
|
183
|
-
}), /* @__PURE__ */
|
|
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: !
|
|
186
|
-
onClick:
|
|
187
|
-
className: t("flex items-center gap-1.5 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
188
|
-
children:
|
|
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
|
-
|
|
193
|
-
className: t("mb-6 flex items-center gap-2 rounded-lg border p-3 text-sm",
|
|
194
|
-
children: [
|
|
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__ */
|
|
235
|
+
/* @__PURE__ */ C(se, {
|
|
197
236
|
className: "mb-6",
|
|
198
|
-
children:
|
|
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__ */
|
|
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:
|
|
207
|
-
description:
|
|
208
|
-
onClick: () =>
|
|
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:
|
|
213
|
-
description:
|
|
214
|
-
onClick: () =>
|
|
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:
|
|
219
|
-
description:
|
|
220
|
-
onClick: () =>
|
|
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__ */
|
|
263
|
+
/* @__PURE__ */ w("div", {
|
|
225
264
|
className: "flex flex-col gap-6 lg:flex-row",
|
|
226
|
-
children: [/* @__PURE__ */
|
|
265
|
+
children: [/* @__PURE__ */ w("div", {
|
|
227
266
|
className: "shrink-0 lg:w-56",
|
|
228
|
-
children: [/* @__PURE__ */
|
|
267
|
+
children: [/* @__PURE__ */ C("div", {
|
|
229
268
|
className: "grid grid-cols-5 gap-1 lg:hidden",
|
|
230
|
-
children:
|
|
269
|
+
children: Y.map((e) => {
|
|
231
270
|
let n = e.icon;
|
|
232
|
-
return /* @__PURE__ */
|
|
271
|
+
return /* @__PURE__ */ w("button", {
|
|
233
272
|
type: "button",
|
|
234
|
-
onClick: () =>
|
|
235
|
-
className: t("flex flex-col items-center gap-1 rounded-lg py-2.5 text-center transition-colors",
|
|
236
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
281
|
+
}), /* @__PURE__ */ w("div", {
|
|
243
282
|
className: "hidden lg:block rounded-lg border border-border-subtle bg-bg-surface",
|
|
244
|
-
children: [/* @__PURE__ */
|
|
283
|
+
children: [/* @__PURE__ */ C("div", {
|
|
245
284
|
className: "p-3 border-b border-border-subtle",
|
|
246
|
-
children: /* @__PURE__ */
|
|
285
|
+
children: /* @__PURE__ */ C("p", {
|
|
247
286
|
className: "text-sm font-semibold text-text-primary",
|
|
248
|
-
children:
|
|
287
|
+
children: q("kadaikodi.settings.title", "Settings")
|
|
249
288
|
})
|
|
250
|
-
}), /* @__PURE__ */
|
|
289
|
+
}), /* @__PURE__ */ C("nav", {
|
|
251
290
|
className: "p-2",
|
|
252
|
-
children:
|
|
291
|
+
children: Y.map((e) => {
|
|
253
292
|
let n = e.icon;
|
|
254
|
-
return /* @__PURE__ */
|
|
293
|
+
return /* @__PURE__ */ w("button", {
|
|
255
294
|
type: "button",
|
|
256
|
-
onClick: () =>
|
|
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",
|
|
258
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
302
|
+
}), /* @__PURE__ */ C(ae, {
|
|
264
303
|
className: "flex-1 p-6",
|
|
265
304
|
children: {
|
|
266
|
-
profile: () => /* @__PURE__ */
|
|
305
|
+
profile: () => /* @__PURE__ */ w("div", {
|
|
267
306
|
className: "space-y-6",
|
|
268
307
|
children: [
|
|
269
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ C("h3", {
|
|
270
309
|
className: "text-base font-semibold text-text-primary",
|
|
271
310
|
children: "Personal Information"
|
|
272
311
|
}),
|
|
273
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ w("div", {
|
|
274
313
|
className: "flex items-center gap-4",
|
|
275
|
-
children: [/* @__PURE__ */
|
|
314
|
+
children: [/* @__PURE__ */ w("div", {
|
|
276
315
|
className: "relative",
|
|
277
|
-
children: [
|
|
278
|
-
src:
|
|
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__ */
|
|
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:
|
|
284
|
-
}), /* @__PURE__ */
|
|
322
|
+
children: I.initials
|
|
323
|
+
}), /* @__PURE__ */ C("button", {
|
|
285
324
|
type: "button",
|
|
286
|
-
onClick:
|
|
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__ */
|
|
329
|
+
children: /* @__PURE__ */ C(te, { className: "h-3.5 w-3.5" })
|
|
289
330
|
})]
|
|
290
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
334
|
+
}), /* @__PURE__ */ C("p", {
|
|
294
335
|
className: "text-xs text-text-secondary",
|
|
295
|
-
children: "
|
|
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__ */
|
|
319
|
-
className: "
|
|
320
|
-
children: [/* @__PURE__ */
|
|
321
|
-
className: "
|
|
322
|
-
children:
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
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__ */
|
|
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__ */
|
|
377
|
+
}), /* @__PURE__ */ C("textarea", {
|
|
342
378
|
rows: 3,
|
|
343
|
-
value:
|
|
344
|
-
onChange: (e) =>
|
|
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__ */
|
|
384
|
+
/* @__PURE__ */ w("div", {
|
|
349
385
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
350
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
389
|
+
}), /* @__PURE__ */ C("input", {
|
|
354
390
|
type: "date",
|
|
355
|
-
value:
|
|
356
|
-
onChange: (e) =>
|
|
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__ */
|
|
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__ */
|
|
362
|
-
value:
|
|
363
|
-
onChange: (e) =>
|
|
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__ */
|
|
402
|
+
/* @__PURE__ */ C("option", {
|
|
367
403
|
value: "",
|
|
368
404
|
children: "Select gender"
|
|
369
405
|
}),
|
|
370
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ C("option", {
|
|
371
407
|
value: "male",
|
|
372
408
|
children: "Male"
|
|
373
409
|
}),
|
|
374
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ C("option", {
|
|
375
411
|
value: "female",
|
|
376
412
|
children: "Female"
|
|
377
413
|
}),
|
|
378
|
-
/* @__PURE__ */
|
|
414
|
+
/* @__PURE__ */ C("option", {
|
|
379
415
|
value: "other",
|
|
380
416
|
children: "Other"
|
|
381
417
|
}),
|
|
382
|
-
/* @__PURE__ */
|
|
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__ */
|
|
427
|
+
preferences: () => /* @__PURE__ */ w("div", {
|
|
392
428
|
className: "space-y-6",
|
|
393
429
|
children: [
|
|
394
|
-
/* @__PURE__ */
|
|
430
|
+
/* @__PURE__ */ C("h3", {
|
|
395
431
|
className: "text-base font-semibold text-text-primary",
|
|
396
432
|
children: "App Preferences"
|
|
397
433
|
}),
|
|
398
|
-
/* @__PURE__ */
|
|
434
|
+
/* @__PURE__ */ w("div", {
|
|
399
435
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
|
|
400
436
|
children: [
|
|
401
|
-
/* @__PURE__ */
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
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
|
-
|
|
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__ */
|
|
442
|
-
value:
|
|
443
|
-
onChange: (e) =>
|
|
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__ */
|
|
467
|
+
/* @__PURE__ */ C("option", {
|
|
447
468
|
value: "Asia/Kolkata",
|
|
448
469
|
children: "India (IST)"
|
|
449
470
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
471
|
+
/* @__PURE__ */ C("option", {
|
|
451
472
|
value: "Asia/Dubai",
|
|
452
473
|
children: "Dubai (GST)"
|
|
453
474
|
}),
|
|
454
|
-
/* @__PURE__ */
|
|
475
|
+
/* @__PURE__ */ C("option", {
|
|
455
476
|
value: "Europe/London",
|
|
456
477
|
children: "London (GMT)"
|
|
457
478
|
}),
|
|
458
|
-
/* @__PURE__ */
|
|
479
|
+
/* @__PURE__ */ C("option", {
|
|
459
480
|
value: "America/New_York",
|
|
460
481
|
children: "New York (EST)"
|
|
461
482
|
})
|
|
462
483
|
]
|
|
463
484
|
})] }),
|
|
464
|
-
/* @__PURE__ */
|
|
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__ */
|
|
468
|
-
value:
|
|
469
|
-
onChange: (e) =>
|
|
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__ */
|
|
493
|
+
/* @__PURE__ */ C("option", {
|
|
473
494
|
value: "INR",
|
|
474
495
|
children: "Indian Rupee (₹)"
|
|
475
496
|
}),
|
|
476
|
-
/* @__PURE__ */
|
|
497
|
+
/* @__PURE__ */ C("option", {
|
|
477
498
|
value: "USD",
|
|
478
499
|
children: "US Dollar ($)"
|
|
479
500
|
}),
|
|
480
|
-
/* @__PURE__ */
|
|
501
|
+
/* @__PURE__ */ C("option", {
|
|
481
502
|
value: "EUR",
|
|
482
503
|
children: "Euro (€)"
|
|
483
504
|
}),
|
|
484
|
-
/* @__PURE__ */
|
|
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__ */
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
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
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
596
|
+
children: [/* @__PURE__ */ C("span", {
|
|
569
597
|
className: "text-sm text-text-primary",
|
|
570
598
|
children: e.label
|
|
571
|
-
}), /* @__PURE__ */
|
|
572
|
-
checked:
|
|
573
|
-
onChange: (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__ */
|
|
608
|
+
security: () => /* @__PURE__ */ w("div", {
|
|
581
609
|
className: "space-y-6",
|
|
582
610
|
children: [
|
|
583
|
-
/* @__PURE__ */
|
|
611
|
+
/* @__PURE__ */ C("h3", {
|
|
584
612
|
className: "text-base font-semibold text-text-primary",
|
|
585
613
|
children: "Security Settings"
|
|
586
614
|
}),
|
|
587
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
619
|
+
children: "Account Security is managed centrally"
|
|
620
|
+
}), /* @__PURE__ */ C("p", {
|
|
593
621
|
className: "text-xs text-text-secondary",
|
|
594
|
-
children: "
|
|
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__ */
|
|
598
|
-
className: "
|
|
599
|
-
children: [
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
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:
|
|
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
|
-
}
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
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__ */
|
|
660
|
+
privacy: () => /* @__PURE__ */ w("div", {
|
|
724
661
|
className: "space-y-6",
|
|
725
662
|
children: [
|
|
726
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ C("h3", {
|
|
727
664
|
className: "text-base font-semibold text-text-primary",
|
|
728
665
|
children: "Privacy Controls"
|
|
729
666
|
}),
|
|
730
|
-
/* @__PURE__ */
|
|
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__ */
|
|
669
|
+
children: /* @__PURE__ */ w("span", {
|
|
733
670
|
className: "flex items-center gap-1.5",
|
|
734
|
-
children: [/* @__PURE__ */
|
|
671
|
+
children: [/* @__PURE__ */ C(d, { className: "h-4 w-4 text-text-secondary" }), " Profile Visibility"]
|
|
735
672
|
})
|
|
736
|
-
}), /* @__PURE__ */
|
|
737
|
-
value:
|
|
738
|
-
onChange: (e) =>
|
|
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__ */
|
|
678
|
+
/* @__PURE__ */ C("option", {
|
|
742
679
|
value: "public",
|
|
743
680
|
children: "Public - Anyone can see your profile"
|
|
744
681
|
}),
|
|
745
|
-
/* @__PURE__ */
|
|
682
|
+
/* @__PURE__ */ C("option", {
|
|
746
683
|
value: "private",
|
|
747
684
|
children: "Private - Only you can see your profile"
|
|
748
685
|
}),
|
|
749
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
712
|
+
children: [/* @__PURE__ */ C("span", {
|
|
776
713
|
className: "text-sm text-text-primary",
|
|
777
714
|
children: e.label
|
|
778
|
-
}), /* @__PURE__ */
|
|
779
|
-
checked:
|
|
780
|
-
onChange: (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__ */
|
|
722
|
+
/* @__PURE__ */ w("div", {
|
|
786
723
|
className: "space-y-3",
|
|
787
|
-
children: [/* @__PURE__ */
|
|
724
|
+
children: [/* @__PURE__ */ w("div", {
|
|
788
725
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
|
|
789
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
796
|
-
checked:
|
|
797
|
-
onChange: (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__ */
|
|
737
|
+
}), /* @__PURE__ */ w("div", {
|
|
801
738
|
className: "flex items-center justify-between rounded-lg border border-border-subtle p-4",
|
|
802
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
742
|
+
}), /* @__PURE__ */ C("p", {
|
|
806
743
|
className: "text-xs text-text-secondary",
|
|
807
744
|
children: "Keep track of your orders and activities"
|
|
808
|
-
})] }), /* @__PURE__ */
|
|
809
|
-
checked:
|
|
810
|
-
onChange: (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__ */
|
|
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__ */
|
|
754
|
+
children: /* @__PURE__ */ w("div", {
|
|
818
755
|
className: "flex items-start gap-3",
|
|
819
|
-
children: [/* @__PURE__ */
|
|
820
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
765
|
+
/* @__PURE__ */ C("button", {
|
|
829
766
|
type: "button",
|
|
830
|
-
onClick:
|
|
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: "
|
|
769
|
+
children: "Request Account Deletion"
|
|
833
770
|
})
|
|
834
771
|
] })]
|
|
835
772
|
})
|
|
836
773
|
})
|
|
837
774
|
]
|
|
838
775
|
}),
|
|
839
|
-
billing: () => /* @__PURE__ */
|
|
776
|
+
billing: () => /* @__PURE__ */ w("div", {
|
|
840
777
|
className: "space-y-6",
|
|
841
778
|
children: [
|
|
842
|
-
/* @__PURE__ */
|
|
779
|
+
/* @__PURE__ */ C("h3", {
|
|
843
780
|
className: "text-base font-semibold text-text-primary",
|
|
844
781
|
children: "Billing & Payments"
|
|
845
782
|
}),
|
|
846
|
-
/* @__PURE__ */
|
|
783
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("h4", {
|
|
847
784
|
className: "text-sm font-semibold text-text-primary mb-3",
|
|
848
|
-
children: /* @__PURE__ */
|
|
785
|
+
children: /* @__PURE__ */ w("span", {
|
|
849
786
|
className: "flex items-center gap-1.5",
|
|
850
|
-
children: [/* @__PURE__ */
|
|
787
|
+
children: [/* @__PURE__ */ C(u, { className: "h-4 w-4 text-text-secondary" }), " Default Payment Method"]
|
|
851
788
|
})
|
|
852
|
-
}),
|
|
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__ */
|
|
791
|
+
children: [/* @__PURE__ */ C("p", {
|
|
877
792
|
className: "text-sm text-text-secondary",
|
|
878
|
-
children: "
|
|
879
|
-
}), /* @__PURE__ */
|
|
793
|
+
children: "Saved payment methods aren't available yet."
|
|
794
|
+
}), /* @__PURE__ */ C("button", {
|
|
880
795
|
type: "button",
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
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__ */
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
/* @__PURE__ */
|
|
892
|
-
className: "
|
|
893
|
-
children:
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
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__ */
|
|
827
|
+
children: /* @__PURE__ */ w("span", {
|
|
919
828
|
className: "flex items-center gap-1.5",
|
|
920
|
-
children: [/* @__PURE__ */
|
|
829
|
+
children: [/* @__PURE__ */ C(_, { className: "h-4 w-4 text-text-secondary" }), " Invoice Email"]
|
|
921
830
|
})
|
|
922
|
-
}), /* @__PURE__ */
|
|
831
|
+
}), /* @__PURE__ */ C("input", {
|
|
923
832
|
type: "email",
|
|
924
|
-
value:
|
|
925
|
-
onChange: (e) =>
|
|
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__ */
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
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
|
-
})
|
|
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
|
-
}[
|
|
891
|
+
}[L]()
|
|
976
892
|
})]
|
|
977
893
|
})
|
|
978
894
|
]
|
|
979
895
|
});
|
|
980
896
|
}
|
|
981
897
|
//#endregion
|
|
982
|
-
export {
|
|
898
|
+
export { j as SettingsPage };
|
|
983
899
|
|
|
984
900
|
//# sourceMappingURL=SettingsPage.js.map
|