@burdenoff/microfe-auth 2026.519.2 → 2026.520.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/AuthRoutes.js +1 -1
- package/dist/auth/AuthRoutes.js.map +1 -1
- package/dist/auth/components/AuthLayout.js +1 -1
- package/dist/auth/components/AuthLayout.js.map +1 -1
- package/dist/auth/hooks/useContextSwitcherData.d.ts.map +1 -1
- package/dist/auth/hooks/useContextSwitcherData.js +25 -22
- package/dist/auth/hooks/useContextSwitcherData.js.map +1 -1
- package/dist/auth/hooks/useSessionOperations.d.ts.map +1 -1
- package/dist/auth/hooks/useSessionOperations.js +4 -1
- package/dist/auth/hooks/useSessionOperations.js.map +1 -1
- package/dist/auth/hooks/useUserOperations.d.ts.map +1 -1
- package/dist/auth/hooks/useUserOperations.js +26 -11
- package/dist/auth/hooks/useUserOperations.js.map +1 -1
- package/dist/auth/pages/LoginPage.d.ts.map +1 -1
- package/dist/auth/pages/LoginPage.js +3 -2
- package/dist/auth/pages/LoginPage.js.map +1 -1
- package/dist/auth/pages/PasswordResetPage.js +1 -1
- package/dist/auth/pages/PasswordResetPage.js.map +1 -1
- package/dist/auth/pages/ReactivatePage.js +1 -1
- package/dist/auth/pages/ReactivatePage.js.map +1 -1
- package/dist/auth/pages/RegisterPage.js +1 -1
- package/dist/auth/pages/RegisterPage.js.map +1 -1
- package/dist/auth/pages/SessionsPage.d.ts.map +1 -1
- package/dist/auth/pages/SessionsPage.js +185 -130
- package/dist/auth/pages/SessionsPage.js.map +1 -1
- package/dist/auth/pages/SsoCallbackPage.js +1 -1
- package/dist/auth/pages/SsoCallbackPage.js.map +1 -1
- package/dist/auth/pages/SsoConfigPage.d.ts.map +1 -1
- package/dist/auth/pages/SsoConfigPage.js +214 -190
- package/dist/auth/pages/SsoConfigPage.js.map +1 -1
- package/dist/auth/pages/SsoLoginPage.js +1 -1
- package/dist/auth/pages/SsoLoginPage.js.map +1 -1
- package/dist/auth/pages/UserProfilePage.d.ts.map +1 -1
- package/dist/auth/pages/UserProfilePage.js +246 -233
- package/dist/auth/pages/UserProfilePage.js.map +1 -1
- package/dist/auth/pages/UsersPage.d.ts.map +1 -1
- package/dist/auth/pages/UsersPage.js +0 -1
- package/dist/auth/pages/UsersPage.js.map +1 -1
- package/dist/auth/store/authStore.d.ts +20 -0
- package/dist/auth/store/authStore.d.ts.map +1 -1
- package/dist/auth/store/authStore.js.map +1 -1
- package/dist/microfe-auth.css +1 -1
- package/dist/translations/en.d.ts +12 -0
- package/dist/translations/en.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/auth/pages/AppsPage.d.ts +0 -5
- package/dist/auth/pages/AppsPage.d.ts.map +0 -1
|
@@ -4,25 +4,25 @@ import "../hooks/index.js";
|
|
|
4
4
|
import { AuthLayout as n } from "../components/AuthLayout.js";
|
|
5
5
|
import { AlertIcon as r, CheckIcon as i, EmailIcon as a, SpinnerIcon as o, UserIcon as s } from "../components/AuthIcons.js";
|
|
6
6
|
import { useCompleteAvatarUploadMutation as c, useInitiateAvatarUploadMutation as l } from "../../generated/wspace-operations.js";
|
|
7
|
-
import { useEffect as u,
|
|
8
|
-
import { useNavigate as
|
|
9
|
-
import { useI18n as
|
|
10
|
-
import { Fragment as
|
|
7
|
+
import { useEffect as u, useId as d, useRef as f, useState as p } from "react";
|
|
8
|
+
import { useNavigate as m } from "react-router-dom";
|
|
9
|
+
import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
10
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
11
11
|
//#region src/auth/pages/UserProfilePage.tsx
|
|
12
|
-
function
|
|
13
|
-
let { t:
|
|
14
|
-
let n =
|
|
12
|
+
function y() {
|
|
13
|
+
let { t: y } = h(), b = (e, t) => {
|
|
14
|
+
let n = y(e);
|
|
15
15
|
return n === e ? t : n;
|
|
16
|
-
},
|
|
16
|
+
}, x = m(), S = e((e) => e.isAuthenticated), C = e((e) => e.user), { updateCurrentUserProfile: w, isLoading: T } = t(), E = d(), D = d(), O = d(), k = d(), A = d(), [j] = l(), [M] = c(), N = f(null), [P, F] = p(!1), I = async (e) => {
|
|
17
17
|
let t = e.target.files?.[0];
|
|
18
18
|
if (t) {
|
|
19
19
|
if (!t.type.startsWith("image/")) {
|
|
20
|
-
|
|
20
|
+
H(b("auth.profile.invalidImageType", "Please select an image file"));
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
F(!0), H(null);
|
|
24
24
|
try {
|
|
25
|
-
let e = await
|
|
25
|
+
let e = await j({ variables: { input: {
|
|
26
26
|
fileName: t.name,
|
|
27
27
|
fileSize: t.size.toString(),
|
|
28
28
|
mimeType: t.type
|
|
@@ -33,135 +33,135 @@ function v() {
|
|
|
33
33
|
headers: { "Content-Type": t.type },
|
|
34
34
|
body: t
|
|
35
35
|
})).ok) throw Error("Failed to upload file");
|
|
36
|
-
let i = (await
|
|
36
|
+
let i = (await M({ variables: { input: { sessionId: n.id } } })).data?.completeUpload.file?.downloadUrl;
|
|
37
37
|
if (!i) throw Error("Upload succeeded but no URL returned");
|
|
38
|
-
await
|
|
38
|
+
await w({ avatar: i }), W(b("auth.profile.avatarUpdated", "Profile picture updated!"));
|
|
39
39
|
} catch (e) {
|
|
40
|
-
|
|
40
|
+
H(e instanceof Error ? e.message : b("auth.profile.avatarFailed", "Failed to upload picture"));
|
|
41
41
|
} finally {
|
|
42
|
-
|
|
42
|
+
F(!1), N.current && (N.current.value = "");
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
}, [
|
|
45
|
+
}, [L, R] = p(!1), [z, B] = p({
|
|
46
46
|
username: "",
|
|
47
47
|
firstName: "",
|
|
48
48
|
lastName: "",
|
|
49
49
|
name: "",
|
|
50
50
|
phoneNumber: ""
|
|
51
|
-
}), [
|
|
51
|
+
}), [V, H] = p(null), [U, W] = p(null);
|
|
52
52
|
return u(() => {
|
|
53
|
-
|
|
54
|
-
username:
|
|
55
|
-
firstName:
|
|
56
|
-
lastName:
|
|
57
|
-
name:
|
|
58
|
-
phoneNumber:
|
|
53
|
+
C && B({
|
|
54
|
+
username: C.username || "",
|
|
55
|
+
firstName: C.firstName || "",
|
|
56
|
+
lastName: C.lastName || "",
|
|
57
|
+
name: C.name || "",
|
|
58
|
+
phoneNumber: C.phoneNumber || ""
|
|
59
59
|
});
|
|
60
|
-
}, [
|
|
61
|
-
title:
|
|
62
|
-
subtitle:
|
|
63
|
-
children: /* @__PURE__ */
|
|
60
|
+
}, [C]), !S || !C ? /* @__PURE__ */ _(n, {
|
|
61
|
+
title: b("auth.profile.title", "Profile"),
|
|
62
|
+
subtitle: b("auth.profile.subtitle", "View and manage your profile"),
|
|
63
|
+
children: /* @__PURE__ */ v("div", {
|
|
64
64
|
className: "text-center py-12",
|
|
65
65
|
children: [
|
|
66
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ _("div", {
|
|
67
67
|
className: "w-16 h-16 mx-auto mb-4 rounded-full bg-[var(--color-status-warning-bg-subtle)] flex items-center justify-center",
|
|
68
|
-
children: /* @__PURE__ */
|
|
68
|
+
children: /* @__PURE__ */ _(r, { className: "w-8 h-8 text-[var(--color-status-warning-text)]" })
|
|
69
69
|
}),
|
|
70
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ _("h2", {
|
|
71
71
|
className: "text-xl font-semibold text-[var(--color-text-primary)] mb-2",
|
|
72
|
-
children:
|
|
72
|
+
children: b("auth.profile.authRequired", "Authentication Required")
|
|
73
73
|
}),
|
|
74
|
-
/* @__PURE__ */
|
|
74
|
+
/* @__PURE__ */ _("p", {
|
|
75
75
|
className: "text-[var(--color-text-secondary)] mb-6",
|
|
76
|
-
children:
|
|
76
|
+
children: b("auth.profile.signInToView", "Please sign in to view your profile")
|
|
77
77
|
}),
|
|
78
|
-
/* @__PURE__ */
|
|
79
|
-
onClick: () =>
|
|
78
|
+
/* @__PURE__ */ _("button", {
|
|
79
|
+
onClick: () => x("/auth/login"),
|
|
80
80
|
className: "auth-primary-button px-6 py-3 font-semibold",
|
|
81
|
-
children:
|
|
81
|
+
children: b("auth.profile.signIn", "Sign In")
|
|
82
82
|
})
|
|
83
83
|
]
|
|
84
84
|
})
|
|
85
|
-
}) : /* @__PURE__ */
|
|
85
|
+
}) : /* @__PURE__ */ v("div", {
|
|
86
86
|
className: "max-w-4xl mx-auto p-6",
|
|
87
87
|
children: [
|
|
88
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ v("div", {
|
|
89
89
|
className: "mb-8",
|
|
90
|
-
children: [/* @__PURE__ */
|
|
90
|
+
children: [/* @__PURE__ */ _("h1", {
|
|
91
91
|
className: "text-3xl font-semibold text-[var(--color-text-primary)]",
|
|
92
|
-
children:
|
|
93
|
-
}), /* @__PURE__ */
|
|
92
|
+
children: b("auth.profile.myProfile", "My Profile")
|
|
93
|
+
}), /* @__PURE__ */ _("p", {
|
|
94
94
|
className: "text-[var(--color-text-secondary)] mt-2",
|
|
95
|
-
children:
|
|
95
|
+
children: b("auth.profile.viewAndManage", "View and manage your account information")
|
|
96
96
|
})]
|
|
97
97
|
}),
|
|
98
|
-
|
|
98
|
+
U && /* @__PURE__ */ v("div", {
|
|
99
99
|
className: "mb-6 flex items-center gap-3 p-4 rounded-xl bg-[var(--color-status-success-bg-subtle)] border border-[var(--color-status-success-border)]",
|
|
100
100
|
children: [
|
|
101
|
-
/* @__PURE__ */
|
|
102
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ _(i, { className: "w-5 h-5 text-[var(--color-status-success-text)] flex-shrink-0" }),
|
|
102
|
+
/* @__PURE__ */ _("p", {
|
|
103
103
|
className: "text-[var(--color-status-success-text)]",
|
|
104
|
-
children:
|
|
104
|
+
children: U
|
|
105
105
|
}),
|
|
106
|
-
/* @__PURE__ */
|
|
107
|
-
onClick: () =>
|
|
106
|
+
/* @__PURE__ */ _("button", {
|
|
107
|
+
onClick: () => W(null),
|
|
108
108
|
className: "ml-auto text-sm text-[var(--color-status-success-text)] hover:underline transition-colors duration-200",
|
|
109
|
-
children:
|
|
109
|
+
children: b("auth.profile.dismiss", "Dismiss")
|
|
110
110
|
})
|
|
111
111
|
]
|
|
112
112
|
}),
|
|
113
|
-
|
|
113
|
+
V && /* @__PURE__ */ v("div", {
|
|
114
114
|
className: "mb-6 flex items-start gap-3 p-4 rounded-xl bg-[var(--color-status-error-bg-subtle)] border border-[var(--color-status-error-border)]",
|
|
115
115
|
children: [
|
|
116
|
-
/* @__PURE__ */
|
|
117
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ _(r, { className: "w-5 h-5 text-[var(--color-status-error-text)] flex-shrink-0 mt-0.5" }),
|
|
117
|
+
/* @__PURE__ */ _("div", {
|
|
118
118
|
className: "flex-1",
|
|
119
|
-
children: /* @__PURE__ */
|
|
119
|
+
children: /* @__PURE__ */ _("p", {
|
|
120
120
|
className: "text-sm text-[var(--color-status-error-text)]",
|
|
121
|
-
children:
|
|
121
|
+
children: V
|
|
122
122
|
})
|
|
123
123
|
}),
|
|
124
|
-
/* @__PURE__ */
|
|
125
|
-
onClick: () =>
|
|
124
|
+
/* @__PURE__ */ _("button", {
|
|
125
|
+
onClick: () => H(null),
|
|
126
126
|
className: "text-sm text-[var(--color-status-error-text)] hover:underline transition-colors duration-200",
|
|
127
|
-
children:
|
|
127
|
+
children: b("auth.profile.dismiss", "Dismiss")
|
|
128
128
|
})
|
|
129
129
|
]
|
|
130
130
|
}),
|
|
131
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ v("div", {
|
|
132
132
|
className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] shadow-sm overflow-hidden",
|
|
133
|
-
children: [/* @__PURE__ */
|
|
133
|
+
children: [/* @__PURE__ */ _("div", {
|
|
134
134
|
className: "auth-hero-card p-6",
|
|
135
|
-
children: /* @__PURE__ */
|
|
135
|
+
children: /* @__PURE__ */ v("div", {
|
|
136
136
|
className: "flex items-center gap-4",
|
|
137
|
-
children: [/* @__PURE__ */
|
|
137
|
+
children: [/* @__PURE__ */ v("div", {
|
|
138
138
|
className: "relative group",
|
|
139
139
|
children: [
|
|
140
|
-
|
|
141
|
-
src:
|
|
142
|
-
alt:
|
|
140
|
+
C.avatar ? /* @__PURE__ */ _("img", {
|
|
141
|
+
src: C.avatar,
|
|
142
|
+
alt: b("auth.profile.avatarAlt", "Profile picture"),
|
|
143
143
|
className: "w-20 h-20 rounded-full object-cover shadow-lg"
|
|
144
|
-
}) : /* @__PURE__ */
|
|
144
|
+
}) : /* @__PURE__ */ _("div", {
|
|
145
145
|
className: "w-20 h-20 rounded-full bg-bg-surface/20 backdrop-blur-sm flex items-center justify-center text-white text-3xl font-semibold shadow-lg",
|
|
146
|
-
children: (
|
|
146
|
+
children: (C.name || C.username || C.email).charAt(0).toUpperCase()
|
|
147
147
|
}),
|
|
148
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ _("button", {
|
|
149
149
|
type: "button",
|
|
150
|
-
onClick: () =>
|
|
151
|
-
disabled:
|
|
152
|
-
"aria-label":
|
|
150
|
+
onClick: () => N.current?.click(),
|
|
151
|
+
disabled: P,
|
|
152
|
+
"aria-label": b("auth.profile.changeAvatar", "Change profile picture"),
|
|
153
153
|
className: "absolute inset-0 rounded-full flex items-center justify-center bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity duration-200 cursor-pointer",
|
|
154
|
-
children:
|
|
154
|
+
children: P ? /* @__PURE__ */ _(o, { className: "w-6 h-6 text-white animate-spin" }) : /* @__PURE__ */ v("svg", {
|
|
155
155
|
className: "w-6 h-6 text-white",
|
|
156
156
|
fill: "none",
|
|
157
157
|
viewBox: "0 0 24 24",
|
|
158
158
|
stroke: "currentColor",
|
|
159
|
-
children: [/* @__PURE__ */
|
|
159
|
+
children: [/* @__PURE__ */ _("path", {
|
|
160
160
|
strokeLinecap: "round",
|
|
161
161
|
strokeLinejoin: "round",
|
|
162
162
|
strokeWidth: 2,
|
|
163
163
|
d: "M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z"
|
|
164
|
-
}), /* @__PURE__ */
|
|
164
|
+
}), /* @__PURE__ */ _("path", {
|
|
165
165
|
strokeLinecap: "round",
|
|
166
166
|
strokeLinejoin: "round",
|
|
167
167
|
strokeWidth: 2,
|
|
@@ -169,298 +169,311 @@ function v() {
|
|
|
169
169
|
})]
|
|
170
170
|
})
|
|
171
171
|
}),
|
|
172
|
-
/* @__PURE__ */
|
|
173
|
-
ref:
|
|
172
|
+
/* @__PURE__ */ _("input", {
|
|
173
|
+
ref: N,
|
|
174
174
|
type: "file",
|
|
175
175
|
accept: "image/*",
|
|
176
176
|
className: "hidden",
|
|
177
|
-
onChange: (e) => void
|
|
177
|
+
onChange: (e) => void I(e),
|
|
178
178
|
"aria-hidden": "true"
|
|
179
179
|
})
|
|
180
180
|
]
|
|
181
|
-
}), /* @__PURE__ */
|
|
181
|
+
}), /* @__PURE__ */ v("div", {
|
|
182
182
|
className: "text-white",
|
|
183
183
|
children: [
|
|
184
|
-
/* @__PURE__ */
|
|
184
|
+
/* @__PURE__ */ _("h2", {
|
|
185
185
|
className: "text-2xl font-semibold",
|
|
186
|
-
children:
|
|
186
|
+
children: C.name || `${C.firstName || ""} ${C.lastName || ""}`.trim() || C.username
|
|
187
187
|
}),
|
|
188
|
-
/* @__PURE__ */
|
|
189
|
-
className: "text-
|
|
190
|
-
children: [/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ v("p", {
|
|
189
|
+
className: "text-white/80 flex items-center gap-2",
|
|
190
|
+
children: [/* @__PURE__ */ _(a, { className: "w-4 h-4" }), C.email]
|
|
191
191
|
}),
|
|
192
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ v("div", {
|
|
193
193
|
className: "flex items-center gap-2 mt-2",
|
|
194
|
-
children: [/* @__PURE__ */
|
|
194
|
+
children: [/* @__PURE__ */ _("span", {
|
|
195
195
|
className: "px-2.5 py-1 rounded-full text-xs font-medium bg-bg-surface/20 backdrop-blur-sm",
|
|
196
|
-
children:
|
|
197
|
-
}),
|
|
196
|
+
children: C.role?.replace("_", " ") || b("auth.profile.member", "Member")
|
|
197
|
+
}), C.emailVerified && /* @__PURE__ */ v("span", {
|
|
198
198
|
className: "px-2.5 py-1 rounded-full text-xs font-medium bg-status-success-text/30 flex items-center gap-1",
|
|
199
|
-
children: [/* @__PURE__ */
|
|
199
|
+
children: [/* @__PURE__ */ _(i, { className: "w-3 h-3" }), b("auth.profile.verified", "Verified")]
|
|
200
200
|
})]
|
|
201
201
|
})
|
|
202
202
|
]
|
|
203
203
|
})]
|
|
204
204
|
})
|
|
205
|
-
}), /* @__PURE__ */
|
|
205
|
+
}), /* @__PURE__ */ _("div", {
|
|
206
206
|
className: "p-6",
|
|
207
|
-
children:
|
|
207
|
+
children: L ? /* @__PURE__ */ v("form", {
|
|
208
208
|
onSubmit: async (e) => {
|
|
209
|
-
e.preventDefault(),
|
|
209
|
+
e.preventDefault(), H(null), W(null);
|
|
210
210
|
try {
|
|
211
|
-
await
|
|
212
|
-
username:
|
|
213
|
-
firstName:
|
|
214
|
-
lastName:
|
|
215
|
-
name:
|
|
216
|
-
phoneNumber:
|
|
217
|
-
}),
|
|
211
|
+
await w({
|
|
212
|
+
username: z.username || void 0,
|
|
213
|
+
firstName: z.firstName || void 0,
|
|
214
|
+
lastName: z.lastName || void 0,
|
|
215
|
+
name: z.name || void 0,
|
|
216
|
+
phoneNumber: z.phoneNumber || void 0
|
|
217
|
+
}), W(b("auth.profile.updateSuccess", "Profile updated successfully!")), R(!1);
|
|
218
218
|
} catch (e) {
|
|
219
|
-
|
|
219
|
+
H(e instanceof Error ? e.message : b("auth.profile.updateFailed", "Failed to update profile"));
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
className: "space-y-6",
|
|
223
|
-
children: [/* @__PURE__ */
|
|
223
|
+
children: [/* @__PURE__ */ v("div", {
|
|
224
224
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
225
225
|
children: [
|
|
226
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
227
|
+
htmlFor: E,
|
|
227
228
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
228
|
-
children:
|
|
229
|
-
}), /* @__PURE__ */
|
|
229
|
+
children: b("auth.profile.username", "Username")
|
|
230
|
+
}), /* @__PURE__ */ v("div", {
|
|
230
231
|
className: "relative",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
232
|
+
children: [/* @__PURE__ */ _("div", {
|
|
232
233
|
className: "absolute inset-y-0 left-0 pl-3.5 flex items-center pointer-events-none",
|
|
233
|
-
children: /* @__PURE__ */
|
|
234
|
-
|
|
234
|
+
children: /* @__PURE__ */ _(s, {
|
|
235
|
+
className: "w-5 h-5 text-[var(--color-text-tertiary)]",
|
|
236
|
+
"aria-hidden": "true"
|
|
237
|
+
})
|
|
238
|
+
}), /* @__PURE__ */ _("input", {
|
|
239
|
+
id: E,
|
|
235
240
|
type: "text",
|
|
236
|
-
value:
|
|
237
|
-
onChange: (e) =>
|
|
238
|
-
...
|
|
241
|
+
value: z.username,
|
|
242
|
+
onChange: (e) => B({
|
|
243
|
+
...z,
|
|
239
244
|
username: e.target.value
|
|
240
245
|
}),
|
|
241
246
|
className: "block w-full pl-[3.5rem] pr-4 py-3 border border-[var(--color-border-default)] rounded-xl bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] focus:outline-none focus:ring-2 focus:ring-action-primary-bg/20 focus:border-action-primary-bg transition-all duration-300",
|
|
242
|
-
placeholder:
|
|
247
|
+
placeholder: b("auth.profile.usernamePlaceholder", "Enter username")
|
|
243
248
|
})]
|
|
244
249
|
})] }),
|
|
245
|
-
/* @__PURE__ */
|
|
250
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
251
|
+
htmlFor: D,
|
|
246
252
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
247
|
-
children:
|
|
248
|
-
}), /* @__PURE__ */
|
|
253
|
+
children: b("auth.profile.displayName", "Display Name")
|
|
254
|
+
}), /* @__PURE__ */ _("input", {
|
|
255
|
+
id: D,
|
|
249
256
|
type: "text",
|
|
250
|
-
value:
|
|
251
|
-
onChange: (e) =>
|
|
252
|
-
...
|
|
257
|
+
value: z.name,
|
|
258
|
+
onChange: (e) => B({
|
|
259
|
+
...z,
|
|
253
260
|
name: e.target.value
|
|
254
261
|
}),
|
|
255
262
|
className: "block w-full px-4 py-3 border border-[var(--color-border-default)] rounded-xl bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] focus:outline-none focus:ring-2 focus:ring-action-primary-bg/20 focus:border-action-primary-bg transition-all duration-300",
|
|
256
|
-
placeholder:
|
|
263
|
+
placeholder: b("auth.profile.displayNamePlaceholder", "Enter display name")
|
|
257
264
|
})] }),
|
|
258
|
-
/* @__PURE__ */
|
|
265
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
266
|
+
htmlFor: O,
|
|
259
267
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
260
|
-
children:
|
|
261
|
-
}), /* @__PURE__ */
|
|
268
|
+
children: b("auth.profile.firstName", "First Name")
|
|
269
|
+
}), /* @__PURE__ */ _("input", {
|
|
270
|
+
id: O,
|
|
262
271
|
type: "text",
|
|
263
|
-
value:
|
|
264
|
-
onChange: (e) =>
|
|
265
|
-
...
|
|
272
|
+
value: z.firstName,
|
|
273
|
+
onChange: (e) => B({
|
|
274
|
+
...z,
|
|
266
275
|
firstName: e.target.value
|
|
267
276
|
}),
|
|
268
277
|
className: "block w-full px-4 py-3 border border-[var(--color-border-default)] rounded-xl bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] focus:outline-none focus:ring-2 focus:ring-action-primary-bg/20 focus:border-action-primary-bg transition-all duration-300",
|
|
269
|
-
placeholder:
|
|
278
|
+
placeholder: b("auth.profile.firstNamePlaceholder", "Enter first name")
|
|
270
279
|
})] }),
|
|
271
|
-
/* @__PURE__ */
|
|
280
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
281
|
+
htmlFor: k,
|
|
272
282
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
273
|
-
children:
|
|
274
|
-
}), /* @__PURE__ */
|
|
283
|
+
children: b("auth.profile.lastName", "Last Name")
|
|
284
|
+
}), /* @__PURE__ */ _("input", {
|
|
285
|
+
id: k,
|
|
275
286
|
type: "text",
|
|
276
|
-
value:
|
|
277
|
-
onChange: (e) =>
|
|
278
|
-
...
|
|
287
|
+
value: z.lastName,
|
|
288
|
+
onChange: (e) => B({
|
|
289
|
+
...z,
|
|
279
290
|
lastName: e.target.value
|
|
280
291
|
}),
|
|
281
292
|
className: "block w-full px-4 py-3 border border-[var(--color-border-default)] rounded-xl bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] focus:outline-none focus:ring-2 focus:ring-action-primary-bg/20 focus:border-action-primary-bg transition-all duration-300",
|
|
282
|
-
placeholder:
|
|
293
|
+
placeholder: b("auth.profile.lastNamePlaceholder", "Enter last name")
|
|
283
294
|
})] }),
|
|
284
|
-
/* @__PURE__ */
|
|
295
|
+
/* @__PURE__ */ v("div", {
|
|
285
296
|
className: "md:col-span-2",
|
|
286
|
-
children: [/* @__PURE__ */
|
|
297
|
+
children: [/* @__PURE__ */ _("label", {
|
|
298
|
+
htmlFor: A,
|
|
287
299
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
288
|
-
children:
|
|
289
|
-
}), /* @__PURE__ */
|
|
300
|
+
children: b("auth.profile.phoneNumber", "Phone Number")
|
|
301
|
+
}), /* @__PURE__ */ _("input", {
|
|
302
|
+
id: A,
|
|
290
303
|
type: "tel",
|
|
291
|
-
value:
|
|
292
|
-
onChange: (e) =>
|
|
293
|
-
...
|
|
304
|
+
value: z.phoneNumber,
|
|
305
|
+
onChange: (e) => B({
|
|
306
|
+
...z,
|
|
294
307
|
phoneNumber: e.target.value
|
|
295
308
|
}),
|
|
296
309
|
className: "block w-full px-4 py-3 border border-[var(--color-border-default)] rounded-xl bg-[var(--color-bg-surface)] text-[var(--color-text-primary)] focus:outline-none focus:ring-2 focus:ring-action-primary-bg/20 focus:border-action-primary-bg transition-all duration-300",
|
|
297
|
-
placeholder:
|
|
310
|
+
placeholder: b("auth.profile.phonePlaceholder", "Enter phone number")
|
|
298
311
|
})]
|
|
299
312
|
})
|
|
300
313
|
]
|
|
301
|
-
}), /* @__PURE__ */
|
|
314
|
+
}), /* @__PURE__ */ v("div", {
|
|
302
315
|
className: "flex gap-3 pt-4 border-t border-[var(--color-border-default)]",
|
|
303
|
-
children: [/* @__PURE__ */
|
|
316
|
+
children: [/* @__PURE__ */ _("button", {
|
|
304
317
|
type: "submit",
|
|
305
|
-
disabled:
|
|
318
|
+
disabled: T,
|
|
306
319
|
className: "auth-primary-button flex items-center gap-2 px-6 py-3 font-medium",
|
|
307
|
-
children:
|
|
308
|
-
}), /* @__PURE__ */
|
|
320
|
+
children: T ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(o, { className: "w-4 h-4 animate-spin" }), b("auth.profile.saving", "Saving...")] }) : b("auth.profile.saveChanges", "Save Changes")
|
|
321
|
+
}), /* @__PURE__ */ _("button", {
|
|
309
322
|
type: "button",
|
|
310
323
|
onClick: () => {
|
|
311
|
-
|
|
312
|
-
username:
|
|
313
|
-
firstName:
|
|
314
|
-
lastName:
|
|
315
|
-
name:
|
|
316
|
-
phoneNumber:
|
|
317
|
-
}),
|
|
324
|
+
C && B({
|
|
325
|
+
username: C.username || "",
|
|
326
|
+
firstName: C.firstName || "",
|
|
327
|
+
lastName: C.lastName || "",
|
|
328
|
+
name: C.name || "",
|
|
329
|
+
phoneNumber: C.phoneNumber || ""
|
|
330
|
+
}), R(!1), H(null);
|
|
318
331
|
},
|
|
319
332
|
className: "px-6 py-3 rounded-xl border border-[var(--color-border-default)] text-[var(--color-text-secondary)] font-medium hover:bg-[var(--color-bg-muted)] transition-colors duration-200",
|
|
320
|
-
children:
|
|
333
|
+
children: b("auth.profile.cancel", "Cancel")
|
|
321
334
|
})]
|
|
322
335
|
})]
|
|
323
|
-
}) : /* @__PURE__ */
|
|
336
|
+
}) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ v("div", {
|
|
324
337
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
325
338
|
children: [
|
|
326
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ v("div", {
|
|
327
340
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
328
|
-
children: [/* @__PURE__ */
|
|
341
|
+
children: [/* @__PURE__ */ _("label", {
|
|
329
342
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
330
|
-
children:
|
|
331
|
-
}), /* @__PURE__ */
|
|
343
|
+
children: b("auth.profile.username", "Username")
|
|
344
|
+
}), /* @__PURE__ */ _("p", {
|
|
332
345
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
333
|
-
children:
|
|
346
|
+
children: C.username || "-"
|
|
334
347
|
})]
|
|
335
348
|
}),
|
|
336
|
-
/* @__PURE__ */
|
|
349
|
+
/* @__PURE__ */ v("div", {
|
|
337
350
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
338
|
-
children: [/* @__PURE__ */
|
|
351
|
+
children: [/* @__PURE__ */ _("label", {
|
|
339
352
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
340
|
-
children:
|
|
341
|
-
}), /* @__PURE__ */
|
|
353
|
+
children: b("auth.profile.displayName", "Display Name")
|
|
354
|
+
}), /* @__PURE__ */ _("p", {
|
|
342
355
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
343
|
-
children:
|
|
356
|
+
children: C.name || "-"
|
|
344
357
|
})]
|
|
345
358
|
}),
|
|
346
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ v("div", {
|
|
347
360
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
348
|
-
children: [/* @__PURE__ */
|
|
361
|
+
children: [/* @__PURE__ */ _("label", {
|
|
349
362
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
350
|
-
children:
|
|
351
|
-
}), /* @__PURE__ */
|
|
363
|
+
children: b("auth.profile.firstName", "First Name")
|
|
364
|
+
}), /* @__PURE__ */ _("p", {
|
|
352
365
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
353
|
-
children:
|
|
366
|
+
children: C.firstName || "-"
|
|
354
367
|
})]
|
|
355
368
|
}),
|
|
356
|
-
/* @__PURE__ */
|
|
369
|
+
/* @__PURE__ */ v("div", {
|
|
357
370
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
358
|
-
children: [/* @__PURE__ */
|
|
371
|
+
children: [/* @__PURE__ */ _("label", {
|
|
359
372
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
360
|
-
children:
|
|
361
|
-
}), /* @__PURE__ */
|
|
373
|
+
children: b("auth.profile.lastName", "Last Name")
|
|
374
|
+
}), /* @__PURE__ */ _("p", {
|
|
362
375
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
363
|
-
children:
|
|
376
|
+
children: C.lastName || "-"
|
|
364
377
|
})]
|
|
365
378
|
}),
|
|
366
|
-
/* @__PURE__ */
|
|
379
|
+
/* @__PURE__ */ v("div", {
|
|
367
380
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
368
|
-
children: [/* @__PURE__ */
|
|
381
|
+
children: [/* @__PURE__ */ _("label", {
|
|
369
382
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
370
|
-
children:
|
|
371
|
-
}), /* @__PURE__ */
|
|
383
|
+
children: b("auth.profile.email", "Email")
|
|
384
|
+
}), /* @__PURE__ */ v("p", {
|
|
372
385
|
className: "text-[var(--color-text-primary)] font-medium flex items-center gap-2",
|
|
373
|
-
children: [
|
|
386
|
+
children: [C.email, C.emailVerified && /* @__PURE__ */ v("span", {
|
|
374
387
|
className: "inline-flex items-center gap-1 text-[var(--color-status-success-text)] text-xs",
|
|
375
|
-
children: [/* @__PURE__ */
|
|
388
|
+
children: [/* @__PURE__ */ _(i, { className: "w-3 h-3" }), b("auth.profile.verified", "Verified")]
|
|
376
389
|
})]
|
|
377
390
|
})]
|
|
378
391
|
}),
|
|
379
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ v("div", {
|
|
380
393
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
381
|
-
children: [/* @__PURE__ */
|
|
394
|
+
children: [/* @__PURE__ */ _("label", {
|
|
382
395
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
383
|
-
children:
|
|
384
|
-
}), /* @__PURE__ */
|
|
396
|
+
children: b("auth.profile.phoneNumber", "Phone Number")
|
|
397
|
+
}), /* @__PURE__ */ _("p", {
|
|
385
398
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
386
|
-
children:
|
|
399
|
+
children: C.phoneNumber || "-"
|
|
387
400
|
})]
|
|
388
401
|
}),
|
|
389
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ v("div", {
|
|
390
403
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
391
|
-
children: [/* @__PURE__ */
|
|
404
|
+
children: [/* @__PURE__ */ _("label", {
|
|
392
405
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
393
|
-
children:
|
|
394
|
-
}), /* @__PURE__ */
|
|
406
|
+
children: b("auth.profile.role", "Role")
|
|
407
|
+
}), /* @__PURE__ */ _("p", {
|
|
395
408
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
396
|
-
children:
|
|
409
|
+
children: C.role?.replace("_", " ") || b("auth.profile.member", "Member")
|
|
397
410
|
})]
|
|
398
411
|
}),
|
|
399
|
-
/* @__PURE__ */
|
|
412
|
+
/* @__PURE__ */ v("div", {
|
|
400
413
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
401
|
-
children: [/* @__PURE__ */
|
|
414
|
+
children: [/* @__PURE__ */ _("label", {
|
|
402
415
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
403
|
-
children:
|
|
404
|
-
}), /* @__PURE__ */
|
|
416
|
+
children: b("auth.profile.mfaStatus", "MFA Status")
|
|
417
|
+
}), /* @__PURE__ */ _("p", {
|
|
405
418
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
406
|
-
children:
|
|
419
|
+
children: C.mfaEnabled ? /* @__PURE__ */ v("span", {
|
|
407
420
|
className: "text-[var(--color-status-success-text)] flex items-center gap-1",
|
|
408
|
-
children: [/* @__PURE__ */
|
|
409
|
-
}) : /* @__PURE__ */
|
|
421
|
+
children: [/* @__PURE__ */ _(i, { className: "w-4 h-4" }), b("auth.profile.enabled", "Enabled")]
|
|
422
|
+
}) : /* @__PURE__ */ _("span", {
|
|
410
423
|
className: "text-[var(--color-status-warning-text)]",
|
|
411
|
-
children:
|
|
424
|
+
children: b("auth.profile.notEnabled", "Not Enabled")
|
|
412
425
|
})
|
|
413
426
|
})]
|
|
414
427
|
}),
|
|
415
|
-
/* @__PURE__ */
|
|
428
|
+
/* @__PURE__ */ v("div", {
|
|
416
429
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
417
|
-
children: [/* @__PURE__ */
|
|
430
|
+
children: [/* @__PURE__ */ _("label", {
|
|
418
431
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
419
|
-
children:
|
|
420
|
-
}), /* @__PURE__ */
|
|
432
|
+
children: b("auth.profile.lastLogin", "Last Login")
|
|
433
|
+
}), /* @__PURE__ */ _("p", {
|
|
421
434
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
422
|
-
children:
|
|
435
|
+
children: C.lastLoginAt ? new Date(C.lastLoginAt).toLocaleString() : b("auth.profile.never", "Never")
|
|
423
436
|
})]
|
|
424
437
|
}),
|
|
425
|
-
/* @__PURE__ */
|
|
438
|
+
/* @__PURE__ */ v("div", {
|
|
426
439
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
427
|
-
children: [/* @__PURE__ */
|
|
440
|
+
children: [/* @__PURE__ */ _("label", {
|
|
428
441
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
429
|
-
children:
|
|
430
|
-
}), /* @__PURE__ */
|
|
442
|
+
children: b("auth.profile.accountCreated", "Account Created")
|
|
443
|
+
}), /* @__PURE__ */ _("p", {
|
|
431
444
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
432
|
-
children:
|
|
445
|
+
children: C.createdAt ? new Date(C.createdAt).toLocaleString() : "-"
|
|
433
446
|
})]
|
|
434
447
|
})
|
|
435
448
|
]
|
|
436
|
-
}), /* @__PURE__ */
|
|
449
|
+
}), /* @__PURE__ */ v("div", {
|
|
437
450
|
className: "flex gap-3 pt-6 mt-6 border-t border-[var(--color-border-default)]",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
439
|
-
onClick: () =>
|
|
451
|
+
children: [/* @__PURE__ */ _("button", {
|
|
452
|
+
onClick: () => R(!0),
|
|
440
453
|
className: "auth-primary-button px-6 py-3 font-medium",
|
|
441
|
-
children:
|
|
442
|
-
}), /* @__PURE__ */
|
|
443
|
-
onClick: () =>
|
|
454
|
+
children: b("auth.profile.editProfile", "Edit Profile")
|
|
455
|
+
}), /* @__PURE__ */ _("button", {
|
|
456
|
+
onClick: () => x("/auth/security"),
|
|
444
457
|
className: "px-6 py-3 rounded-xl border border-[var(--color-border-default)] text-[var(--color-text-secondary)] font-medium hover:bg-[var(--color-bg-muted)] transition-colors duration-200",
|
|
445
|
-
children:
|
|
458
|
+
children: b("auth.profile.securitySettings", "Security Settings")
|
|
446
459
|
})]
|
|
447
460
|
})] })
|
|
448
461
|
})]
|
|
449
462
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
463
|
+
/* @__PURE__ */ v("div", {
|
|
451
464
|
className: "mt-8 grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
452
|
-
children: [/* @__PURE__ */
|
|
453
|
-
onClick: () =>
|
|
465
|
+
children: [/* @__PURE__ */ v("button", {
|
|
466
|
+
onClick: () => x("/auth/mfa"),
|
|
454
467
|
className: "p-4 rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] hover:border-[var(--color-action-primary-border)] transition-colors duration-200 text-left group",
|
|
455
468
|
children: [
|
|
456
|
-
/* @__PURE__ */
|
|
469
|
+
/* @__PURE__ */ _("div", {
|
|
457
470
|
className: "w-10 h-10 rounded-lg bg-[var(--color-bg-accent)] flex items-center justify-center mb-3 group-hover:bg-[var(--color-action-primary-bg-subtle)] transition-colors duration-200",
|
|
458
|
-
children: /* @__PURE__ */
|
|
471
|
+
children: /* @__PURE__ */ _("svg", {
|
|
459
472
|
className: "w-5 h-5 text-[var(--color-text-link)]",
|
|
460
473
|
fill: "none",
|
|
461
474
|
viewBox: "0 0 24 24",
|
|
462
475
|
stroke: "currentColor",
|
|
463
|
-
children: /* @__PURE__ */
|
|
476
|
+
children: /* @__PURE__ */ _("path", {
|
|
464
477
|
strokeLinecap: "round",
|
|
465
478
|
strokeLinejoin: "round",
|
|
466
479
|
strokeWidth: 2,
|
|
@@ -468,27 +481,27 @@ function v() {
|
|
|
468
481
|
})
|
|
469
482
|
})
|
|
470
483
|
}),
|
|
471
|
-
/* @__PURE__ */
|
|
484
|
+
/* @__PURE__ */ _("h3", {
|
|
472
485
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
473
|
-
children:
|
|
486
|
+
children: b("auth.profile.twoFactorAuth", "Two-Factor Auth")
|
|
474
487
|
}),
|
|
475
|
-
/* @__PURE__ */
|
|
488
|
+
/* @__PURE__ */ _("p", {
|
|
476
489
|
className: "text-sm text-[var(--color-text-tertiary)] mt-1",
|
|
477
|
-
children:
|
|
490
|
+
children: C.mfaEnabled ? b("auth.profile.manageMfa", "Manage MFA settings") : b("auth.profile.enableMfa", "Enable MFA for extra security")
|
|
478
491
|
})
|
|
479
492
|
]
|
|
480
|
-
}), /* @__PURE__ */
|
|
481
|
-
onClick: () =>
|
|
493
|
+
}), /* @__PURE__ */ v("button", {
|
|
494
|
+
onClick: () => x("/auth/api-keys"),
|
|
482
495
|
className: "p-4 rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] hover:border-[var(--color-action-secondary-border)] transition-colors duration-200 text-left group",
|
|
483
496
|
children: [
|
|
484
|
-
/* @__PURE__ */
|
|
497
|
+
/* @__PURE__ */ _("div", {
|
|
485
498
|
className: "w-10 h-10 rounded-lg bg-[var(--color-action-secondary-bg-subtle)] flex items-center justify-center mb-3 group-hover:bg-[var(--color-action-secondary-bg-subtle)] transition-colors duration-200",
|
|
486
|
-
children: /* @__PURE__ */
|
|
499
|
+
children: /* @__PURE__ */ _("svg", {
|
|
487
500
|
className: "w-5 h-5 text-[var(--color-action-secondary-text)]",
|
|
488
501
|
fill: "none",
|
|
489
502
|
viewBox: "0 0 24 24",
|
|
490
503
|
stroke: "currentColor",
|
|
491
|
-
children: /* @__PURE__ */
|
|
504
|
+
children: /* @__PURE__ */ _("path", {
|
|
492
505
|
strokeLinecap: "round",
|
|
493
506
|
strokeLinejoin: "round",
|
|
494
507
|
strokeWidth: 2,
|
|
@@ -496,13 +509,13 @@ function v() {
|
|
|
496
509
|
})
|
|
497
510
|
})
|
|
498
511
|
}),
|
|
499
|
-
/* @__PURE__ */
|
|
512
|
+
/* @__PURE__ */ _("h3", {
|
|
500
513
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
501
|
-
children:
|
|
514
|
+
children: b("auth.profile.apiKeys", "API Keys")
|
|
502
515
|
}),
|
|
503
|
-
/* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ _("p", {
|
|
504
517
|
className: "text-sm text-[var(--color-text-tertiary)] mt-1",
|
|
505
|
-
children:
|
|
518
|
+
children: b("auth.profile.manageApiKeys", "Manage your API access credentials")
|
|
506
519
|
})
|
|
507
520
|
]
|
|
508
521
|
})]
|
|
@@ -511,6 +524,6 @@ function v() {
|
|
|
511
524
|
});
|
|
512
525
|
}
|
|
513
526
|
//#endregion
|
|
514
|
-
export {
|
|
527
|
+
export { y as UserProfilePage };
|
|
515
528
|
|
|
516
529
|
//# sourceMappingURL=UserProfilePage.js.map
|