@burdenoff/microfe-auth 2026.1031.1 → 2026.1101.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/AuthRoot.js +14 -11
- package/dist/auth/AuthRoot.js.map +1 -1
- package/dist/auth/AuthRoutes.js +1 -2
- package/dist/auth/AuthRoutes.js.map +1 -1
- package/dist/auth/components/AuthIcons.js +1 -2
- package/dist/auth/components/AuthIcons.js.map +1 -1
- package/dist/auth/components/AuthLayout.js +1 -2
- package/dist/auth/components/AuthLayout.js.map +1 -1
- package/dist/auth/components/CaptchaV2.js +9 -10
- package/dist/auth/components/CaptchaV2.js.map +1 -1
- package/dist/auth/components/ConfirmActionDialog.js +1 -2
- package/dist/auth/components/ConfirmActionDialog.js.map +1 -1
- package/dist/auth/components/profile/UserProfileMenu.js +7 -6
- package/dist/auth/components/profile/UserProfileMenu.js.map +1 -1
- package/dist/auth/components/workspace/WorkspaceSelector.js +1 -2
- package/dist/auth/components/workspace/WorkspaceSelector.js.map +1 -1
- package/dist/auth/constants/permissions.js +1 -2
- package/dist/auth/constants/permissions.js.map +1 -1
- package/dist/auth/constants/sessionKeys.js +1 -2
- package/dist/auth/constants/sessionKeys.js.map +1 -1
- package/dist/auth/hooks/contextDeepLink.js +1 -2
- package/dist/auth/hooks/contextDeepLink.js.map +1 -1
- package/dist/auth/hooks/index.js +12 -11
- package/dist/auth/hooks/useAccountOperations.js +1 -2
- package/dist/auth/hooks/useAccountOperations.js.map +1 -1
- package/dist/auth/hooks/useActiveContextBootstrapMirror.js +1 -2
- package/dist/auth/hooks/useActiveContextBootstrapMirror.js.map +1 -1
- package/dist/auth/hooks/useAuthOperations.js +37 -37
- package/dist/auth/hooks/useAuthOperations.js.map +1 -1
- package/dist/auth/hooks/useAuthPermissions.js +1 -2
- package/dist/auth/hooks/useAuthPermissions.js.map +1 -1
- package/dist/auth/hooks/useCaptchaV3.js +1 -2
- package/dist/auth/hooks/useCaptchaV3.js.map +1 -1
- package/dist/auth/hooks/useContextSwitcherData.js +86 -79
- package/dist/auth/hooks/useContextSwitcherData.js.map +1 -1
- package/dist/auth/hooks/useMfaOperations.js +4 -5
- package/dist/auth/hooks/useMfaOperations.js.map +1 -1
- package/dist/auth/hooks/useMyWorkspaces.js +4 -5
- package/dist/auth/hooks/useMyWorkspaces.js.map +1 -1
- package/dist/auth/hooks/useOAuthOperations.js +11 -12
- package/dist/auth/hooks/useOAuthOperations.js.map +1 -1
- package/dist/auth/hooks/usePasswordOperations.js +1 -2
- package/dist/auth/hooks/usePasswordOperations.js.map +1 -1
- package/dist/auth/hooks/useSessionOperations.js +3 -4
- package/dist/auth/hooks/useSessionOperations.js.map +1 -1
- package/dist/auth/hooks/useSignupCaptcha.js +1 -2
- package/dist/auth/hooks/useSignupCaptcha.js.map +1 -1
- package/dist/auth/hooks/useSsoOperations.js +80 -81
- package/dist/auth/hooks/useSsoOperations.js.map +1 -1
- package/dist/auth/hooks/useTokenRefresh.js +8 -12
- package/dist/auth/hooks/useTokenRefresh.js.map +1 -1
- package/dist/auth/hooks/useUserOperations.js +1 -2
- package/dist/auth/hooks/useUserOperations.js.map +1 -1
- package/dist/auth/hooks/useWorkspaceOperations.js +1 -2
- package/dist/auth/hooks/useWorkspaceOperations.js.map +1 -1
- package/dist/auth/hooks/useWorkspaceToken.js +1 -2
- package/dist/auth/hooks/useWorkspaceToken.js.map +1 -1
- package/dist/auth/index.js +19 -18
- package/dist/auth/pages/AuditLogPage.js +21 -22
- package/dist/auth/pages/AuditLogPage.js.map +1 -1
- package/dist/auth/pages/EmailVerifyPage.js +15 -17
- package/dist/auth/pages/EmailVerifyPage.js.map +1 -1
- package/dist/auth/pages/LoginPage.js +89 -105
- package/dist/auth/pages/LoginPage.js.map +1 -1
- package/dist/auth/pages/MagicLinkPage.js +30 -31
- package/dist/auth/pages/MagicLinkPage.js.map +1 -1
- package/dist/auth/pages/MfaSetupPage.js +18 -20
- package/dist/auth/pages/MfaSetupPage.js.map +1 -1
- package/dist/auth/pages/MfaVerifyPage.js +31 -35
- package/dist/auth/pages/MfaVerifyPage.js.map +1 -1
- package/dist/auth/pages/OAuthCallbackPage.js +4 -11
- package/dist/auth/pages/OAuthCallbackPage.js.map +1 -1
- package/dist/auth/pages/PasswordResetPage.js +20 -23
- package/dist/auth/pages/PasswordResetPage.js.map +1 -1
- package/dist/auth/pages/ReactivatePage.js +14 -18
- package/dist/auth/pages/ReactivatePage.js.map +1 -1
- package/dist/auth/pages/RegisterPage.js +180 -181
- package/dist/auth/pages/RegisterPage.js.map +1 -1
- package/dist/auth/pages/SSOClearPage.js +9 -10
- package/dist/auth/pages/SSOClearPage.js.map +1 -1
- package/dist/auth/pages/SSODepositPage.js +9 -13
- package/dist/auth/pages/SSODepositPage.js.map +1 -1
- package/dist/auth/pages/SSORelayCallbackPage.js +3 -7
- package/dist/auth/pages/SSORelayCallbackPage.js.map +1 -1
- package/dist/auth/pages/SSORelayPage.js +11 -10
- package/dist/auth/pages/SSORelayPage.js.map +1 -1
- package/dist/auth/pages/SecurityPage.js +19 -21
- package/dist/auth/pages/SecurityPage.js.map +1 -1
- package/dist/auth/pages/SessionBridgePage.js +9 -16
- package/dist/auth/pages/SessionBridgePage.js.map +1 -1
- package/dist/auth/pages/SessionsPage.js +17 -18
- package/dist/auth/pages/SessionsPage.js.map +1 -1
- package/dist/auth/pages/SsoCallbackPage.js +17 -22
- package/dist/auth/pages/SsoCallbackPage.js.map +1 -1
- package/dist/auth/pages/SsoConfigPage.js +69 -69
- package/dist/auth/pages/SsoConfigPage.js.map +1 -1
- package/dist/auth/pages/SsoLoginPage.js +9 -10
- package/dist/auth/pages/SsoLoginPage.js.map +1 -1
- package/dist/auth/pages/UserDetailsPage.js +16 -23
- package/dist/auth/pages/UserDetailsPage.js.map +1 -1
- package/dist/auth/pages/UserProfilePage.js +140 -141
- package/dist/auth/pages/UserProfilePage.js.map +1 -1
- package/dist/auth/pages/UsersPage.js +446 -453
- package/dist/auth/pages/UsersPage.js.map +1 -1
- package/dist/auth/providers/AuthProvider.js +1 -2
- package/dist/auth/providers/AuthProvider.js.map +1 -1
- package/dist/auth/providers/CaptchaProvider.js +1 -2
- package/dist/auth/providers/CaptchaProvider.js.map +1 -1
- package/dist/auth/store/authStore.js +5 -12
- package/dist/auth/store/authStore.js.map +1 -1
- package/dist/auth/utils/captchaConfig.js +5 -8
- package/dist/auth/utils/captchaConfig.js.map +1 -1
- package/dist/auth/utils/formatters.js +1 -2
- package/dist/auth/utils/formatters.js.map +1 -1
- package/dist/auth/utils/gatewayBaseUrls.js +1 -2
- package/dist/auth/utils/gatewayBaseUrls.js.map +1 -1
- package/dist/auth/utils/legalUrls.js +2 -3
- package/dist/auth/utils/legalUrls.js.map +1 -1
- package/dist/auth/utils/redirect.js +1 -2
- package/dist/auth/utils/redirect.js.map +1 -1
- package/dist/auth/utils/ssoOrigins.js +2 -3
- package/dist/auth/utils/ssoOrigins.js.map +1 -1
- package/dist/auth/utils/validation.js +34 -36
- package/dist/auth/utils/validation.js.map +1 -1
- package/dist/generated/global-operations.js +2 -3
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/wspace-operations.js +2 -3
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/microfe-auth.css +1 -1
- package/dist/shared/hooks/useTr.js +1 -2
- package/dist/shared/hooks/useTr.js.map +1 -1
- package/dist/translations/en.js +1 -2
- package/dist/translations/en.js.map +1 -1
- package/dist/utils/nativeBridge.js +1 -2
- package/package.json +7 -3
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { useEffect as
|
|
9
|
-
import { useNavigate as
|
|
10
|
-
import { Fragment as
|
|
11
|
-
import { Button as
|
|
12
|
-
import { NextSteps as
|
|
13
|
-
import { useGatewayClient as
|
|
1
|
+
import { useTr as e } from "../../shared/hooks/useTr.js";
|
|
2
|
+
import { useUserOperations as t } from "../hooks/useUserOperations.js";
|
|
3
|
+
import { validatePhoneNumber as n, validateUserFields as r } from "../utils/validation.js";
|
|
4
|
+
import { useAuthStore as i } from "../store/authStore.js";
|
|
5
|
+
import { AuthLayout as a } from "../components/AuthLayout.js";
|
|
6
|
+
import { AlertIcon as o, CheckIcon as s, EmailIcon as c, SpinnerIcon as l, UserIcon as ee } from "../components/AuthIcons.js";
|
|
7
|
+
import { useCompleteAvatarUploadMutation as te, useInitiateAvatarUploadMutation as u } from "../../generated/wspace-operations.js";
|
|
8
|
+
import { useEffect as d, useId as f, useRef as p, useState as m } from "react";
|
|
9
|
+
import { useNavigate as h } from "react-router";
|
|
10
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
11
|
+
import { Button as y } from "@burdenoff/fe-libs/button";
|
|
12
|
+
import { NextSteps as b, PagePurpose as x } from "@burdenoff/fe-libs/ui";
|
|
13
|
+
import { useGatewayClient as S } from "@burdenoff/fe-libs/shared/graphql";
|
|
14
14
|
import { useAuth as ne } from "@burdenoff/fe-libs/shared/providers/shell/AuthProvider";
|
|
15
|
-
|
|
15
|
+
// src/auth/pages/UserProfilePage.tsx
|
|
16
16
|
function C() {
|
|
17
|
-
let C =
|
|
17
|
+
let C = e(), w = h(), T = ne(), E = i((e) => e.isAuthenticated), D = i((e) => e.user), O = i((e) => e.setUser), { updateCurrentUserProfile: k, isLoading: A } = t(), j = f(), M = f(), N = f(), P = f(), F = f(), I = i((e) => e.currentWorkspaceId), L = S("workspace"), [R] = u({ client: L }), [z] = te({ client: L }), B = p(null), [V, H] = m(!1), U = async (e) => {
|
|
18
18
|
let t = e.target.files?.[0];
|
|
19
19
|
if (!t) return;
|
|
20
20
|
if (!t.type.startsWith("image/")) {
|
|
@@ -57,14 +57,14 @@ function C() {
|
|
|
57
57
|
} finally {
|
|
58
58
|
H(!1), B.current && (B.current.value = "");
|
|
59
59
|
}
|
|
60
|
-
}, [W, G] =
|
|
60
|
+
}, [W, G] = m(!1), [K, q] = m({
|
|
61
61
|
username: "",
|
|
62
62
|
firstName: "",
|
|
63
63
|
lastName: "",
|
|
64
64
|
name: "",
|
|
65
65
|
phoneNumber: ""
|
|
66
|
-
}), [J, Y] =
|
|
67
|
-
return
|
|
66
|
+
}), [J, Y] = m(null), [X, Z] = m(null), [Q, $] = m(null);
|
|
67
|
+
return d(() => {
|
|
68
68
|
D && q({
|
|
69
69
|
username: D.username || "",
|
|
70
70
|
firstName: D.firstName || "",
|
|
@@ -72,25 +72,25 @@ function C() {
|
|
|
72
72
|
name: D.name || "",
|
|
73
73
|
phoneNumber: D.phoneNumber || ""
|
|
74
74
|
});
|
|
75
|
-
}, [D]), !E || !D ? /* @__PURE__ */
|
|
75
|
+
}, [D]), !E || !D ? /* @__PURE__ */ _(a, {
|
|
76
76
|
title: C("auth.profile.title", "Profile"),
|
|
77
77
|
subtitle: C("auth.profile.subtitle", "View and manage your profile"),
|
|
78
|
-
children: /* @__PURE__ */
|
|
78
|
+
children: /* @__PURE__ */ v("div", {
|
|
79
79
|
className: "text-center py-12",
|
|
80
80
|
children: [
|
|
81
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ _("div", {
|
|
82
82
|
className: "size-16 mx-auto mb-4 rounded-full bg-[var(--color-status-warning-bg-subtle)] flex items-center justify-center",
|
|
83
|
-
children: /* @__PURE__ */
|
|
83
|
+
children: /* @__PURE__ */ _(o, { className: "size-8 text-[var(--color-status-warning-text)]" })
|
|
84
84
|
}),
|
|
85
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ _("h2", {
|
|
86
86
|
className: "text-xl font-semibold text-[var(--color-text-primary)] mb-2",
|
|
87
87
|
children: C("auth.profile.authRequired", "Authentication Required")
|
|
88
88
|
}),
|
|
89
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ _("p", {
|
|
90
90
|
className: "text-[var(--color-text-secondary)] mb-6",
|
|
91
91
|
children: C("auth.profile.signInToView", "Please sign in to view your profile")
|
|
92
92
|
}),
|
|
93
|
-
/* @__PURE__ */
|
|
93
|
+
/* @__PURE__ */ _(y, {
|
|
94
94
|
type: "button",
|
|
95
95
|
onClick: () => w("/auth/login"),
|
|
96
96
|
variant: "default",
|
|
@@ -100,35 +100,35 @@ function C() {
|
|
|
100
100
|
})
|
|
101
101
|
]
|
|
102
102
|
})
|
|
103
|
-
}) : /* @__PURE__ */
|
|
103
|
+
}) : /* @__PURE__ */ v("div", {
|
|
104
104
|
className: "max-w-4xl mx-auto p-6",
|
|
105
105
|
children: [
|
|
106
|
-
/* @__PURE__ */
|
|
106
|
+
/* @__PURE__ */ v("div", {
|
|
107
107
|
className: "mb-8",
|
|
108
108
|
children: [
|
|
109
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ _("h1", {
|
|
110
110
|
className: "text-3xl font-semibold text-[var(--color-text-primary)]",
|
|
111
111
|
children: C("auth.profile.myProfile", "My Profile")
|
|
112
112
|
}),
|
|
113
|
-
/* @__PURE__ */
|
|
113
|
+
/* @__PURE__ */ _("p", {
|
|
114
114
|
className: "text-[var(--color-text-secondary)] mt-2",
|
|
115
115
|
children: C("auth.profile.viewAndManage", "View and manage your account information")
|
|
116
116
|
}),
|
|
117
|
-
/* @__PURE__ */
|
|
117
|
+
/* @__PURE__ */ _(x, {
|
|
118
118
|
className: "mt-3",
|
|
119
119
|
children: C("auth.profile.purpose", "This is how you appear across the platform. Update your name, photo, and contact details here — teammates see this information, and we use your email for sign-in and important notices.")
|
|
120
120
|
})
|
|
121
121
|
]
|
|
122
122
|
}),
|
|
123
|
-
Q && /* @__PURE__ */
|
|
123
|
+
Q && /* @__PURE__ */ v("div", {
|
|
124
124
|
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)]",
|
|
125
125
|
children: [
|
|
126
|
-
/* @__PURE__ */
|
|
127
|
-
/* @__PURE__ */
|
|
126
|
+
/* @__PURE__ */ _(s, { className: "size-5 text-[var(--color-status-success-text)] flex-shrink-0" }),
|
|
127
|
+
/* @__PURE__ */ _("p", {
|
|
128
128
|
className: "text-[var(--color-status-success-text)]",
|
|
129
129
|
children: Q
|
|
130
130
|
}),
|
|
131
|
-
/* @__PURE__ */
|
|
131
|
+
/* @__PURE__ */ _("button", {
|
|
132
132
|
type: "button",
|
|
133
133
|
onClick: () => $(null),
|
|
134
134
|
className: "ml-auto text-sm text-[var(--color-status-success-text)] hover:underline transition-colors duration-200",
|
|
@@ -136,18 +136,18 @@ function C() {
|
|
|
136
136
|
})
|
|
137
137
|
]
|
|
138
138
|
}),
|
|
139
|
-
J && /* @__PURE__ */
|
|
139
|
+
J && /* @__PURE__ */ v("div", {
|
|
140
140
|
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)]",
|
|
141
141
|
children: [
|
|
142
|
-
/* @__PURE__ */
|
|
143
|
-
/* @__PURE__ */
|
|
142
|
+
/* @__PURE__ */ _(o, { className: "size-5 text-[var(--color-status-error-text)] flex-shrink-0 mt-0.5" }),
|
|
143
|
+
/* @__PURE__ */ _("div", {
|
|
144
144
|
className: "flex-1",
|
|
145
|
-
children: /* @__PURE__ */
|
|
145
|
+
children: /* @__PURE__ */ _("p", {
|
|
146
146
|
className: "text-sm text-[var(--color-status-error-text)]",
|
|
147
147
|
children: J
|
|
148
148
|
})
|
|
149
149
|
}),
|
|
150
|
-
/* @__PURE__ */
|
|
150
|
+
/* @__PURE__ */ _("button", {
|
|
151
151
|
type: "button",
|
|
152
152
|
onClick: () => Y(null),
|
|
153
153
|
className: "text-sm text-[var(--color-status-error-text)] hover:underline transition-colors duration-200",
|
|
@@ -155,40 +155,40 @@ function C() {
|
|
|
155
155
|
})
|
|
156
156
|
]
|
|
157
157
|
}),
|
|
158
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ v("div", {
|
|
159
159
|
className: "rounded-xl border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] shadow-sm overflow-hidden",
|
|
160
|
-
children: [/* @__PURE__ */
|
|
160
|
+
children: [/* @__PURE__ */ _("div", {
|
|
161
161
|
className: "bg-accent-wash border-b border-border-seam p-6 text-text-primary",
|
|
162
|
-
children: /* @__PURE__ */
|
|
162
|
+
children: /* @__PURE__ */ v("div", {
|
|
163
163
|
className: "flex items-center gap-4",
|
|
164
|
-
children: [/* @__PURE__ */
|
|
164
|
+
children: [/* @__PURE__ */ v("div", {
|
|
165
165
|
className: "relative group",
|
|
166
166
|
children: [
|
|
167
|
-
D.avatar ? /* @__PURE__ */
|
|
167
|
+
D.avatar ? /* @__PURE__ */ _("img", {
|
|
168
168
|
src: D.avatar,
|
|
169
169
|
alt: C("auth.profile.avatarAlt", "Profile picture"),
|
|
170
170
|
className: "size-20 rounded-full object-cover shadow-lg"
|
|
171
|
-
}) : /* @__PURE__ */
|
|
171
|
+
}) : /* @__PURE__ */ _("div", {
|
|
172
172
|
className: "size-20 rounded-full bg-accent-soft backdrop-blur-sm flex items-center justify-center text-[var(--color-action-primary-bg)] text-3xl font-semibold shadow-lg",
|
|
173
173
|
children: (D.name || D.username || D.email).charAt(0).toUpperCase()
|
|
174
174
|
}),
|
|
175
|
-
/* @__PURE__ */
|
|
175
|
+
/* @__PURE__ */ _("button", {
|
|
176
176
|
type: "button",
|
|
177
177
|
onClick: () => B.current?.click(),
|
|
178
178
|
disabled: V,
|
|
179
179
|
"aria-label": C("auth.profile.changeAvatar", "Change profile picture"),
|
|
180
180
|
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",
|
|
181
|
-
children: V ? /* @__PURE__ */
|
|
181
|
+
children: V ? /* @__PURE__ */ _(l, { className: "size-6 text-white animate-spin" }) : /* @__PURE__ */ v("svg", {
|
|
182
182
|
className: "size-6 text-white",
|
|
183
183
|
fill: "none",
|
|
184
184
|
viewBox: "0 0 24 24",
|
|
185
185
|
stroke: "currentColor",
|
|
186
|
-
children: [/* @__PURE__ */
|
|
186
|
+
children: [/* @__PURE__ */ _("path", {
|
|
187
187
|
strokeLinecap: "round",
|
|
188
188
|
strokeLinejoin: "round",
|
|
189
189
|
strokeWidth: 2,
|
|
190
190
|
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"
|
|
191
|
-
}), /* @__PURE__ */
|
|
191
|
+
}), /* @__PURE__ */ _("path", {
|
|
192
192
|
strokeLinecap: "round",
|
|
193
193
|
strokeLinejoin: "round",
|
|
194
194
|
strokeWidth: 2,
|
|
@@ -196,7 +196,7 @@ function C() {
|
|
|
196
196
|
})]
|
|
197
197
|
})
|
|
198
198
|
}),
|
|
199
|
-
/* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ _("input", {
|
|
200
200
|
ref: B,
|
|
201
201
|
type: "file",
|
|
202
202
|
accept: "image/*",
|
|
@@ -206,45 +206,45 @@ function C() {
|
|
|
206
206
|
"aria-label": C("auth.profile.avatarUpload", "Upload avatar image")
|
|
207
207
|
})
|
|
208
208
|
]
|
|
209
|
-
}), /* @__PURE__ */
|
|
209
|
+
}), /* @__PURE__ */ v("div", {
|
|
210
210
|
className: "text-text-primary",
|
|
211
211
|
children: [
|
|
212
|
-
/* @__PURE__ */
|
|
212
|
+
/* @__PURE__ */ _("h2", {
|
|
213
213
|
className: "text-2xl font-semibold",
|
|
214
214
|
children: D.name || `${D.firstName || ""} ${D.lastName || ""}`.trim() || D.username
|
|
215
215
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
216
|
+
/* @__PURE__ */ v("p", {
|
|
217
217
|
className: "text-text-secondary flex items-center gap-2",
|
|
218
|
-
children: [/* @__PURE__ */
|
|
218
|
+
children: [/* @__PURE__ */ _(c, { className: "size-4" }), D.email]
|
|
219
219
|
}),
|
|
220
|
-
/* @__PURE__ */
|
|
220
|
+
/* @__PURE__ */ v("div", {
|
|
221
221
|
className: "flex items-center gap-2 mt-2",
|
|
222
|
-
children: [/* @__PURE__ */
|
|
222
|
+
children: [/* @__PURE__ */ _("span", {
|
|
223
223
|
className: "px-2.5 py-1 rounded-full text-xs font-medium bg-bg-surface/60 text-text-secondary backdrop-blur-sm",
|
|
224
224
|
children: D.role?.replace("_", " ") || C("auth.profile.member", "Member")
|
|
225
|
-
}), D.emailVerified && /* @__PURE__ */
|
|
225
|
+
}), D.emailVerified && /* @__PURE__ */ v("span", {
|
|
226
226
|
className: "px-2.5 py-1 rounded-full text-xs font-medium bg-status-success-bg-subtle text-status-success-text flex items-center gap-1",
|
|
227
|
-
children: [/* @__PURE__ */
|
|
227
|
+
children: [/* @__PURE__ */ _(s, { className: "size-3" }), C("auth.profile.verified", "Verified")]
|
|
228
228
|
})]
|
|
229
229
|
})
|
|
230
230
|
]
|
|
231
231
|
})]
|
|
232
232
|
})
|
|
233
|
-
}), /* @__PURE__ */
|
|
233
|
+
}), /* @__PURE__ */ _("div", {
|
|
234
234
|
className: "p-6",
|
|
235
|
-
children: W ? /* @__PURE__ */
|
|
235
|
+
children: W ? /* @__PURE__ */ v("form", {
|
|
236
236
|
onSubmit: async (e) => {
|
|
237
|
-
if (e.preventDefault(), Y(null), Z(null), $(null), !
|
|
237
|
+
if (e.preventDefault(), Y(null), Z(null), $(null), !n(K.phoneNumber).valid) {
|
|
238
238
|
let e = C("auth.profile.phoneNumber_invalid", "Invalid phone number");
|
|
239
239
|
Z(e), Y(e);
|
|
240
240
|
return;
|
|
241
241
|
}
|
|
242
|
-
let t =
|
|
243
|
-
if (!t.valid) {
|
|
244
|
-
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
try {
|
|
242
|
+
let t = r(K, { requireAll: !1 });
|
|
243
|
+
if (!t.valid) Y(t.errors.map((e) => {
|
|
244
|
+
let t = `auth.profile.${e.field}_${e.code}`;
|
|
245
|
+
return C(t, e.message);
|
|
246
|
+
}).join(" · "));
|
|
247
|
+
else try {
|
|
248
248
|
await k({
|
|
249
249
|
username: t.values.username || void 0,
|
|
250
250
|
firstName: t.values.firstName || void 0,
|
|
@@ -257,22 +257,22 @@ function C() {
|
|
|
257
257
|
}
|
|
258
258
|
},
|
|
259
259
|
className: "space-y-6",
|
|
260
|
-
children: [/* @__PURE__ */
|
|
260
|
+
children: [/* @__PURE__ */ v("div", {
|
|
261
261
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
262
262
|
children: [
|
|
263
|
-
/* @__PURE__ */
|
|
263
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
264
264
|
htmlFor: j,
|
|
265
265
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
266
266
|
children: C("auth.profile.username", "Username")
|
|
267
|
-
}), /* @__PURE__ */
|
|
267
|
+
}), /* @__PURE__ */ v("div", {
|
|
268
268
|
className: "relative",
|
|
269
|
-
children: [/* @__PURE__ */
|
|
269
|
+
children: [/* @__PURE__ */ _("div", {
|
|
270
270
|
className: "absolute inset-y-0 left-0 pl-3.5 flex items-center pointer-events-none",
|
|
271
|
-
children: /* @__PURE__ */
|
|
271
|
+
children: /* @__PURE__ */ _(ee, {
|
|
272
272
|
className: "size-5 text-[var(--color-text-tertiary)]",
|
|
273
273
|
"aria-hidden": "true"
|
|
274
274
|
})
|
|
275
|
-
}), /* @__PURE__ */
|
|
275
|
+
}), /* @__PURE__ */ _("input", {
|
|
276
276
|
id: j,
|
|
277
277
|
type: "text",
|
|
278
278
|
"aria-label": C("auth.profile.username", "Username"),
|
|
@@ -285,11 +285,11 @@ function C() {
|
|
|
285
285
|
placeholder: C("auth.profile.usernamePlaceholder", "Enter username")
|
|
286
286
|
})]
|
|
287
287
|
})] }),
|
|
288
|
-
/* @__PURE__ */
|
|
288
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
289
289
|
htmlFor: M,
|
|
290
290
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
291
291
|
children: C("auth.profile.displayName", "Display Name")
|
|
292
|
-
}), /* @__PURE__ */
|
|
292
|
+
}), /* @__PURE__ */ _("input", {
|
|
293
293
|
id: M,
|
|
294
294
|
type: "text",
|
|
295
295
|
"aria-label": C("auth.profile.displayName", "Display Name"),
|
|
@@ -301,11 +301,11 @@ function C() {
|
|
|
301
301
|
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",
|
|
302
302
|
placeholder: C("auth.profile.displayNamePlaceholder", "Enter display name")
|
|
303
303
|
})] }),
|
|
304
|
-
/* @__PURE__ */
|
|
304
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
305
305
|
htmlFor: N,
|
|
306
306
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
307
307
|
children: C("auth.profile.firstName", "First Name")
|
|
308
|
-
}), /* @__PURE__ */
|
|
308
|
+
}), /* @__PURE__ */ _("input", {
|
|
309
309
|
id: N,
|
|
310
310
|
type: "text",
|
|
311
311
|
"aria-label": C("auth.profile.firstName", "First Name"),
|
|
@@ -317,11 +317,11 @@ function C() {
|
|
|
317
317
|
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",
|
|
318
318
|
placeholder: C("auth.profile.firstNamePlaceholder", "Enter first name")
|
|
319
319
|
})] }),
|
|
320
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("label", {
|
|
321
321
|
htmlFor: P,
|
|
322
322
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
323
323
|
children: C("auth.profile.lastName", "Last Name")
|
|
324
|
-
}), /* @__PURE__ */
|
|
324
|
+
}), /* @__PURE__ */ _("input", {
|
|
325
325
|
id: P,
|
|
326
326
|
type: "text",
|
|
327
327
|
"aria-label": C("auth.profile.lastName", "Last Name"),
|
|
@@ -333,15 +333,15 @@ function C() {
|
|
|
333
333
|
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",
|
|
334
334
|
placeholder: C("auth.profile.lastNamePlaceholder", "Enter last name")
|
|
335
335
|
})] }),
|
|
336
|
-
/* @__PURE__ */
|
|
336
|
+
/* @__PURE__ */ v("div", {
|
|
337
337
|
className: "md:col-span-2",
|
|
338
338
|
children: [
|
|
339
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ _("label", {
|
|
340
340
|
htmlFor: F,
|
|
341
341
|
className: "block text-sm font-medium text-[var(--color-text-primary)] mb-2",
|
|
342
342
|
children: C("auth.profile.phoneNumber", "Phone Number")
|
|
343
343
|
}),
|
|
344
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ _("input", {
|
|
345
345
|
id: F,
|
|
346
346
|
type: "tel",
|
|
347
347
|
"aria-label": C("auth.profile.phoneNumber", "Phone Number"),
|
|
@@ -357,7 +357,7 @@ function C() {
|
|
|
357
357
|
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",
|
|
358
358
|
placeholder: C("auth.profile.phonePlaceholder", "Enter phone number")
|
|
359
359
|
}),
|
|
360
|
-
X && /* @__PURE__ */
|
|
360
|
+
X && /* @__PURE__ */ _("p", {
|
|
361
361
|
id: `${F}-error`,
|
|
362
362
|
role: "alert",
|
|
363
363
|
className: "mt-2 text-sm text-[var(--color-status-error-text)]",
|
|
@@ -366,16 +366,16 @@ function C() {
|
|
|
366
366
|
]
|
|
367
367
|
})
|
|
368
368
|
]
|
|
369
|
-
}), /* @__PURE__ */
|
|
369
|
+
}), /* @__PURE__ */ v("div", {
|
|
370
370
|
className: "flex gap-3 pt-6 mt-6 border-t border-[var(--color-border-default)]",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
371
|
+
children: [/* @__PURE__ */ _(y, {
|
|
372
372
|
type: "submit",
|
|
373
373
|
disabled: A,
|
|
374
374
|
variant: "default",
|
|
375
375
|
size: "lg",
|
|
376
376
|
className: "font-semibold",
|
|
377
|
-
children: A ? /* @__PURE__ */
|
|
378
|
-
}), /* @__PURE__ */
|
|
377
|
+
children: A ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(l, { className: "size-4 animate-spin" }), C("auth.profile.saving", "Saving...")] }) : C("auth.profile.saveChanges", "Save Changes")
|
|
378
|
+
}), /* @__PURE__ */ _("button", {
|
|
379
379
|
type: "button",
|
|
380
380
|
onClick: () => {
|
|
381
381
|
D && q({
|
|
@@ -390,129 +390,129 @@ function C() {
|
|
|
390
390
|
children: C("auth.profile.cancel", "Cancel")
|
|
391
391
|
})]
|
|
392
392
|
})]
|
|
393
|
-
}) : /* @__PURE__ */
|
|
393
|
+
}) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ v("div", {
|
|
394
394
|
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
|
395
395
|
children: [
|
|
396
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ v("div", {
|
|
397
397
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
398
|
-
children: [/* @__PURE__ */
|
|
398
|
+
children: [/* @__PURE__ */ _("label", {
|
|
399
399
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
400
400
|
children: C("auth.profile.username", "Username")
|
|
401
|
-
}), /* @__PURE__ */
|
|
401
|
+
}), /* @__PURE__ */ _("p", {
|
|
402
402
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
403
403
|
children: D.username || "-"
|
|
404
404
|
})]
|
|
405
405
|
}),
|
|
406
|
-
/* @__PURE__ */
|
|
406
|
+
/* @__PURE__ */ v("div", {
|
|
407
407
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
408
|
-
children: [/* @__PURE__ */
|
|
408
|
+
children: [/* @__PURE__ */ _("label", {
|
|
409
409
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
410
410
|
children: C("auth.profile.displayName", "Display Name")
|
|
411
|
-
}), /* @__PURE__ */
|
|
411
|
+
}), /* @__PURE__ */ _("p", {
|
|
412
412
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
413
413
|
children: D.name || "-"
|
|
414
414
|
})]
|
|
415
415
|
}),
|
|
416
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ v("div", {
|
|
417
417
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
418
|
-
children: [/* @__PURE__ */
|
|
418
|
+
children: [/* @__PURE__ */ _("label", {
|
|
419
419
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
420
420
|
children: C("auth.profile.firstName", "First Name")
|
|
421
|
-
}), /* @__PURE__ */
|
|
421
|
+
}), /* @__PURE__ */ _("p", {
|
|
422
422
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
423
423
|
children: D.firstName || "-"
|
|
424
424
|
})]
|
|
425
425
|
}),
|
|
426
|
-
/* @__PURE__ */
|
|
426
|
+
/* @__PURE__ */ v("div", {
|
|
427
427
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
428
|
-
children: [/* @__PURE__ */
|
|
428
|
+
children: [/* @__PURE__ */ _("label", {
|
|
429
429
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
430
430
|
children: C("auth.profile.lastName", "Last Name")
|
|
431
|
-
}), /* @__PURE__ */
|
|
431
|
+
}), /* @__PURE__ */ _("p", {
|
|
432
432
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
433
433
|
children: D.lastName || "-"
|
|
434
434
|
})]
|
|
435
435
|
}),
|
|
436
|
-
/* @__PURE__ */
|
|
436
|
+
/* @__PURE__ */ v("div", {
|
|
437
437
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
438
|
+
children: [/* @__PURE__ */ _("label", {
|
|
439
439
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
440
440
|
children: C("auth.profile.email", "Email")
|
|
441
|
-
}), /* @__PURE__ */
|
|
441
|
+
}), /* @__PURE__ */ v("p", {
|
|
442
442
|
className: "text-[var(--color-text-primary)] font-medium flex items-center gap-2",
|
|
443
|
-
children: [D.email, D.emailVerified && /* @__PURE__ */
|
|
443
|
+
children: [D.email, D.emailVerified && /* @__PURE__ */ v("span", {
|
|
444
444
|
className: "inline-flex items-center gap-1 text-[var(--color-status-success-text)] text-xs",
|
|
445
|
-
children: [/* @__PURE__ */
|
|
445
|
+
children: [/* @__PURE__ */ _(s, { className: "size-3" }), C("auth.profile.verified", "Verified")]
|
|
446
446
|
})]
|
|
447
447
|
})]
|
|
448
448
|
}),
|
|
449
|
-
/* @__PURE__ */
|
|
449
|
+
/* @__PURE__ */ v("div", {
|
|
450
450
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
451
|
-
children: [/* @__PURE__ */
|
|
451
|
+
children: [/* @__PURE__ */ _("label", {
|
|
452
452
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
453
453
|
children: C("auth.profile.phoneNumber", "Phone Number")
|
|
454
|
-
}), /* @__PURE__ */
|
|
454
|
+
}), /* @__PURE__ */ _("p", {
|
|
455
455
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
456
456
|
children: D.phoneNumber || "-"
|
|
457
457
|
})]
|
|
458
458
|
}),
|
|
459
|
-
/* @__PURE__ */
|
|
459
|
+
/* @__PURE__ */ v("div", {
|
|
460
460
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
461
|
-
children: [/* @__PURE__ */
|
|
461
|
+
children: [/* @__PURE__ */ _("label", {
|
|
462
462
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
463
463
|
children: C("auth.profile.role", "Role")
|
|
464
|
-
}), /* @__PURE__ */
|
|
464
|
+
}), /* @__PURE__ */ _("p", {
|
|
465
465
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
466
466
|
children: D.role?.replace("_", " ") || C("auth.profile.member", "Member")
|
|
467
467
|
})]
|
|
468
468
|
}),
|
|
469
|
-
/* @__PURE__ */
|
|
469
|
+
/* @__PURE__ */ v("div", {
|
|
470
470
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
471
|
-
children: [/* @__PURE__ */
|
|
471
|
+
children: [/* @__PURE__ */ _("label", {
|
|
472
472
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
473
473
|
children: C("auth.profile.mfaStatus", "MFA Status")
|
|
474
|
-
}), /* @__PURE__ */
|
|
474
|
+
}), /* @__PURE__ */ _("p", {
|
|
475
475
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
476
|
-
children: D.mfaEnabled ? /* @__PURE__ */
|
|
476
|
+
children: D.mfaEnabled ? /* @__PURE__ */ v("span", {
|
|
477
477
|
className: "text-[var(--color-status-success-text)] flex items-center gap-1",
|
|
478
|
-
children: [/* @__PURE__ */
|
|
479
|
-
}) : /* @__PURE__ */
|
|
478
|
+
children: [/* @__PURE__ */ _(s, { className: "size-4" }), C("auth.profile.enabled", "Enabled")]
|
|
479
|
+
}) : /* @__PURE__ */ _("span", {
|
|
480
480
|
className: "text-[var(--color-status-warning-text)]",
|
|
481
481
|
children: C("auth.profile.notEnabled", "Not Enabled")
|
|
482
482
|
})
|
|
483
483
|
})]
|
|
484
484
|
}),
|
|
485
|
-
/* @__PURE__ */
|
|
485
|
+
/* @__PURE__ */ v("div", {
|
|
486
486
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
487
|
-
children: [/* @__PURE__ */
|
|
487
|
+
children: [/* @__PURE__ */ _("label", {
|
|
488
488
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
489
489
|
children: C("auth.profile.lastLogin", "Last Login")
|
|
490
|
-
}), /* @__PURE__ */
|
|
490
|
+
}), /* @__PURE__ */ _("p", {
|
|
491
491
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
492
492
|
children: D.lastLoginAt ? new Date(D.lastLoginAt).toLocaleString() : C("auth.profile.never", "Never")
|
|
493
493
|
})]
|
|
494
494
|
}),
|
|
495
|
-
/* @__PURE__ */
|
|
495
|
+
/* @__PURE__ */ v("div", {
|
|
496
496
|
className: "p-4 rounded-xl bg-[var(--color-bg-muted)]",
|
|
497
|
-
children: [/* @__PURE__ */
|
|
497
|
+
children: [/* @__PURE__ */ _("label", {
|
|
498
498
|
className: "block text-sm font-medium text-[var(--color-text-tertiary)] mb-1",
|
|
499
499
|
children: C("auth.profile.accountCreated", "Account Created")
|
|
500
|
-
}), /* @__PURE__ */
|
|
500
|
+
}), /* @__PURE__ */ _("p", {
|
|
501
501
|
className: "text-[var(--color-text-primary)] font-medium",
|
|
502
502
|
children: D.createdAt ? new Date(D.createdAt).toLocaleString() : "-"
|
|
503
503
|
})]
|
|
504
504
|
})
|
|
505
505
|
]
|
|
506
|
-
}), /* @__PURE__ */
|
|
506
|
+
}), /* @__PURE__ */ v("div", {
|
|
507
507
|
className: "flex gap-3 pt-6 mt-6 border-t border-[var(--color-border-default)]",
|
|
508
|
-
children: [/* @__PURE__ */
|
|
508
|
+
children: [/* @__PURE__ */ _(y, {
|
|
509
509
|
type: "button",
|
|
510
510
|
onClick: () => G(!0),
|
|
511
511
|
variant: "default",
|
|
512
512
|
size: "lg",
|
|
513
513
|
className: "font-semibold",
|
|
514
514
|
children: C("auth.profile.editProfile", "Edit Profile")
|
|
515
|
-
}), /* @__PURE__ */
|
|
515
|
+
}), /* @__PURE__ */ _("button", {
|
|
516
516
|
type: "button",
|
|
517
517
|
onClick: () => w("/auth/security"),
|
|
518
518
|
className: "inline-flex items-center h-10 px-8 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",
|
|
@@ -521,7 +521,7 @@ function C() {
|
|
|
521
521
|
})] })
|
|
522
522
|
})]
|
|
523
523
|
}),
|
|
524
|
-
/* @__PURE__ */
|
|
524
|
+
/* @__PURE__ */ _(b, {
|
|
525
525
|
className: "mt-8",
|
|
526
526
|
storageKey: "auth-profile",
|
|
527
527
|
steps: [
|
|
@@ -547,21 +547,21 @@ function C() {
|
|
|
547
547
|
}
|
|
548
548
|
]
|
|
549
549
|
}),
|
|
550
|
-
/* @__PURE__ */
|
|
550
|
+
/* @__PURE__ */ v("div", {
|
|
551
551
|
className: "mt-8 grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
552
|
-
children: [/* @__PURE__ */
|
|
552
|
+
children: [/* @__PURE__ */ v("button", {
|
|
553
553
|
type: "button",
|
|
554
554
|
onClick: () => w("/auth/mfa"),
|
|
555
555
|
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",
|
|
556
556
|
children: [
|
|
557
|
-
/* @__PURE__ */
|
|
557
|
+
/* @__PURE__ */ _("div", {
|
|
558
558
|
className: "size-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",
|
|
559
|
-
children: /* @__PURE__ */
|
|
559
|
+
children: /* @__PURE__ */ _("svg", {
|
|
560
560
|
className: "size-5 text-[var(--color-text-link)]",
|
|
561
561
|
fill: "none",
|
|
562
562
|
viewBox: "0 0 24 24",
|
|
563
563
|
stroke: "currentColor",
|
|
564
|
-
children: /* @__PURE__ */
|
|
564
|
+
children: /* @__PURE__ */ _("path", {
|
|
565
565
|
strokeLinecap: "round",
|
|
566
566
|
strokeLinejoin: "round",
|
|
567
567
|
strokeWidth: 2,
|
|
@@ -569,28 +569,28 @@ function C() {
|
|
|
569
569
|
})
|
|
570
570
|
})
|
|
571
571
|
}),
|
|
572
|
-
/* @__PURE__ */
|
|
572
|
+
/* @__PURE__ */ _("h3", {
|
|
573
573
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
574
574
|
children: C("auth.profile.twoFactorAuth", "Two-Factor Auth")
|
|
575
575
|
}),
|
|
576
|
-
/* @__PURE__ */
|
|
576
|
+
/* @__PURE__ */ _("p", {
|
|
577
577
|
className: "text-sm text-[var(--color-text-tertiary)] mt-1",
|
|
578
578
|
children: D.mfaEnabled ? C("auth.profile.manageMfa", "Manage MFA settings") : C("auth.profile.enableMfa", "Enable MFA for extra security")
|
|
579
579
|
})
|
|
580
580
|
]
|
|
581
|
-
}), /* @__PURE__ */
|
|
581
|
+
}), /* @__PURE__ */ v("button", {
|
|
582
582
|
type: "button",
|
|
583
583
|
onClick: () => w("/devportal/api-keys"),
|
|
584
584
|
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",
|
|
585
585
|
children: [
|
|
586
|
-
/* @__PURE__ */
|
|
586
|
+
/* @__PURE__ */ _("div", {
|
|
587
587
|
className: "size-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",
|
|
588
|
-
children: /* @__PURE__ */
|
|
588
|
+
children: /* @__PURE__ */ _("svg", {
|
|
589
589
|
className: "size-5 text-[var(--color-action-secondary-text)]",
|
|
590
590
|
fill: "none",
|
|
591
591
|
viewBox: "0 0 24 24",
|
|
592
592
|
stroke: "currentColor",
|
|
593
|
-
children: /* @__PURE__ */
|
|
593
|
+
children: /* @__PURE__ */ _("path", {
|
|
594
594
|
strokeLinecap: "round",
|
|
595
595
|
strokeLinejoin: "round",
|
|
596
596
|
strokeWidth: 2,
|
|
@@ -598,11 +598,11 @@ function C() {
|
|
|
598
598
|
})
|
|
599
599
|
})
|
|
600
600
|
}),
|
|
601
|
-
/* @__PURE__ */
|
|
601
|
+
/* @__PURE__ */ _("h3", {
|
|
602
602
|
className: "font-medium text-[var(--color-text-primary)]",
|
|
603
603
|
children: C("auth.profile.apiKeys", "API Keys")
|
|
604
604
|
}),
|
|
605
|
-
/* @__PURE__ */
|
|
605
|
+
/* @__PURE__ */ _("p", {
|
|
606
606
|
className: "text-sm text-[var(--color-text-tertiary)] mt-1",
|
|
607
607
|
children: C("auth.profile.manageApiKeys", "Manage your API access credentials")
|
|
608
608
|
})
|
|
@@ -612,7 +612,6 @@ function C() {
|
|
|
612
612
|
]
|
|
613
613
|
});
|
|
614
614
|
}
|
|
615
|
-
//#endregion
|
|
616
615
|
export { C as UserProfilePage };
|
|
617
616
|
|
|
618
617
|
//# sourceMappingURL=UserProfilePage.js.map
|