@burdenoff/microfe-auth 2026.531.4 → 2026.601.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 -26
- package/dist/auth/AuthRoutes.js.map +1 -1
- package/dist/auth/pages/SSODepositPage.js +1 -1
- package/dist/auth/pages/SSODepositPage.js.map +1 -1
- package/dist/auth/pages/SSORelayPage.js +1 -1
- package/dist/auth/pages/SSORelayPage.js.map +1 -1
- package/dist/auth/pages/SecurityPage.js +167 -167
- package/dist/auth/pages/SecurityPage.js.map +1 -1
- package/dist/auth/pages/SessionBridgePage.js +1 -1
- package/dist/auth/pages/SessionBridgePage.js.map +1 -1
- package/dist/auth/pages/UserProfilePage.js +1 -1
- package/dist/auth/pages/UserProfilePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,134 +1,134 @@
|
|
|
1
1
|
import { useAuthStore as e } from "../store/authStore.js";
|
|
2
2
|
import { useAuthOperations as t } from "../hooks/useAuthOperations.js";
|
|
3
3
|
import { useAccountOperations as n } from "../hooks/useAccountOperations.js";
|
|
4
|
-
import { formatDate as
|
|
5
|
-
import { ConfirmActionDialog as
|
|
6
|
-
import { nativeImpact as
|
|
7
|
-
import { useEffect as
|
|
8
|
-
import { useNavigate as
|
|
9
|
-
import { useI18n as
|
|
10
|
-
import { jsx as
|
|
4
|
+
import { formatDate as r } from "../utils/formatters.js";
|
|
5
|
+
import { ConfirmActionDialog as ee } from "../components/ConfirmActionDialog.js";
|
|
6
|
+
import { nativeImpact as i, nativeNotify as a } from "../../utils/nativeBridge.js";
|
|
7
|
+
import { useEffect as o, useId as s, useRef as c, useState as l } from "react";
|
|
8
|
+
import { useNavigate as te } from "react-router-dom";
|
|
9
|
+
import { useI18n as ne } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
10
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
11
11
|
//#region src/auth/pages/SecurityPage.tsx
|
|
12
|
-
var
|
|
12
|
+
var f = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
13
13
|
className: e,
|
|
14
14
|
fill: "none",
|
|
15
15
|
viewBox: "0 0 24 24",
|
|
16
16
|
stroke: "currentColor",
|
|
17
17
|
"aria-hidden": "true",
|
|
18
|
-
children: /* @__PURE__ */
|
|
18
|
+
children: /* @__PURE__ */ u("path", {
|
|
19
19
|
strokeLinecap: "round",
|
|
20
20
|
strokeLinejoin: "round",
|
|
21
21
|
strokeWidth: 1.5,
|
|
22
22
|
d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"
|
|
23
23
|
})
|
|
24
|
-
}),
|
|
24
|
+
}), re = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
25
25
|
className: e,
|
|
26
26
|
fill: "none",
|
|
27
27
|
viewBox: "0 0 24 24",
|
|
28
28
|
stroke: "currentColor",
|
|
29
29
|
"aria-hidden": "true",
|
|
30
|
-
children: /* @__PURE__ */
|
|
30
|
+
children: /* @__PURE__ */ u("path", {
|
|
31
31
|
strokeLinecap: "round",
|
|
32
32
|
strokeLinejoin: "round",
|
|
33
33
|
strokeWidth: 1.5,
|
|
34
34
|
d: "M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"
|
|
35
35
|
})
|
|
36
|
-
}),
|
|
36
|
+
}), ie = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
37
37
|
className: e,
|
|
38
38
|
fill: "none",
|
|
39
39
|
viewBox: "0 0 24 24",
|
|
40
40
|
stroke: "currentColor",
|
|
41
41
|
"aria-hidden": "true",
|
|
42
|
-
children: /* @__PURE__ */
|
|
42
|
+
children: /* @__PURE__ */ u("path", {
|
|
43
43
|
strokeLinecap: "round",
|
|
44
44
|
strokeLinejoin: "round",
|
|
45
45
|
strokeWidth: 1.5,
|
|
46
46
|
d: "M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"
|
|
47
47
|
})
|
|
48
|
-
}),
|
|
48
|
+
}), ae = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
49
49
|
className: e,
|
|
50
50
|
fill: "none",
|
|
51
51
|
viewBox: "0 0 24 24",
|
|
52
52
|
stroke: "currentColor",
|
|
53
53
|
"aria-hidden": "true",
|
|
54
|
-
children: /* @__PURE__ */
|
|
54
|
+
children: /* @__PURE__ */ u("path", {
|
|
55
55
|
strokeLinecap: "round",
|
|
56
56
|
strokeLinejoin: "round",
|
|
57
57
|
strokeWidth: 1.5,
|
|
58
58
|
d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
|
|
59
59
|
})
|
|
60
|
-
}),
|
|
60
|
+
}), oe = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
61
61
|
className: e,
|
|
62
62
|
fill: "none",
|
|
63
63
|
viewBox: "0 0 24 24",
|
|
64
64
|
stroke: "currentColor",
|
|
65
65
|
"aria-hidden": "true",
|
|
66
|
-
children: /* @__PURE__ */
|
|
66
|
+
children: /* @__PURE__ */ u("path", {
|
|
67
67
|
strokeLinecap: "round",
|
|
68
68
|
strokeLinejoin: "round",
|
|
69
69
|
strokeWidth: 1.5,
|
|
70
70
|
d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
|
|
71
71
|
})
|
|
72
|
-
}),
|
|
72
|
+
}), p = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
73
73
|
className: e,
|
|
74
74
|
fill: "none",
|
|
75
75
|
viewBox: "0 0 24 24",
|
|
76
76
|
stroke: "currentColor",
|
|
77
77
|
"aria-hidden": "true",
|
|
78
|
-
children: /* @__PURE__ */
|
|
78
|
+
children: /* @__PURE__ */ u("path", {
|
|
79
79
|
strokeLinecap: "round",
|
|
80
80
|
strokeLinejoin: "round",
|
|
81
81
|
strokeWidth: 2,
|
|
82
82
|
d: "M9 5l7 7-7 7"
|
|
83
83
|
})
|
|
84
|
-
}),
|
|
84
|
+
}), m = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
85
85
|
className: e,
|
|
86
86
|
fill: "currentColor",
|
|
87
87
|
viewBox: "0 0 20 20",
|
|
88
88
|
"aria-hidden": "true",
|
|
89
|
-
children: /* @__PURE__ */
|
|
89
|
+
children: /* @__PURE__ */ u("path", {
|
|
90
90
|
fillRule: "evenodd",
|
|
91
91
|
d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
|
|
92
92
|
clipRule: "evenodd"
|
|
93
93
|
})
|
|
94
|
-
}),
|
|
94
|
+
}), h = ({ className: e }) => /* @__PURE__ */ u("svg", {
|
|
95
95
|
className: e,
|
|
96
96
|
fill: "currentColor",
|
|
97
97
|
viewBox: "0 0 20 20",
|
|
98
98
|
"aria-hidden": "true",
|
|
99
|
-
children: /* @__PURE__ */
|
|
99
|
+
children: /* @__PURE__ */ u("path", {
|
|
100
100
|
fillRule: "evenodd",
|
|
101
101
|
d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
|
|
102
102
|
clipRule: "evenodd"
|
|
103
103
|
})
|
|
104
|
-
}),
|
|
104
|
+
}), g = ({ className: e }) => /* @__PURE__ */ d("svg", {
|
|
105
105
|
className: e,
|
|
106
106
|
fill: "none",
|
|
107
107
|
viewBox: "0 0 24 24",
|
|
108
108
|
"aria-hidden": "true",
|
|
109
|
-
children: [/* @__PURE__ */
|
|
109
|
+
children: [/* @__PURE__ */ u("circle", {
|
|
110
110
|
className: "opacity-25",
|
|
111
111
|
cx: "12",
|
|
112
112
|
cy: "12",
|
|
113
113
|
r: "10",
|
|
114
114
|
stroke: "currentColor",
|
|
115
115
|
strokeWidth: "4"
|
|
116
|
-
}), /* @__PURE__ */
|
|
116
|
+
}), /* @__PURE__ */ u("path", {
|
|
117
117
|
className: "opacity-75",
|
|
118
118
|
fill: "currentColor",
|
|
119
119
|
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
120
120
|
})]
|
|
121
|
-
}),
|
|
122
|
-
function
|
|
123
|
-
let { t: y } =
|
|
121
|
+
}), _ = "DELETE MY ACCOUNT";
|
|
122
|
+
function v({ enableAdminRoutes: v = !1 }) {
|
|
123
|
+
let { t: y } = ne(), b = (e, t) => {
|
|
124
124
|
let n = y(e);
|
|
125
125
|
return n === e ? t : n;
|
|
126
|
-
}, x =
|
|
126
|
+
}, x = te(), S = e((e) => e.user), { signOut: se } = t({ disableCurrentUserQuery: !0 }), { deactivateAccount: ce, deleteAccount: le, isDeactivating: C, isDeleting: w } = n(), [T, E] = l(!1), [D, O] = l(!1), ue = [
|
|
127
127
|
{
|
|
128
128
|
name: b("auth.security.navProfile", "User Profile"),
|
|
129
129
|
description: b("auth.security.navProfileDesc", "View and edit your profile information"),
|
|
130
130
|
path: "/auth/profile",
|
|
131
|
-
icon:
|
|
131
|
+
icon: ae,
|
|
132
132
|
color: "text-accent-teal",
|
|
133
133
|
bgColor: "bg-accent-teal-subtle"
|
|
134
134
|
},
|
|
@@ -136,7 +136,7 @@ function y() {
|
|
|
136
136
|
name: b("auth.security.navMfa", "Two-Factor Authentication"),
|
|
137
137
|
description: b("auth.security.navMfaDesc", "Secure your account with TOTP"),
|
|
138
138
|
path: "/auth/mfa",
|
|
139
|
-
icon:
|
|
139
|
+
icon: re,
|
|
140
140
|
color: "text-accent-purple",
|
|
141
141
|
bgColor: "bg-accent-purple-subtle"
|
|
142
142
|
},
|
|
@@ -144,58 +144,58 @@ function y() {
|
|
|
144
144
|
name: b("auth.security.navUsers", "Users"),
|
|
145
145
|
description: b("auth.security.navUsersDesc", "Manage system users"),
|
|
146
146
|
path: "/auth/users",
|
|
147
|
-
icon:
|
|
147
|
+
icon: ie,
|
|
148
148
|
color: "text-accent-indigo",
|
|
149
149
|
bgColor: "bg-accent-indigo-subtle",
|
|
150
150
|
adminOnly: !0
|
|
151
151
|
}
|
|
152
|
-
],
|
|
152
|
+
], de = [{
|
|
153
153
|
name: b("auth.security.navSso", "SSO Configuration"),
|
|
154
154
|
description: b("auth.security.navSsoDesc", "Enterprise single sign-on"),
|
|
155
155
|
path: "/auth/sso",
|
|
156
|
-
icon:
|
|
156
|
+
icon: oe,
|
|
157
157
|
color: "text-accent-cyan",
|
|
158
158
|
bgColor: "bg-accent-cyan-subtle",
|
|
159
159
|
adminOnly: !0
|
|
160
|
-
}], [k, A] =
|
|
161
|
-
|
|
160
|
+
}], [k, A] = l(!1), [j, M] = l(!1), [N, P] = l(""), [F, I] = l(""), [L, R] = l(null), [z, B] = l(null), V = s(), H = s(), U = s(), W = s(), G = s(), K = s(), q = s(), J = c(null), Y = c(null), X = c(null), Z = c(null);
|
|
161
|
+
o(() => {
|
|
162
162
|
k ? X.current?.focus() : J.current?.focus();
|
|
163
|
-
}, [k]),
|
|
163
|
+
}, [k]), o(() => {
|
|
164
164
|
j ? Z.current?.focus() : Y.current?.focus();
|
|
165
165
|
}, [j]);
|
|
166
|
-
let
|
|
166
|
+
let fe = async () => {
|
|
167
167
|
E(!0);
|
|
168
168
|
try {
|
|
169
|
-
await
|
|
169
|
+
await se(), x("/auth/login"), O(!1);
|
|
170
170
|
} catch (e) {
|
|
171
171
|
console.error("Logout failed:", e), E(!1);
|
|
172
172
|
}
|
|
173
|
-
},
|
|
173
|
+
}, pe = async () => {
|
|
174
174
|
R(null);
|
|
175
175
|
try {
|
|
176
|
-
let e = await
|
|
176
|
+
let e = await ce(N);
|
|
177
177
|
e.success ? x("/auth/login", { replace: !0 }) : R(e.message || b("auth.security.deactivateFailed", "Failed to deactivate account"));
|
|
178
178
|
} catch (e) {
|
|
179
179
|
R(e instanceof Error ? e.message : b("auth.security.deactivateFailed", "Failed to deactivate account"));
|
|
180
180
|
}
|
|
181
|
-
},
|
|
182
|
-
if (R(null), F !==
|
|
181
|
+
}, me = async () => {
|
|
182
|
+
if (R(null), F !== _) {
|
|
183
183
|
R(b("auth.security.deleteConfirmMismatch", "Please type \"DELETE MY ACCOUNT\" to confirm"));
|
|
184
184
|
return;
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
i("medium");
|
|
187
187
|
try {
|
|
188
|
-
let e = await
|
|
189
|
-
e.success ? (
|
|
188
|
+
let e = await le(N, F);
|
|
189
|
+
e.success ? (a("success"), x("/auth/login", { replace: !0 })) : (a("error"), R(e.message || b("auth.security.deleteFailed", "Failed to delete account")));
|
|
190
190
|
} catch (e) {
|
|
191
|
-
|
|
191
|
+
a("error"), R(e instanceof Error ? e.message : b("auth.security.deleteFailed", "Failed to delete account"));
|
|
192
192
|
}
|
|
193
193
|
}, Q = () => {
|
|
194
194
|
A(!1), M(!1), P(""), I(""), R(null), B(null);
|
|
195
|
-
}, $ = S?.role === "SUPER_ADMIN" || S?.role === "TENANT_ADMIN" || S?.role === "ORG_ADMIN",
|
|
196
|
-
return /* @__PURE__ */
|
|
195
|
+
}, $ = S?.role === "SUPER_ADMIN" || S?.role === "TENANT_ADMIN" || S?.role === "ORG_ADMIN", he = ue.filter((e) => !e.adminOnly || v && $), ge = de.filter((e) => !e.adminOnly || v && $);
|
|
196
|
+
return /* @__PURE__ */ d("div", {
|
|
197
197
|
className: "bg-bg-canvas p-6",
|
|
198
|
-
children: [/* @__PURE__ */
|
|
198
|
+
children: [/* @__PURE__ */ u(ee, {
|
|
199
199
|
open: D,
|
|
200
200
|
onOpenChange: O,
|
|
201
201
|
title: b("auth.security.signOutDialogTitle", "Sign out now?"),
|
|
@@ -203,228 +203,228 @@ function y() {
|
|
|
203
203
|
confirmText: b("auth.security.signOutDialogConfirm", "Sign out"),
|
|
204
204
|
variant: "warning",
|
|
205
205
|
isPending: T,
|
|
206
|
-
onConfirm:
|
|
207
|
-
}), /* @__PURE__ */
|
|
206
|
+
onConfirm: fe
|
|
207
|
+
}), /* @__PURE__ */ d("main", {
|
|
208
208
|
className: "max-w-7xl mx-auto space-y-8",
|
|
209
209
|
children: [
|
|
210
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ d("div", {
|
|
211
211
|
className: "flex items-center gap-3",
|
|
212
212
|
"data-tour": "auth-security-header",
|
|
213
|
-
children: [/* @__PURE__ */
|
|
213
|
+
children: [/* @__PURE__ */ u("div", {
|
|
214
214
|
className: "auth-brand-badge flex size-10 items-center justify-center rounded-xl",
|
|
215
|
-
children: /* @__PURE__ */
|
|
216
|
-
}), /* @__PURE__ */
|
|
215
|
+
children: /* @__PURE__ */ u(f, { className: "size-6 text-white" })
|
|
216
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h1", {
|
|
217
217
|
className: "text-lg font-bold text-text-primary",
|
|
218
218
|
children: b("auth.security.title", "Security Center")
|
|
219
|
-
}), /* @__PURE__ */
|
|
219
|
+
}), /* @__PURE__ */ u("p", {
|
|
220
220
|
className: "text-xs text-text-secondary ",
|
|
221
221
|
children: b("auth.security.subtitle", "Account & Authentication")
|
|
222
222
|
})] })]
|
|
223
223
|
}),
|
|
224
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ u("div", {
|
|
225
225
|
className: "auth-hero-card rounded-2xl p-6",
|
|
226
226
|
"data-tour": "auth-security-status-banner",
|
|
227
|
-
children: /* @__PURE__ */
|
|
227
|
+
children: /* @__PURE__ */ d("div", {
|
|
228
228
|
className: "flex flex-col md:flex-row md:items-center md:justify-between gap-4",
|
|
229
|
-
children: [/* @__PURE__ */
|
|
229
|
+
children: [/* @__PURE__ */ d("div", {
|
|
230
230
|
className: "flex items-center gap-4",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
231
|
+
children: [/* @__PURE__ */ u("div", {
|
|
232
232
|
className: "size-14 rounded-2xl bg-bg-surface/20 backdrop-blur flex items-center justify-center",
|
|
233
|
-
children: /* @__PURE__ */
|
|
234
|
-
}), /* @__PURE__ */
|
|
233
|
+
children: /* @__PURE__ */ u(f, { className: "size-8 text-white" })
|
|
234
|
+
}), /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("h2", {
|
|
235
235
|
className: "text-xl font-bold",
|
|
236
236
|
children: b("auth.security.securityStatus", "Security Status")
|
|
237
|
-
}), /* @__PURE__ */
|
|
237
|
+
}), /* @__PURE__ */ u("p", {
|
|
238
238
|
className: "opacity-80",
|
|
239
239
|
children: S?.mfaEnabled ? b("auth.security.wellProtected", "Your account is well protected") : b("auth.security.enableMfaSuggestion", "Enable MFA for better security")
|
|
240
240
|
})] })]
|
|
241
|
-
}), /* @__PURE__ */
|
|
241
|
+
}), /* @__PURE__ */ u("div", {
|
|
242
242
|
className: "flex items-center gap-3",
|
|
243
|
-
children: S?.mfaEnabled ? /* @__PURE__ */
|
|
243
|
+
children: S?.mfaEnabled ? /* @__PURE__ */ d("span", {
|
|
244
244
|
className: "inline-flex items-center gap-2 px-4 py-2 rounded-xl bg-bg-surface/20 backdrop-blur text-white font-medium",
|
|
245
|
-
children: [/* @__PURE__ */
|
|
246
|
-
}) : /* @__PURE__ */
|
|
245
|
+
children: [/* @__PURE__ */ u(m, { className: "size-5 text-status-success-text" }), b("auth.security.mfaEnabled", "MFA Enabled")]
|
|
246
|
+
}) : /* @__PURE__ */ d("button", {
|
|
247
247
|
type: "button",
|
|
248
248
|
onClick: () => x("/auth/mfa"),
|
|
249
249
|
className: "inline-flex items-center gap-2 px-4 py-2 rounded-xl bg-bg-surface text-text-link font-semibold hover:bg-status-info-bg-subtle transition-colors shadow-lg",
|
|
250
|
-
children: [/* @__PURE__ */
|
|
250
|
+
children: [/* @__PURE__ */ u(h, { className: "size-5 text-status-warning-text" }), b("auth.security.enableMfaNow", "Enable MFA Now")]
|
|
251
251
|
})
|
|
252
252
|
})]
|
|
253
253
|
})
|
|
254
254
|
}),
|
|
255
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ d("div", {
|
|
256
256
|
className: "mb-8 p-6 rounded-2xl bg-bg-surface border border-border-subtle shadow-sm",
|
|
257
257
|
"data-tour": "auth-account-info-card",
|
|
258
|
-
children: [/* @__PURE__ */
|
|
258
|
+
children: [/* @__PURE__ */ u("h3", {
|
|
259
259
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
260
260
|
children: b("auth.security.accountInfo", "Account Information")
|
|
261
|
-
}), /* @__PURE__ */
|
|
261
|
+
}), /* @__PURE__ */ d("dl", {
|
|
262
262
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",
|
|
263
263
|
children: [
|
|
264
|
-
/* @__PURE__ */
|
|
264
|
+
/* @__PURE__ */ d("div", {
|
|
265
265
|
className: "sm:col-span-2 lg:col-span-1",
|
|
266
|
-
children: [/* @__PURE__ */
|
|
266
|
+
children: [/* @__PURE__ */ u("dt", {
|
|
267
267
|
className: "text-sm font-medium text-text-secondary",
|
|
268
268
|
children: b("auth.security.email", "Email")
|
|
269
|
-
}), /* @__PURE__ */
|
|
269
|
+
}), /* @__PURE__ */ d("dd", {
|
|
270
270
|
className: "mt-1 text-text-primary",
|
|
271
|
-
children: [/* @__PURE__ */
|
|
271
|
+
children: [/* @__PURE__ */ u("span", {
|
|
272
272
|
className: "block truncate",
|
|
273
273
|
title: S?.email,
|
|
274
274
|
children: S?.email
|
|
275
|
-
}), S?.emailVerified && /* @__PURE__ */
|
|
275
|
+
}), S?.emailVerified && /* @__PURE__ */ d("span", {
|
|
276
276
|
className: "mt-1 inline-flex items-center gap-1 px-2 py-0.5 rounded-full bg-status-success-bg-subtle text-status-success-text text-xs font-medium",
|
|
277
|
-
children: [/* @__PURE__ */
|
|
277
|
+
children: [/* @__PURE__ */ u(m, { className: "size-3" }), b("auth.security.verified", "Verified")]
|
|
278
278
|
})]
|
|
279
279
|
})]
|
|
280
280
|
}),
|
|
281
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("dt", {
|
|
282
282
|
className: "text-sm font-medium text-text-secondary",
|
|
283
283
|
children: b("auth.security.username", "Username")
|
|
284
|
-
}), /* @__PURE__ */
|
|
284
|
+
}), /* @__PURE__ */ u("dd", {
|
|
285
285
|
className: "mt-1 text-text-primary truncate",
|
|
286
286
|
title: S?.username ?? void 0,
|
|
287
287
|
children: S?.username || "-"
|
|
288
288
|
})] }),
|
|
289
|
-
/* @__PURE__ */
|
|
289
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("dt", {
|
|
290
290
|
className: "text-sm font-medium text-text-secondary",
|
|
291
291
|
children: b("auth.security.role", "Role")
|
|
292
|
-
}), /* @__PURE__ */
|
|
292
|
+
}), /* @__PURE__ */ u("dd", {
|
|
293
293
|
className: "mt-1",
|
|
294
|
-
children: /* @__PURE__ */
|
|
294
|
+
children: /* @__PURE__ */ u("span", {
|
|
295
295
|
className: "inline-flex px-2.5 py-0.5 rounded-full bg-accent-indigo-subtle text-accent-indigo text-xs font-medium",
|
|
296
296
|
children: S?.role || "USER"
|
|
297
297
|
})
|
|
298
298
|
})] }),
|
|
299
|
-
/* @__PURE__ */
|
|
299
|
+
/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("dt", {
|
|
300
300
|
className: "text-sm font-medium text-text-secondary",
|
|
301
301
|
children: b("auth.security.memberSince", "Member Since")
|
|
302
|
-
}), /* @__PURE__ */
|
|
302
|
+
}), /* @__PURE__ */ u("dd", {
|
|
303
303
|
className: "mt-1 text-text-primary",
|
|
304
|
-
children: S?.createdAt ?
|
|
304
|
+
children: S?.createdAt ? r(S.createdAt) : "-"
|
|
305
305
|
})] })
|
|
306
306
|
]
|
|
307
307
|
})]
|
|
308
308
|
}),
|
|
309
|
-
/* @__PURE__ */
|
|
309
|
+
/* @__PURE__ */ d("div", {
|
|
310
310
|
className: "mb-8",
|
|
311
|
-
children: [/* @__PURE__ */
|
|
311
|
+
children: [/* @__PURE__ */ u("h3", {
|
|
312
312
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
313
313
|
children: b("auth.security.securityAuth", "Security & Authentication")
|
|
314
|
-
}), /* @__PURE__ */
|
|
314
|
+
}), /* @__PURE__ */ u("div", {
|
|
315
315
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
|
|
316
316
|
"data-tour": "auth-security-nav-grid",
|
|
317
|
-
children:
|
|
317
|
+
children: he.map((e) => /* @__PURE__ */ u("button", {
|
|
318
318
|
type: "button",
|
|
319
319
|
onClick: () => x(e.path),
|
|
320
320
|
"aria-label": e.name,
|
|
321
321
|
className: "group relative p-5 rounded-2xl bg-bg-surface border border-border-subtle hover:border-border-default hover:shadow-lg transition-all duration-200 text-left",
|
|
322
|
-
children: /* @__PURE__ */
|
|
322
|
+
children: /* @__PURE__ */ d("div", {
|
|
323
323
|
className: "flex items-start gap-4",
|
|
324
324
|
children: [
|
|
325
|
-
/* @__PURE__ */
|
|
325
|
+
/* @__PURE__ */ u("div", {
|
|
326
326
|
className: `size-12 rounded-xl ${e.bgColor} flex items-center justify-center flex-shrink-0 transition-transform group-hover:scale-110`,
|
|
327
|
-
children: /* @__PURE__ */
|
|
327
|
+
children: /* @__PURE__ */ u(e.icon, { className: `size-6 ${e.color}` })
|
|
328
328
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
329
|
+
/* @__PURE__ */ d("div", {
|
|
330
330
|
className: "flex-1 min-w-0",
|
|
331
|
-
children: [/* @__PURE__ */
|
|
331
|
+
children: [/* @__PURE__ */ u("h4", {
|
|
332
332
|
className: "text-base font-semibold text-text-primary group-hover:text-accent-indigo transition-colors",
|
|
333
333
|
children: e.name
|
|
334
|
-
}), /* @__PURE__ */
|
|
334
|
+
}), /* @__PURE__ */ u("p", {
|
|
335
335
|
className: "mt-1 text-sm text-text-secondary ",
|
|
336
336
|
children: e.description
|
|
337
337
|
})]
|
|
338
338
|
}),
|
|
339
|
-
/* @__PURE__ */
|
|
339
|
+
/* @__PURE__ */ u(p, { className: "size-5 text-text-tertiary group-hover:text-indigo-500 transition-colors flex-shrink-0" })
|
|
340
340
|
]
|
|
341
341
|
})
|
|
342
342
|
}, e.path))
|
|
343
343
|
})]
|
|
344
344
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
345
|
+
/* @__PURE__ */ d("div", {
|
|
346
346
|
className: "mb-8",
|
|
347
|
-
children: [/* @__PURE__ */
|
|
347
|
+
children: [/* @__PURE__ */ u("h3", {
|
|
348
348
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
349
349
|
children: b("auth.security.quickActions", "Quick Actions")
|
|
350
|
-
}), /* @__PURE__ */
|
|
350
|
+
}), /* @__PURE__ */ u("div", {
|
|
351
351
|
className: "grid grid-cols-1 sm:grid-cols-2 gap-4",
|
|
352
|
-
children:
|
|
352
|
+
children: ge.map((e) => /* @__PURE__ */ u("button", {
|
|
353
353
|
type: "button",
|
|
354
354
|
onClick: () => x(e.path),
|
|
355
355
|
"aria-label": e.name,
|
|
356
356
|
className: "group relative p-5 rounded-2xl bg-bg-surface border border-border-subtle hover:border-border-default hover:shadow-lg transition-all duration-200 text-left",
|
|
357
|
-
children: /* @__PURE__ */
|
|
357
|
+
children: /* @__PURE__ */ d("div", {
|
|
358
358
|
className: "flex items-start gap-4",
|
|
359
359
|
children: [
|
|
360
|
-
/* @__PURE__ */
|
|
360
|
+
/* @__PURE__ */ u("div", {
|
|
361
361
|
className: `size-12 rounded-xl ${e.bgColor} flex items-center justify-center flex-shrink-0 transition-transform group-hover:scale-110`,
|
|
362
|
-
children: /* @__PURE__ */
|
|
362
|
+
children: /* @__PURE__ */ u(e.icon, { className: `size-6 ${e.color}` })
|
|
363
363
|
}),
|
|
364
|
-
/* @__PURE__ */
|
|
364
|
+
/* @__PURE__ */ d("div", {
|
|
365
365
|
className: "flex-1 min-w-0",
|
|
366
|
-
children: [/* @__PURE__ */
|
|
366
|
+
children: [/* @__PURE__ */ u("h4", {
|
|
367
367
|
className: "text-base font-semibold text-text-primary group-hover:text-accent-indigo transition-colors",
|
|
368
368
|
children: e.name
|
|
369
|
-
}), /* @__PURE__ */
|
|
369
|
+
}), /* @__PURE__ */ u("p", {
|
|
370
370
|
className: "mt-1 text-sm text-text-secondary ",
|
|
371
371
|
children: e.description
|
|
372
372
|
})]
|
|
373
373
|
}),
|
|
374
|
-
/* @__PURE__ */
|
|
374
|
+
/* @__PURE__ */ u(p, { className: "size-5 text-text-tertiary group-hover:text-indigo-500 transition-colors flex-shrink-0" })
|
|
375
375
|
]
|
|
376
376
|
})
|
|
377
377
|
}, e.path))
|
|
378
378
|
})]
|
|
379
379
|
}),
|
|
380
|
-
/* @__PURE__ */
|
|
380
|
+
/* @__PURE__ */ d("div", {
|
|
381
381
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
382
|
-
children: [/* @__PURE__ */
|
|
382
|
+
children: [/* @__PURE__ */ d("div", {
|
|
383
383
|
className: "p-6 rounded-2xl bg-bg-surface border border-border-subtle",
|
|
384
384
|
"data-tour": "auth-password-section",
|
|
385
|
-
children: [/* @__PURE__ */
|
|
385
|
+
children: [/* @__PURE__ */ u("div", {
|
|
386
386
|
className: "flex items-start justify-between",
|
|
387
|
-
children: /* @__PURE__ */
|
|
388
|
-
/* @__PURE__ */
|
|
387
|
+
children: /* @__PURE__ */ d("div", { children: [
|
|
388
|
+
/* @__PURE__ */ u("h3", {
|
|
389
389
|
className: "text-lg font-semibold text-text-primary",
|
|
390
390
|
children: b("auth.security.password", "Password")
|
|
391
391
|
}),
|
|
392
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ u("p", {
|
|
393
393
|
className: "mt-1 text-sm text-text-secondary ",
|
|
394
394
|
children: b("auth.security.updatePassword", "Update your password to keep your account secure")
|
|
395
395
|
}),
|
|
396
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ u("p", {
|
|
397
397
|
className: "mt-2 text-xs text-text-tertiary ",
|
|
398
398
|
children: b("auth.security.lastChanged", "Last changed: Never")
|
|
399
399
|
})
|
|
400
400
|
] })
|
|
401
|
-
}), /* @__PURE__ */
|
|
401
|
+
}), /* @__PURE__ */ u("button", {
|
|
402
402
|
type: "button",
|
|
403
403
|
onClick: () => x("/auth/reset-password"),
|
|
404
404
|
className: "auth-primary-button mt-4 w-full px-5 py-2.5 font-semibold sm:w-auto",
|
|
405
405
|
children: b("auth.security.changePassword", "Change Password")
|
|
406
406
|
})]
|
|
407
|
-
}), /* @__PURE__ */
|
|
407
|
+
}), /* @__PURE__ */ d("div", {
|
|
408
408
|
className: "p-6 rounded-2xl bg-status-error-bg-subtle border border-status-error-border",
|
|
409
409
|
"data-tour": "auth-danger-zone",
|
|
410
410
|
children: [
|
|
411
|
-
/* @__PURE__ */
|
|
411
|
+
/* @__PURE__ */ u("h3", {
|
|
412
412
|
className: "text-lg font-semibold text-status-error-text",
|
|
413
413
|
children: b("auth.security.dangerZone", "Danger Zone")
|
|
414
414
|
}),
|
|
415
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ u("p", {
|
|
416
416
|
className: "mt-1 text-sm text-status-error-text/80",
|
|
417
417
|
children: b("auth.security.dangerWarning", "These actions affect your account. Proceed with caution.")
|
|
418
418
|
}),
|
|
419
|
-
/* @__PURE__ */
|
|
419
|
+
/* @__PURE__ */ d("div", {
|
|
420
420
|
className: "mt-4 flex flex-wrap gap-3",
|
|
421
|
-
children: [/* @__PURE__ */
|
|
421
|
+
children: [/* @__PURE__ */ u("button", {
|
|
422
422
|
ref: J,
|
|
423
423
|
type: "button",
|
|
424
424
|
onClick: () => A(!0),
|
|
425
425
|
className: "px-5 py-2.5 rounded-xl border-2 border-status-warning-border text-status-warning-text font-semibold hover:bg-status-warning-bg-subtle transition-all duration-200",
|
|
426
426
|
children: b("auth.security.deactivateAccount", "Deactivate Account")
|
|
427
|
-
}), /* @__PURE__ */
|
|
427
|
+
}), /* @__PURE__ */ u("button", {
|
|
428
428
|
ref: Y,
|
|
429
429
|
type: "button",
|
|
430
430
|
onClick: () => M(!0),
|
|
@@ -435,13 +435,13 @@ function y() {
|
|
|
435
435
|
]
|
|
436
436
|
})]
|
|
437
437
|
}),
|
|
438
|
-
k && /* @__PURE__ */
|
|
438
|
+
k && /* @__PURE__ */ u("div", {
|
|
439
439
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",
|
|
440
440
|
role: "presentation",
|
|
441
441
|
onClick: (e) => {
|
|
442
442
|
e.target === e.currentTarget && Q();
|
|
443
443
|
},
|
|
444
|
-
children: /* @__PURE__ */
|
|
444
|
+
children: /* @__PURE__ */ d("div", {
|
|
445
445
|
ref: X,
|
|
446
446
|
role: "dialog",
|
|
447
447
|
"aria-modal": "true",
|
|
@@ -449,32 +449,32 @@ function y() {
|
|
|
449
449
|
tabIndex: -1,
|
|
450
450
|
className: "w-full max-w-md bg-bg-surface rounded-2xl shadow-2xl p-6 outline-none",
|
|
451
451
|
children: [
|
|
452
|
-
/* @__PURE__ */
|
|
452
|
+
/* @__PURE__ */ u("h3", {
|
|
453
453
|
id: V,
|
|
454
454
|
className: "text-xl font-bold text-text-primary mb-2",
|
|
455
455
|
children: b("auth.security.deactivateTitle", "Deactivate Account")
|
|
456
456
|
}),
|
|
457
|
-
/* @__PURE__ */
|
|
457
|
+
/* @__PURE__ */ u("p", {
|
|
458
458
|
className: "text-sm text-text-secondary mb-4",
|
|
459
459
|
children: b("auth.security.deactivateDesc", "Your account will be temporarily disabled. You can reactivate it by signing in again with your credentials.")
|
|
460
460
|
}),
|
|
461
|
-
L && /* @__PURE__ */
|
|
461
|
+
L && /* @__PURE__ */ u("div", {
|
|
462
462
|
id: U,
|
|
463
463
|
role: "alert",
|
|
464
464
|
className: "mb-4 p-3 rounded-lg bg-status-error-bg-subtle text-status-error-text text-sm",
|
|
465
465
|
children: L
|
|
466
466
|
}),
|
|
467
|
-
z && /* @__PURE__ */
|
|
467
|
+
z && /* @__PURE__ */ u("output", {
|
|
468
468
|
className: "block mb-4 p-3 rounded-lg bg-status-success-bg-subtle text-status-success-text text-sm",
|
|
469
469
|
children: z
|
|
470
470
|
}),
|
|
471
|
-
/* @__PURE__ */
|
|
471
|
+
/* @__PURE__ */ d("div", {
|
|
472
472
|
className: "mb-4",
|
|
473
|
-
children: [/* @__PURE__ */
|
|
473
|
+
children: [/* @__PURE__ */ u("label", {
|
|
474
474
|
htmlFor: H,
|
|
475
475
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
476
476
|
children: b("auth.security.enterPasswordConfirm", "Enter your password to confirm")
|
|
477
|
-
}), /* @__PURE__ */
|
|
477
|
+
}), /* @__PURE__ */ u("input", {
|
|
478
478
|
id: H,
|
|
479
479
|
type: "password",
|
|
480
480
|
value: N,
|
|
@@ -488,31 +488,31 @@ function y() {
|
|
|
488
488
|
placeholder: b("auth.security.yourPassword", "Your password")
|
|
489
489
|
})]
|
|
490
490
|
}),
|
|
491
|
-
/* @__PURE__ */
|
|
491
|
+
/* @__PURE__ */ d("div", {
|
|
492
492
|
className: "flex gap-3",
|
|
493
|
-
children: [/* @__PURE__ */
|
|
493
|
+
children: [/* @__PURE__ */ u("button", {
|
|
494
494
|
type: "button",
|
|
495
495
|
onClick: Q,
|
|
496
496
|
className: "flex-1 px-4 py-2 rounded-lg border border-border-default text-text-primary font-medium hover:bg-bg-sunken transition-colors",
|
|
497
497
|
children: b("auth.security.cancel", "Cancel")
|
|
498
|
-
}), /* @__PURE__ */
|
|
498
|
+
}), /* @__PURE__ */ d("button", {
|
|
499
499
|
type: "button",
|
|
500
|
-
onClick: () => void
|
|
500
|
+
onClick: () => void pe(),
|
|
501
501
|
disabled: !N || C,
|
|
502
502
|
className: "flex-1 px-4 py-2 rounded-lg bg-status-warning-bg text-white font-medium hover:bg-status-warning-bg-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center justify-center gap-2",
|
|
503
|
-
children: [C && /* @__PURE__ */
|
|
503
|
+
children: [C && /* @__PURE__ */ u(g, { className: "size-4 animate-spin" }), b("auth.security.deactivateBtn", "Deactivate")]
|
|
504
504
|
})]
|
|
505
505
|
})
|
|
506
506
|
]
|
|
507
507
|
})
|
|
508
508
|
}),
|
|
509
|
-
j && /* @__PURE__ */
|
|
509
|
+
j && /* @__PURE__ */ u("div", {
|
|
510
510
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm p-4",
|
|
511
511
|
role: "presentation",
|
|
512
512
|
onClick: (e) => {
|
|
513
513
|
e.target === e.currentTarget && Q();
|
|
514
514
|
},
|
|
515
|
-
children: /* @__PURE__ */
|
|
515
|
+
children: /* @__PURE__ */ d("div", {
|
|
516
516
|
ref: Z,
|
|
517
517
|
role: "dialog",
|
|
518
518
|
"aria-modal": "true",
|
|
@@ -520,32 +520,32 @@ function y() {
|
|
|
520
520
|
tabIndex: -1,
|
|
521
521
|
className: "w-full max-w-md bg-bg-surface rounded-2xl shadow-2xl p-6 outline-none",
|
|
522
522
|
children: [
|
|
523
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ u("h3", {
|
|
524
524
|
id: W,
|
|
525
525
|
className: "text-xl font-bold text-status-error-text mb-2",
|
|
526
526
|
children: b("auth.security.deleteTitle", "Delete Account Permanently")
|
|
527
527
|
}),
|
|
528
|
-
/* @__PURE__ */
|
|
528
|
+
/* @__PURE__ */ u("p", {
|
|
529
529
|
className: "text-sm text-text-secondary mb-4",
|
|
530
530
|
children: b("auth.security.deleteDesc", "This action is irreversible. All your data will be permanently deleted and cannot be recovered.")
|
|
531
531
|
}),
|
|
532
|
-
L && /* @__PURE__ */
|
|
532
|
+
L && /* @__PURE__ */ u("div", {
|
|
533
533
|
id: q,
|
|
534
534
|
role: "alert",
|
|
535
535
|
className: "mb-4 p-3 rounded-lg bg-status-error-bg-subtle text-status-error-text text-sm",
|
|
536
536
|
children: L
|
|
537
537
|
}),
|
|
538
|
-
z && /* @__PURE__ */
|
|
538
|
+
z && /* @__PURE__ */ u("output", {
|
|
539
539
|
className: "block mb-4 p-3 rounded-lg bg-status-success-bg-subtle text-status-success-text text-sm",
|
|
540
540
|
children: z
|
|
541
541
|
}),
|
|
542
|
-
/* @__PURE__ */
|
|
542
|
+
/* @__PURE__ */ d("div", {
|
|
543
543
|
className: "mb-4",
|
|
544
|
-
children: [/* @__PURE__ */
|
|
544
|
+
children: [/* @__PURE__ */ u("label", {
|
|
545
545
|
htmlFor: G,
|
|
546
546
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
547
547
|
children: b("auth.security.enterPasswordDelete", "Enter your password")
|
|
548
|
-
}), /* @__PURE__ */
|
|
548
|
+
}), /* @__PURE__ */ u("input", {
|
|
549
549
|
id: G,
|
|
550
550
|
type: "password",
|
|
551
551
|
value: N,
|
|
@@ -559,22 +559,22 @@ function y() {
|
|
|
559
559
|
placeholder: b("auth.security.yourPassword", "Your password")
|
|
560
560
|
})]
|
|
561
561
|
}),
|
|
562
|
-
/* @__PURE__ */
|
|
562
|
+
/* @__PURE__ */ d("div", {
|
|
563
563
|
className: "mb-4",
|
|
564
|
-
children: [/* @__PURE__ */
|
|
564
|
+
children: [/* @__PURE__ */ d("label", {
|
|
565
565
|
htmlFor: K,
|
|
566
566
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
567
567
|
children: [
|
|
568
568
|
b("auth.security.type", "Type"),
|
|
569
569
|
" ",
|
|
570
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ u("code", {
|
|
571
571
|
className: "px-1 py-0.5 rounded bg-bg-sunken text-status-error-text font-mono text-sm",
|
|
572
|
-
children:
|
|
572
|
+
children: _
|
|
573
573
|
}),
|
|
574
574
|
" ",
|
|
575
575
|
b("auth.security.toConfirm", "to confirm")
|
|
576
576
|
]
|
|
577
|
-
}), /* @__PURE__ */
|
|
577
|
+
}), /* @__PURE__ */ u("input", {
|
|
578
578
|
id: K,
|
|
579
579
|
type: "text",
|
|
580
580
|
value: F,
|
|
@@ -582,57 +582,57 @@ function y() {
|
|
|
582
582
|
"aria-required": "true",
|
|
583
583
|
"aria-label": b("auth.security.deleteConfirmAriaLabel", "Type DELETE MY ACCOUNT to confirm"),
|
|
584
584
|
"aria-describedby": L ? q : void 0,
|
|
585
|
-
"aria-invalid": F.length > 0 && F !==
|
|
585
|
+
"aria-invalid": F.length > 0 && F !== _,
|
|
586
586
|
autoComplete: "off",
|
|
587
587
|
className: "w-full px-4 py-2 rounded-lg border border-border-default bg-bg-surface text-text-primary focus:ring-2 focus:ring-status-error-bg focus:border-transparent font-mono",
|
|
588
588
|
placeholder: b("auth.security.deleteConfirmPlaceholder", "DELETE MY ACCOUNT")
|
|
589
589
|
})]
|
|
590
590
|
}),
|
|
591
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ d("div", {
|
|
592
592
|
className: "flex gap-3",
|
|
593
|
-
children: [/* @__PURE__ */
|
|
593
|
+
children: [/* @__PURE__ */ u("button", {
|
|
594
594
|
type: "button",
|
|
595
595
|
onClick: Q,
|
|
596
596
|
className: "flex-1 px-4 py-2 rounded-lg border border-border-default text-text-primary font-medium hover:bg-bg-sunken transition-colors",
|
|
597
597
|
children: b("auth.security.cancel", "Cancel")
|
|
598
|
-
}), /* @__PURE__ */
|
|
598
|
+
}), /* @__PURE__ */ d("button", {
|
|
599
599
|
type: "button",
|
|
600
|
-
onClick: () => void
|
|
601
|
-
disabled: !N || F !==
|
|
600
|
+
onClick: () => void me(),
|
|
601
|
+
disabled: !N || F !== _ || w,
|
|
602
602
|
className: "flex-1 px-4 py-2 rounded-lg bg-status-error-bg text-white font-medium hover:bg-status-error-bg-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center justify-center gap-2",
|
|
603
|
-
children: [w && /* @__PURE__ */
|
|
603
|
+
children: [w && /* @__PURE__ */ u(g, { className: "size-4 animate-spin" }), b("auth.security.deleteForever", "Delete Forever")]
|
|
604
604
|
})]
|
|
605
605
|
})
|
|
606
606
|
]
|
|
607
607
|
})
|
|
608
608
|
}),
|
|
609
|
-
/* @__PURE__ */
|
|
609
|
+
/* @__PURE__ */ u("footer", {
|
|
610
610
|
className: "mt-12 pt-6 border-t border-border-subtle ",
|
|
611
|
-
children: /* @__PURE__ */
|
|
611
|
+
children: /* @__PURE__ */ d("div", {
|
|
612
612
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 text-sm text-text-secondary ",
|
|
613
613
|
"data-tour": "auth-footer-actions",
|
|
614
|
-
children: [/* @__PURE__ */
|
|
614
|
+
children: [/* @__PURE__ */ d("p", { children: [
|
|
615
615
|
b("auth.security.signedInAs", "Signed in as"),
|
|
616
616
|
" ",
|
|
617
|
-
/* @__PURE__ */
|
|
617
|
+
/* @__PURE__ */ u("span", {
|
|
618
618
|
className: "font-medium text-text-primary ",
|
|
619
619
|
children: S?.email
|
|
620
620
|
})
|
|
621
|
-
] }), /* @__PURE__ */
|
|
621
|
+
] }), /* @__PURE__ */ d("div", {
|
|
622
622
|
className: "flex items-center gap-4",
|
|
623
623
|
children: [
|
|
624
|
-
/* @__PURE__ */
|
|
624
|
+
/* @__PURE__ */ u("button", {
|
|
625
625
|
type: "button",
|
|
626
626
|
onClick: () => x("/auth/login"),
|
|
627
627
|
className: "hover:text-text-primary transition-colors",
|
|
628
628
|
children: b("auth.security.switchAccount", "Switch Account")
|
|
629
629
|
}),
|
|
630
|
-
/* @__PURE__ */
|
|
630
|
+
/* @__PURE__ */ u("span", {
|
|
631
631
|
className: "text-text-muted",
|
|
632
632
|
"aria-hidden": "true",
|
|
633
633
|
children: "|"
|
|
634
634
|
}),
|
|
635
|
-
/* @__PURE__ */
|
|
635
|
+
/* @__PURE__ */ u("button", {
|
|
636
636
|
type: "button",
|
|
637
637
|
onClick: () => O(!0),
|
|
638
638
|
className: "hover:text-status-error-text transition-colors",
|
|
@@ -647,6 +647,6 @@ function y() {
|
|
|
647
647
|
});
|
|
648
648
|
}
|
|
649
649
|
//#endregion
|
|
650
|
-
export {
|
|
650
|
+
export { v as SecurityPage };
|
|
651
651
|
|
|
652
652
|
//# sourceMappingURL=SecurityPage.js.map
|