@wssto2/vue-core 0.12.1 → 0.13.0
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/CHANGELOG.md +25 -0
- package/README.md +4 -2
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js → AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js} +1 -1
- package/dist/{Activity-CdkJW68R.js → Activity-ChfxdvXf.js} +24 -23
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js} +33 -33
- package/dist/{Changes-DxK_QfiB.js → Changes-BCa43_mO.js} +18 -17
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-x0jyJ01f.js → CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js} +6 -6
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-C_ZytnW-.js → DataTable.vue_vue_type_script_setup_true_lang-B9r9M5Gt.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js → DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js} +2 -2
- package/dist/{DeadLetters-DnA7LP1w.js → DeadLetters-wFTqhISU.js} +5 -5
- package/dist/{General-2matxl2Y.js → General-jW7u4MjH.js} +16 -15
- package/dist/{IncidentRecord-Bt3G4HlX.js → IncidentRecord-CXzgLKqI.js} +6 -6
- package/dist/{IncidentsList-2iwgqp9J.js → IncidentsList-D1MySyXb.js} +6 -6
- package/dist/{NewRolePage-DhGFwvk3.js → NewRolePage-CQ5UVaHs.js} +3 -3
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-B3UrXNqH.js → NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js} +1 -1
- package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js → PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js} +2 -2
- package/dist/{ProfilePage-CpuyDBAv.js → ProfilePage-Ca3x3UAH.js} +79 -77
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js → RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js} +1 -1
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js → ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js} +1 -1
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js → RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js} +2 -2
- package/dist/{RolePage-DaNv049g.js → RolePage-BUj1w1m1.js} +5 -5
- package/dist/{RolesPage-6hlzJes_.js → RolesPage-NKzBUsrM.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dh3sXUt_.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js} +2 -2
- package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-FJbWxME_.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js} +10 -9
- package/dist/{ServiceAccountRecord-0-JF5lRx.js → ServiceAccountRecord-ClbyeLhL.js} +8 -8
- package/dist/{ServiceAccountsList-DcsnOcf-.js → ServiceAccountsList-B2VDnYxD.js} +5 -5
- package/dist/{Sessions-DgWhpk-i.js → Sessions-BjkciyHH.js} +23 -21
- package/dist/{SettingsPage-BXPWATYU.js → SettingsPage-Csb14qsx.js} +7 -7
- package/dist/{SignIn-DPoUwHZd.js → SignIn-DPFMv4C7.js} +14 -12
- package/dist/{SignInPage-OyrVemro.js → SignInPage-DukoFqkt.js} +2 -2
- package/dist/{SignIns-BMDrZVVp.js → SignIns-DvdpNkiS.js} +23 -22
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-D-Em4glH.js → TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js} +2 -2
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js → Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js} +1 -1
- package/dist/{UserRecord-BW-gdCqi.js → UserRecord-B9SeSWQh.js} +57 -55
- package/dist/{UsersList-B3ZF_1Dj.js → UsersList-CREG8q3l.js} +4 -4
- package/dist/access/index.js +4 -4
- package/dist/app/application.d.ts +14 -6
- package/dist/app/current.d.ts +11 -0
- package/dist/app/environment.d.ts +8 -0
- package/dist/app/index.d.ts +1 -0
- package/dist/app/index.js +14 -12
- package/dist/application-DomS6sbx.js +435 -0
- package/dist/collection/http.d.ts +16 -1
- package/dist/collection/index.d.ts +1 -1
- package/dist/collection/index.js +34 -32
- package/dist/content/Money.vue.d.ts +1 -1
- package/dist/content/index.js +151 -158
- package/dist/{contributions-CeG4bszd.js → contributions-obnyn03x.js} +1 -1
- package/dist/current-B0lHKTWr.js +17 -0
- package/dist/form/DateField.vue.d.ts +2 -2
- package/dist/form/DateTimeField.vue.d.ts +2 -2
- package/dist/form/MoneyField.vue.d.ts +1 -1
- package/dist/form/NumberField.vue.d.ts +1 -1
- package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
- package/dist/form/date/days.d.ts +3 -3
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.js +1111 -1081
- package/dist/form/zodErrorMap.d.ts +35 -0
- package/dist/format/format.d.ts +51 -6
- package/dist/format/index.d.ts +1 -1
- package/dist/format/index.js +1 -1
- package/dist/format-DoKs29bZ.js +118 -0
- package/dist/{guards-Biv_SlGn.js → guards-DGcSfTEh.js} +1 -1
- package/dist/http-DOEfFCDA.js +107 -0
- package/dist/i18n/index.js +15 -15
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.js +43 -40
- package/dist/identity/usePreferences.d.ts +19 -0
- package/dist/incidents/clientErrorReporter.d.ts +2 -1
- package/dist/incidents/index.js +1 -1
- package/dist/{index-kEHY7hcG.js → index-CRxU_Wh2.js} +61 -61
- package/dist/{index-Cq9TuOqH.js → index-DZikGJ8L.js} +457 -511
- package/dist/{index-ClJeyW3F.js → index-D_yyd4C2.js} +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/intlLocale.d.ts +5 -2
- package/dist/modules/identity/entities.d.ts +4 -0
- package/dist/modules/identity/routes.d.ts +5 -2
- package/dist/modules/identity/schemas.d.ts +6 -2
- package/dist/{navigation-TnVFYRaX.js → navigation-CctcxT51.js} +1 -1
- package/dist/{neighbors-OyvGi233.js → neighbors-Csfan8Ho.js} +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/onboarding/Tip.vue.d.ts +41 -0
- package/dist/onboarding/index.d.ts +1 -0
- package/dist/onboarding/index.js +145 -0
- package/dist/onboarding/tips.d.ts +5 -0
- package/dist/page/index.js +3 -3
- package/dist/phone/index.js +74 -74
- package/dist/phone/phone.d.ts +3 -3
- package/dist/platform/httpSession.d.ts +1 -1
- package/dist/platform/index.d.ts +2 -0
- package/dist/platform/index.js +16 -13
- package/dist/platform/preferences.d.ts +35 -0
- package/dist/platform/session.d.ts +6 -1
- package/dist/platform-DtISOEt7.js +284 -0
- package/dist/playwright/session.d.ts +2 -0
- package/dist/preferences-hYhrw8Uy.js +91 -0
- package/dist/resource/index.d.ts +1 -0
- package/dist/resource/index.js +24 -8
- package/dist/resource/read.d.ts +16 -0
- package/dist/router/index.js +3 -3
- package/dist/{rowLayout-BsKEzEME.js → rowLayout-y1IB_h2r.js} +2 -2
- package/dist/{sections-CvUwZ-S1.js → sections-fkW_IJLc.js} +1 -1
- package/dist/{serverMessages-B6GHgi40.js → serverMessages-Ddghrewh.js} +1 -1
- package/dist/shell/darkMode.d.ts +13 -8
- package/dist/shell/index.js +396 -384
- package/dist/{state-6KSYsVw0.js → state-CXMexi0l.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing/app.d.ts +11 -0
- package/dist/testing/format.d.ts +4 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +96 -89
- package/dist/testing/platform.d.ts +2 -0
- package/dist/usePreferences-B8LIZp_f.js +47 -0
- package/dist/{useTypedEntry-C_Bk4sI0.js → useTypedEntry-DKs8I1yP.js} +279 -280
- package/package.json +6 -2
- package/src/styles/components.css +17 -0
- package/dist/application-CuzT-0vW.js +0 -420
- package/dist/format-D8KUBmbS.js +0 -87
- package/dist/http-Dm0uXY9O.js +0 -95
- package/dist/intlLocale-CeRU44qJ.js +0 -4
- package/dist/platform-BQOX_Ntw.js +0 -283
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { defineComponent as R, computed as N, openBlock as i, createElementBlock as k, createVNode as o, unref as e, withCtx as u, mergeProps as c, createBlock as v, createCommentVNode as d, createElementVNode as p, toDisplayString as b, createTextVNode as S } from "vue";
|
|
2
2
|
import { useI18n as V } from "vue-i18n";
|
|
3
3
|
import { RouterLink as B } from "vue-router";
|
|
4
|
-
import { u as E } from "./format-
|
|
4
|
+
import { u as E } from "./format-DoKs29bZ.js";
|
|
5
5
|
import { u as T } from "./useResourceForm-Dl6YFYyz.js";
|
|
6
6
|
import { a as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
|
|
7
7
|
import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
|
|
8
8
|
import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-BZwdANL3.js";
|
|
9
9
|
import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
|
|
10
10
|
import { u as A } from "./useSaveChrome-7huA3FzR.js";
|
|
11
|
-
import {
|
|
12
|
-
import { t as
|
|
13
|
-
import { u as
|
|
14
|
-
import { b as
|
|
15
|
-
import { u as
|
|
16
|
-
import { _ as
|
|
17
|
-
import { u as
|
|
11
|
+
import { i as D } from "./preferences-hYhrw8Uy.js";
|
|
12
|
+
import { t as G } from "./toast-CqSDTWRX.js";
|
|
13
|
+
import { u as I } from "./platform-DtISOEt7.js";
|
|
14
|
+
import { b as M } from "./routeResource-DlTsGTg_.js";
|
|
15
|
+
import { u as O } from "./serverMessages-Ddghrewh.js";
|
|
16
|
+
import { _ as U, a as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
|
|
17
|
+
import { u as j } from "./keepAlive-ClGnsIzT.js";
|
|
18
|
+
import { P as z, e as H } from "./index-DZikGJ8L.js";
|
|
18
19
|
const J = {
|
|
19
20
|
class: "flex min-w-0 max-w-200 flex-col gap-group-gap",
|
|
20
21
|
"data-person-general": ""
|
|
@@ -22,30 +23,30 @@ const J = {
|
|
|
22
23
|
key: 1,
|
|
23
24
|
class: "flex flex-wrap items-center gap-x-1.5 px-row-inset text-footnote text-content-muted",
|
|
24
25
|
"data-person-audit": ""
|
|
25
|
-
},
|
|
26
|
+
}, fe = /* @__PURE__ */ R({
|
|
26
27
|
__name: "General",
|
|
27
28
|
setup(Q) {
|
|
28
|
-
const { t: a } = V(), { http: q } =
|
|
29
|
+
const { t: a } = V(), { http: q } = I(), w = E(), g = M(z), n = H(), C = j(), x = (t) => t === null || t.trim() === "", P = {
|
|
29
30
|
safeParse(t) {
|
|
30
31
|
const s = t, m = ["login", "name", "email", "locale"].filter((_) => x(s[_])).map((_) => ({ path: [_], message: a("core.account.validation.required") }));
|
|
31
32
|
return m.length > 0 ? { success: !1, error: { issues: m } } : { success: !0, data: { ...s, locale: s.locale ?? "", phone: x(s.phone) ? void 0 : s.phone } };
|
|
32
33
|
}
|
|
33
34
|
}, r = T({
|
|
34
|
-
...
|
|
35
|
+
...O(),
|
|
35
36
|
source: g,
|
|
36
37
|
defaults: () => ({ login: "", name: "", email: "", phone: "", locale: null }),
|
|
37
38
|
validator: P,
|
|
38
39
|
toValues: (t) => ({ login: t.login, name: t.name, email: t.email, phone: t.phone, locale: t.locale }),
|
|
39
|
-
save: async (t, s) => (await q.request(
|
|
40
|
+
save: async (t, s) => (await q.request(D.usersUpdate, { id: s.id, ...t })).data
|
|
40
41
|
});
|
|
41
42
|
async function y() {
|
|
42
43
|
const t = await r.save();
|
|
43
|
-
(t.status === "saved" || t.status === "saved-refresh-failed") &&
|
|
44
|
+
(t.status === "saved" || t.status === "saved-refresh-failed") && G.success(a("core.users.general.saved"));
|
|
44
45
|
}
|
|
45
46
|
A({ form: r, allowed: () => n.can.manage, ready: () => g.data.value !== null, save: y, cancel: () => r.reset() });
|
|
46
47
|
const l = N(() => g.data.value);
|
|
47
48
|
return (t, s) => (i(), k("div", J, [
|
|
48
|
-
o(
|
|
49
|
+
o(U, {
|
|
49
50
|
title: e(a)("core.users.sections.general"),
|
|
50
51
|
description: e(a)("core.users.intro.general")
|
|
51
52
|
}, null, 8, ["title", "description"]),
|
|
@@ -140,5 +141,5 @@ const J = {
|
|
|
140
141
|
}
|
|
141
142
|
});
|
|
142
143
|
export {
|
|
143
|
-
|
|
144
|
+
fe as default
|
|
144
145
|
};
|
|
@@ -2,7 +2,7 @@ import { defineComponent as G, openBlock as a, createElementBlock as p, createVN
|
|
|
2
2
|
import { useI18n as ee } from "vue-i18n";
|
|
3
3
|
import { useRoute as te } from "vue-router";
|
|
4
4
|
import { _ as se } from "./Button.vue_vue_type_script_setup_true_lang-C74hcb0N.js";
|
|
5
|
-
import { u as ne } from "./neighbors-
|
|
5
|
+
import { u as ne } from "./neighbors-Csfan8Ho.js";
|
|
6
6
|
import { _ as m } from "./KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
|
|
7
7
|
import { _ as T } from "./Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
|
|
8
8
|
import { _ as ie } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
@@ -15,15 +15,15 @@ import { _ as P } from "./TextareaField.vue_vue_type_script_setup_true_lang-D2j4
|
|
|
15
15
|
import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
|
|
16
16
|
import { u as de } from "./useSaveChrome-7huA3FzR.js";
|
|
17
17
|
import { u as ue } from "./useCommand-Ch_nx1AQ.js";
|
|
18
|
-
import { u as _e } from "./format-
|
|
18
|
+
import { u as _e } from "./format-DoKs29bZ.js";
|
|
19
19
|
import { t as me } from "./toast-CqSDTWRX.js";
|
|
20
|
-
import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-
|
|
21
|
-
import { u as pe } from "./platform-
|
|
20
|
+
import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js";
|
|
21
|
+
import { u as pe } from "./platform-DtISOEt7.js";
|
|
22
22
|
import { a as be } from "./routeResource-DlTsGTg_.js";
|
|
23
|
-
import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-
|
|
23
|
+
import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js";
|
|
24
24
|
import { _ as N } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
25
25
|
import { _ as q } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
26
|
-
import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-
|
|
26
|
+
import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-CRxU_Wh2.js";
|
|
27
27
|
import { _ as Ne } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
|
|
28
28
|
const De = { class: "flex min-w-0 items-center gap-2" }, Le = { class: "flex min-w-0 flex-col items-start" }, Ce = { class: "max-w-full truncate text-xs font-semibold text-content-strong" }, Ae = {
|
|
29
29
|
key: 0,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as $, useTemplateRef as D, computed as d, openBlock as n, createBlock as m, unref as e, withCtx as i, createVNode as c, createElementBlock as p, toDisplayString as a, createElementVNode as F, createTextVNode as f, createCommentVNode as O } from "vue";
|
|
2
2
|
import { useI18n as q } from "vue-i18n";
|
|
3
3
|
import { useRouter as U } from "vue-router";
|
|
4
|
-
import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { a as y } from "./rowLayout-
|
|
4
|
+
import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js";
|
|
5
|
+
import { a as y } from "./rowLayout-y1IB_h2r.js";
|
|
6
6
|
import { u as Y } from "./datePresets-DB13HHHd.js";
|
|
7
|
-
import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js";
|
|
8
8
|
import { _ as g } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
9
|
-
import { u as K } from "./format-
|
|
10
|
-
import { u as G } from "./platform-
|
|
9
|
+
import { u as K } from "./format-DoKs29bZ.js";
|
|
10
|
+
import { u as G } from "./platform-DtISOEt7.js";
|
|
11
11
|
import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
12
|
-
import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-
|
|
12
|
+
import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-CRxU_Wh2.js";
|
|
13
13
|
const X = {
|
|
14
14
|
key: 1,
|
|
15
15
|
class: "flex min-w-0 items-center gap-3"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineComponent as _, computed as d, openBlock as y, createBlock as w, unref as e, withCtx as i, createVNode as l } from "vue";
|
|
2
2
|
import { useI18n as v } from "vue-i18n";
|
|
3
3
|
import { useRoute as k, useRouter as R } from "vue-router";
|
|
4
|
-
import { _ as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { _ as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
|
|
5
5
|
import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
6
6
|
import { u as g } from "./useLoad-M7V-AVwR.js";
|
|
7
|
-
import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-
|
|
8
|
-
import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js";
|
|
8
|
+
import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js";
|
|
9
9
|
import { accessPages as u } from "./access/index.js";
|
|
10
10
|
const j = /* @__PURE__ */ _({
|
|
11
11
|
__name: "NewRolePage",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as H, ref as _, computed as B, useTemplateRef as K, watch as R, openBlock as q, createBlock as J, mergeProps as L, unref as T, createSlots as Q, withCtx as $, createElementVNode as Z, normalizeClass as E, createElementBlock as G, toDisplayString as I, createCommentVNode as P, isRef as W, renderSlot as N, mergeDefaults as U } from "vue";
|
|
2
2
|
import { b as X } from "./controlSurface-t7OEFESJ.js";
|
|
3
|
-
import { u as Y } from "./format-
|
|
3
|
+
import { u as Y } from "./format-DoKs29bZ.js";
|
|
4
4
|
import { a as ee, e as te, _ as le, f as ae, b as oe } from "./options-B48UiYsG.js";
|
|
5
5
|
function ne(c) {
|
|
6
6
|
const r = c.number(1234.5, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: !0 }), u = /^\d(\D)\d/.exec(r)?.[1] ?? "";
|
|
@@ -5,7 +5,7 @@ import { a as K } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW
|
|
|
5
5
|
import { g as V } from "./options-B48UiYsG.js";
|
|
6
6
|
import { _ as $e } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CrFhR9rJ.js";
|
|
7
7
|
import { t as Z } from "./toast-CqSDTWRX.js";
|
|
8
|
-
import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-
|
|
8
|
+
import { _ as ne } from "./AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js";
|
|
9
9
|
import { a as xe } from "./error-CD7x0Jrz.js";
|
|
10
10
|
import { _ as je } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
11
11
|
import { _ as Le } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
@@ -15,7 +15,7 @@ import { _ as Ne } from "./SegmentedField.vue_vue_type_script_setup_true_lang-zv
|
|
|
15
15
|
import { u as Te, _ as Se } from "./useCommand-Ch_nx1AQ.js";
|
|
16
16
|
import { r as C } from "./route-goWMxDUN.js";
|
|
17
17
|
import { s as Ae } from "./routes-Beyr5NQo.js";
|
|
18
|
-
import { u as Re } from "./platform-
|
|
18
|
+
import { u as Re } from "./platform-DtISOEt7.js";
|
|
19
19
|
import { u as J, g as pe, f as De, j as Ue, l as Be, S as ce, e as Oe, a as re } from "./refusals-DfPzVNNY.js";
|
|
20
20
|
import { _ as Pe } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
21
21
|
import { u as Ge } from "./mediaQuery-CygcXmFW.js";
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import { defineComponent as V, openBlock as m, createBlock as U, unref as e, withCtx as _, createVNode as n, mergeProps as E, createElementVNode as z, toDisplayString as q, watch as J, createElementBlock as w, Fragment as A, useModel as ve, useId as _e, useTemplateRef as Q, ref as x, onMounted as ge, onBeforeUnmount as ye, computed as D, withModifiers as be, createCommentVNode as H, createTextVNode as j, mergeModels as
|
|
1
|
+
import { defineComponent as V, openBlock as m, createBlock as U, unref as e, withCtx as _, createVNode as n, mergeProps as E, createElementVNode as z, toDisplayString as q, watch as J, createElementBlock as w, Fragment as A, useModel as ve, useId as _e, useTemplateRef as Q, ref as x, onMounted as ge, onBeforeUnmount as ye, computed as D, withModifiers as be, createCommentVNode as H, createTextVNode as j, mergeModels as re, renderList as we, resolveDynamicComponent as le } from "vue";
|
|
2
2
|
import { useI18n as P } from "vue-i18n";
|
|
3
|
-
import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
4
|
-
import { u as F } from "./platform-
|
|
3
|
+
import { _ as he } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
|
|
4
|
+
import { u as F } from "./platform-DtISOEt7.js";
|
|
5
5
|
import { _ as ee } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
6
6
|
import { u as te } from "./useLoad-M7V-AVwR.js";
|
|
7
|
-
import { i as S
|
|
7
|
+
import { i as S } from "./preferences-hYhrw8Uy.js";
|
|
8
|
+
import { h as xe, q as $e, j as ke, f as qe } from "./index-DZikGJ8L.js";
|
|
8
9
|
import { a as K, u as ne, p as Ce } from "./FormGroup.vue_vue_type_script_setup_true_lang-D6jYfNjW.js";
|
|
9
10
|
import { _ as de } from "./FormView.vue_vue_type_script_setup_true_lang-DvbPEiNQ.js";
|
|
10
11
|
import { u as Se, _ as Ee, a as Ve, b as Pe } from "./useGroupSheet-CPjHydQV.js";
|
|
11
12
|
import { t as C } from "./toast-CqSDTWRX.js";
|
|
12
|
-
import { u as T } from "./serverMessages-
|
|
13
|
+
import { u as T } from "./serverMessages-Ddghrewh.js";
|
|
13
14
|
import { g as Z } from "./options-B48UiYsG.js";
|
|
14
15
|
import { _ as I } from "./TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js";
|
|
15
16
|
import { _ as Ne } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
|
|
16
|
-
import { u as ce } from "./format-
|
|
17
|
+
import { u as ce } from "./format-DoKs29bZ.js";
|
|
17
18
|
import { a as W } from "./ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js";
|
|
19
|
+
import { i as O } from "./usePreferences-B8LIZp_f.js";
|
|
18
20
|
import { a as Y } from "./error-CD7x0Jrz.js";
|
|
19
21
|
import { a as Ae } from "./leaveGuard-Cc8yeLxM.js";
|
|
20
22
|
import { _ as Me } from "./Modal.vue_vue_type_script_setup_true_lang-DDS0iEnn.js";
|
|
@@ -29,19 +31,19 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
29
31
|
login: {}
|
|
30
32
|
},
|
|
31
33
|
setup(h) {
|
|
32
|
-
const
|
|
34
|
+
const r = h, { t: p } = P();
|
|
33
35
|
return (t, a) => (m(), U(e(K), {
|
|
34
36
|
group: "details",
|
|
35
37
|
header: e(p)("core.profile.details.title"),
|
|
36
38
|
footer: e(p)("core.profile.details.login_hint")
|
|
37
39
|
}, {
|
|
38
40
|
default: _(() => [
|
|
39
|
-
n(e(I), E(
|
|
41
|
+
n(e(I), E(r.bind("name"), {
|
|
40
42
|
label: e(p)("core.users.fields.name"),
|
|
41
43
|
required: "",
|
|
42
44
|
autocomplete: "name"
|
|
43
45
|
}), null, 16, ["label"]),
|
|
44
|
-
n(e(I), E(
|
|
46
|
+
n(e(I), E(r.bind("phone"), {
|
|
45
47
|
label: e(p)("core.users.fields.phone"),
|
|
46
48
|
type: "tel",
|
|
47
49
|
autocomplete: "tel"
|
|
@@ -52,7 +54,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
52
54
|
"data-profile-login": ""
|
|
53
55
|
}, {
|
|
54
56
|
default: _(() => [
|
|
55
|
-
z("span", Fe, q(
|
|
57
|
+
z("span", Fe, q(r.login), 1)
|
|
56
58
|
]),
|
|
57
59
|
_: 1
|
|
58
60
|
}, 8, ["label"])
|
|
@@ -66,8 +68,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
66
68
|
profile: {}
|
|
67
69
|
},
|
|
68
70
|
emits: ["updated"],
|
|
69
|
-
setup(h, { emit:
|
|
70
|
-
const p = h, t =
|
|
71
|
+
setup(h, { emit: r }) {
|
|
72
|
+
const p = h, t = r, { t: a } = P(), { http: c } = F(), s = {
|
|
71
73
|
safeParse(u) {
|
|
72
74
|
const { name: g, phone: y } = u;
|
|
73
75
|
return g.trim() === "" ? { success: !1, error: { issues: [{ path: ["name"], message: a("core.account.validation.required") }] } } : { success: !0, data: { name: g, phone: y.trim() === "" ? void 0 : y } };
|
|
@@ -75,17 +77,17 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
75
77
|
}, o = ne({ ...T(), defaults: () => ({ name: "", phone: "" }), validator: s });
|
|
76
78
|
J(() => p.profile, (u) => o.hydrate({ name: u.name, phone: u.phone }), { immediate: !0 });
|
|
77
79
|
const d = {}, i = Ce({ edit: (u) => d[u].present });
|
|
78
|
-
let
|
|
80
|
+
let l = null;
|
|
79
81
|
const b = Se({
|
|
80
82
|
form: o,
|
|
81
83
|
group: "details",
|
|
82
84
|
fields: ["name", "phone"],
|
|
83
85
|
groupOf: i.groupOf,
|
|
84
86
|
save: async (u) => {
|
|
85
|
-
|
|
87
|
+
l = (await c.request(S.profileUpdate, { name: u.name, phone: u.phone.trim() === "" ? void 0 : u.phone })).data;
|
|
86
88
|
},
|
|
87
89
|
onSaved: () => {
|
|
88
|
-
C.success(a("core.profile.details.saved")),
|
|
90
|
+
C.success(a("core.profile.details.saved")), l && t("updated", l);
|
|
89
91
|
}
|
|
90
92
|
});
|
|
91
93
|
return d.details = b, (u, g) => (m(), w(A, null, [
|
|
@@ -134,7 +136,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
134
136
|
"data-verify-expires": ""
|
|
135
137
|
}, Oe = { class: "mt-6 flex w-full flex-col gap-2" }, ze = /* @__PURE__ */ V({
|
|
136
138
|
__name: "VerifyCode",
|
|
137
|
-
props: /* @__PURE__ */
|
|
139
|
+
props: /* @__PURE__ */ re({
|
|
138
140
|
description: { default: void 0 },
|
|
139
141
|
length: { default: 6 },
|
|
140
142
|
resendAvailableAt: { default: null },
|
|
@@ -147,14 +149,14 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
147
149
|
modelValue: { default: "" },
|
|
148
150
|
modelModifiers: {}
|
|
149
151
|
}),
|
|
150
|
-
emits: /* @__PURE__ */
|
|
151
|
-
setup(h, { expose:
|
|
152
|
-
const t = h, a = ve(h, "modelValue"), c = p, { t: s } = P(), o = ce(), d = _e(), i = Q("otp"),
|
|
152
|
+
emits: /* @__PURE__ */ re(["verify", "resend", "cancel"], ["update:modelValue"]),
|
|
153
|
+
setup(h, { expose: r, emit: p }) {
|
|
154
|
+
const t = h, a = ve(h, "modelValue"), c = p, { t: s } = P(), o = ce(), d = _e(), i = Q("otp"), l = x(Date.now());
|
|
153
155
|
let b;
|
|
154
|
-
ge(() => b = setInterval(() =>
|
|
156
|
+
ge(() => b = setInterval(() => l.value = Date.now(), 1e3)), ye(() => clearInterval(b));
|
|
155
157
|
const u = D(() => {
|
|
156
158
|
const k = t.resendAvailableAt ? Date.parse(t.resendAvailableAt) : Number.NaN;
|
|
157
|
-
return Number.isNaN(k) ? 0 : Math.max(0, Math.ceil((k -
|
|
159
|
+
return Number.isNaN(k) ? 0 : Math.max(0, Math.ceil((k - l.value) / 1e3));
|
|
158
160
|
}), g = D(() => `${Math.floor(u.value / 60)}:${String(u.value % 60).padStart(2, "0")}`), y = D(() => t.expiresAt && !t.expired ? o.time(t.expiresAt) : ""), $ = D(() => a.value.length === t.length), G = D(() => t.verifying || t.resending);
|
|
159
161
|
function M(k = a.value) {
|
|
160
162
|
k.length === t.length && !G.value && !t.expired && c("verify", k);
|
|
@@ -164,7 +166,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
164
166
|
}
|
|
165
167
|
return J(() => t.error, (k) => {
|
|
166
168
|
k && (a.value = "", i.value?.focus());
|
|
167
|
-
}),
|
|
169
|
+
}), r({ focus: () => i.value?.focus() }), (k, N) => (m(), w("form", {
|
|
168
170
|
class: "flex flex-col items-center text-center",
|
|
169
171
|
"data-verify-code": "",
|
|
170
172
|
novalidate: "",
|
|
@@ -246,13 +248,13 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
246
248
|
}, We = /* @__PURE__ */ V({
|
|
247
249
|
__name: "EmailChangeDialog",
|
|
248
250
|
emits: ["pending", "changed", "cancelled"],
|
|
249
|
-
setup(h, { expose:
|
|
250
|
-
const t = p, { t: a } = P(), { http: c } = F(), s = T(), o = Q("modal"), d = x("request"), i = x(null),
|
|
251
|
+
setup(h, { expose: r, emit: p }) {
|
|
252
|
+
const t = p, { t: a } = P(), { http: c } = F(), s = T(), o = Q("modal"), d = x("request"), i = x(null), l = x(!1), u = ne({ ...s, defaults: () => ({ email: "", password: "" }), validator: {
|
|
251
253
|
safeParse(f) {
|
|
252
254
|
const { email: v, password: L } = f, se = a("core.account.validation.required"), oe = [...v.trim() === "" ? [{ path: ["email"], message: se }] : [], ...L === "" ? [{ path: ["password"], message: se }] : []];
|
|
253
255
|
return oe.length > 0 ? { success: !1, error: { issues: oe } } : { success: !0, data: { email: v.trim(), current_password: L } };
|
|
254
256
|
}
|
|
255
|
-
}, serverField: (f) => f === "current_password" ? "password" : f }), { confirmDiscard: g } = Ae(() =>
|
|
257
|
+
}, serverField: (f) => f === "current_password" ? "password" : f }), { confirmDiscard: g } = Ae(() => l.value && d.value === "request" && u.dirty.value), y = x(""), $ = x(""), G = x(!1), M = x(!1), B = x(!1), k = x(!1), N = ["identity.code.expired", "identity.code.too_many_attempts", "identity.code.no_pending"];
|
|
256
258
|
function R() {
|
|
257
259
|
y.value = "", $.value = "", G.value = !1;
|
|
258
260
|
}
|
|
@@ -310,7 +312,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
310
312
|
}
|
|
311
313
|
}
|
|
312
314
|
}
|
|
313
|
-
return
|
|
315
|
+
return r({ present: ue }), (f, v) => (m(), U(e(Me), {
|
|
314
316
|
ref_key: "modal",
|
|
315
317
|
ref: o,
|
|
316
318
|
size: "md",
|
|
@@ -320,8 +322,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
320
322
|
status: e(u).submitting.value ? "processing" : "idle",
|
|
321
323
|
"before-dismiss": e(g),
|
|
322
324
|
onPrimary: ae,
|
|
323
|
-
onPresented: v[1] || (v[1] = (L) =>
|
|
324
|
-
onDismissed: v[2] || (v[2] = (L) =>
|
|
325
|
+
onPresented: v[1] || (v[1] = (L) => l.value = !0),
|
|
326
|
+
onDismissed: v[2] || (v[2] = (L) => l.value = !1)
|
|
325
327
|
}, {
|
|
326
328
|
default: _(() => [
|
|
327
329
|
d.value === "request" ? (m(), U(e(de), {
|
|
@@ -371,8 +373,8 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
371
373
|
profile: {}
|
|
372
374
|
},
|
|
373
375
|
emits: ["updated"],
|
|
374
|
-
setup(h, { emit:
|
|
375
|
-
const p = h, t =
|
|
376
|
+
setup(h, { emit: r }) {
|
|
377
|
+
const p = h, t = r, { t: a } = P(), { http: c } = F(), s = ce(), o = T(), d = Q("dialog"), i = x(!1), l = D(() => p.profile.pending_email), b = (g) => t("updated", { ...p.profile, pending_email: g });
|
|
376
378
|
async function u() {
|
|
377
379
|
if (!i.value) {
|
|
378
380
|
i.value = !0;
|
|
@@ -406,11 +408,11 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
406
408
|
"data-email-change": "",
|
|
407
409
|
onClick: y[0] || (y[0] = ($) => d.value?.present(null))
|
|
408
410
|
}, null, 8, ["label"]),
|
|
409
|
-
|
|
411
|
+
l.value ? (m(), w(A, { key: 0 }, [
|
|
410
412
|
n(e(Z), {
|
|
411
413
|
layout: "setting",
|
|
412
|
-
label: e(a)("core.profile.email.pending", { email:
|
|
413
|
-
sub: e(a)("core.profile.email.valid_until", { time: e(s).time(
|
|
414
|
+
label: e(a)("core.profile.email.pending", { email: l.value.email }),
|
|
415
|
+
sub: e(a)("core.profile.email.valid_until", { time: e(s).time(l.value.expires_at) }),
|
|
414
416
|
"data-email-pending": ""
|
|
415
417
|
}, {
|
|
416
418
|
leading: _(() => [
|
|
@@ -424,7 +426,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
424
426
|
n(W, {
|
|
425
427
|
label: e(a)("core.profile.email.enter_code"),
|
|
426
428
|
"data-email-enter-code": "",
|
|
427
|
-
onClick: y[1] || (y[1] = ($) => d.value?.present(
|
|
429
|
+
onClick: y[1] || (y[1] = ($) => d.value?.present(l.value))
|
|
428
430
|
}, null, 8, ["label"]),
|
|
429
431
|
n(W, {
|
|
430
432
|
label: e(a)("core.profile.email.cancel_change"),
|
|
@@ -449,12 +451,12 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
449
451
|
}), Je = { class: "flex justify-end" }, Ke = /* @__PURE__ */ V({
|
|
450
452
|
__name: "PasswordGroup",
|
|
451
453
|
setup(h) {
|
|
452
|
-
const { t:
|
|
454
|
+
const { t: r } = P(), { http: p } = F(), t = x(!1), a = {
|
|
453
455
|
safeParse(s) {
|
|
454
|
-
const o = s, d =
|
|
456
|
+
const o = s, d = r("core.account.validation.required"), i = [
|
|
455
457
|
...o.current === "" ? [{ path: ["current"], message: d }] : [],
|
|
456
458
|
...o.password === "" ? [{ path: ["password"], message: d }] : [],
|
|
457
|
-
...o.password !== "" && o.repeat !== o.password ? [{ path: ["repeat"], message: o.repeat === "" ? d :
|
|
459
|
+
...o.password !== "" && o.repeat !== o.password ? [{ path: ["repeat"], message: o.repeat === "" ? d : r("core.account.validation.mismatch") }] : []
|
|
458
460
|
];
|
|
459
461
|
return i.length > 0 ? { success: !1, error: { issues: i } } : { success: !0, data: { current_password: o.current, new_password: o.password, new_password_confirmation: o.repeat } };
|
|
460
462
|
}
|
|
@@ -466,15 +468,15 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
466
468
|
serverField: (s) => ({ current_password: "current", new_password: "password", new_password_confirmation: "repeat" })[s] ?? s,
|
|
467
469
|
run: (s) => p.request(S.profileChangePassword, s),
|
|
468
470
|
done: () => {
|
|
469
|
-
t.value = !1, C.success(
|
|
471
|
+
t.value = !1, C.success(r("core.profile.password.changed"));
|
|
470
472
|
}
|
|
471
473
|
});
|
|
472
474
|
return (s, o) => (m(), w(A, null, [
|
|
473
475
|
n(e(K), { "data-profile-password": "" }, {
|
|
474
476
|
default: _(() => [
|
|
475
477
|
n(W, {
|
|
476
|
-
label: e(
|
|
477
|
-
sub: e(
|
|
478
|
+
label: e(r)("core.profile.password.submit"),
|
|
479
|
+
sub: e(r)("core.profile.password.row_sub"),
|
|
478
480
|
"data-change-password": "",
|
|
479
481
|
onClick: o[0] || (o[0] = (d) => e(c).present())
|
|
480
482
|
}, null, 8, ["label", "sub"])
|
|
@@ -483,27 +485,27 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
483
485
|
}),
|
|
484
486
|
n(e(De), {
|
|
485
487
|
command: e(c),
|
|
486
|
-
title: e(
|
|
487
|
-
"confirm-label": e(
|
|
488
|
+
title: e(r)("core.profile.password.title"),
|
|
489
|
+
"confirm-label": e(r)("core.profile.password.submit")
|
|
488
490
|
}, {
|
|
489
491
|
default: _(() => [
|
|
490
492
|
n(e(K), { "data-password-dialog": "" }, {
|
|
491
493
|
default: _(() => [
|
|
492
494
|
n(e(I), E(e(c).form.bind("current"), {
|
|
493
495
|
type: t.value ? "text" : "password",
|
|
494
|
-
label: e(
|
|
496
|
+
label: e(r)("core.profile.password.current"),
|
|
495
497
|
required: "",
|
|
496
498
|
autocomplete: "current-password"
|
|
497
499
|
}), null, 16, ["type", "label"]),
|
|
498
500
|
n(e(I), E(e(c).form.bind("password"), {
|
|
499
501
|
type: t.value ? "text" : "password",
|
|
500
|
-
label: e(
|
|
502
|
+
label: e(r)("core.profile.password.new"),
|
|
501
503
|
required: "",
|
|
502
504
|
autocomplete: "new-password"
|
|
503
505
|
}), null, 16, ["type", "label"]),
|
|
504
506
|
n(e(I), E(e(c).form.bind("repeat"), {
|
|
505
507
|
type: t.value ? "text" : "password",
|
|
506
|
-
label: e(
|
|
508
|
+
label: e(r)("core.profile.password.repeat"),
|
|
507
509
|
required: "",
|
|
508
510
|
autocomplete: "new-password"
|
|
509
511
|
}), null, 16, ["type", "label"])
|
|
@@ -520,7 +522,7 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
520
522
|
onClick: o[1] || (o[1] = (d) => t.value = !t.value)
|
|
521
523
|
}), {
|
|
522
524
|
default: _(() => [
|
|
523
|
-
j(q(t.value ? e(
|
|
525
|
+
j(q(t.value ? e(r)("core.profile.password.hide") : e(r)("core.profile.password.show")), 1)
|
|
524
526
|
]),
|
|
525
527
|
_: 1
|
|
526
528
|
}, 16, ["icon"])
|
|
@@ -531,10 +533,10 @@ const Fe = { class: "font-mono" }, ie = /* @__PURE__ */ V({
|
|
|
531
533
|
], 64));
|
|
532
534
|
}
|
|
533
535
|
}), Qe = ["details", "email", "password", "sessions", "signins"];
|
|
534
|
-
function Ye(h,
|
|
536
|
+
function Ye(h, r) {
|
|
535
537
|
const p = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Map(), a = [];
|
|
536
538
|
for (const s of h) {
|
|
537
|
-
if (s.visible && !s.visible(
|
|
539
|
+
if (s.visible && !s.visible(r)) continue;
|
|
538
540
|
const o = s.after ?? s.before;
|
|
539
541
|
(o ? s.after ? t.get(o) ?? t.set(o, []).get(o) : p.get(o) ?? p.set(o, []).get(o) : a).push(s);
|
|
540
542
|
}
|
|
@@ -547,29 +549,29 @@ function Ye(h, l) {
|
|
|
547
549
|
const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
548
550
|
__name: "SessionsGroup",
|
|
549
551
|
setup(h) {
|
|
550
|
-
const { t:
|
|
552
|
+
const { t: r } = P(), { http: p } = F(), t = T(), a = te(async ({ signal: i }) => (await p.request(S.profileSessions, void 0, { signal: i })).data), c = D(() => a.data.value?.sessions ?? []), s = Q("dialog"), o = x(null);
|
|
551
553
|
async function d(i) {
|
|
552
554
|
try {
|
|
553
|
-
await p.request(S.profileRevokeSession, { session_id: i.id }), C.success(
|
|
554
|
-
} catch (
|
|
555
|
-
O(
|
|
555
|
+
await p.request(S.profileRevokeSession, { session_id: i.id }), C.success(r("core.account.sessions.ended"));
|
|
556
|
+
} catch (l) {
|
|
557
|
+
O(l) || C.error(t.sentence(l, r("core.account.sessions.end_failed")));
|
|
556
558
|
}
|
|
557
559
|
await a.reload();
|
|
558
560
|
}
|
|
559
|
-
return (i,
|
|
561
|
+
return (i, l) => (m(), w("div", Ze, [
|
|
560
562
|
n(e(ee), {
|
|
561
563
|
state: e(a).state.value,
|
|
562
564
|
"skeleton-rows": 3,
|
|
563
565
|
"is-empty": () => !1,
|
|
564
|
-
onRetry:
|
|
566
|
+
onRetry: l[1] || (l[1] = (b) => e(a).reload())
|
|
565
567
|
}, {
|
|
566
568
|
default: _(() => [
|
|
567
569
|
n(xe, {
|
|
568
570
|
sessions: c.value,
|
|
569
571
|
"can-end": "",
|
|
570
|
-
header: e(
|
|
571
|
-
footer: e(
|
|
572
|
-
onEnd:
|
|
572
|
+
header: e(r)("core.profile.sessions.title"),
|
|
573
|
+
footer: e(r)("core.profile.sessions.footer"),
|
|
574
|
+
onEnd: l[0] || (l[0] = (b) => {
|
|
573
575
|
o.value = b, s.value?.present(b);
|
|
574
576
|
})
|
|
575
577
|
}, null, 8, ["sessions", "header", "footer"])
|
|
@@ -581,9 +583,9 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
581
583
|
ref: s,
|
|
582
584
|
tone: "critical",
|
|
583
585
|
icon: "logoutBoxRLine",
|
|
584
|
-
title: e(
|
|
585
|
-
message: e(
|
|
586
|
-
"confirm-label": e(
|
|
586
|
+
title: e(r)("core.account.sessions.end_title"),
|
|
587
|
+
message: e(r)("core.account.sessions.end_body", { device: o.value?.device || e(r)("core.account.sessions.unknown_device") }),
|
|
588
|
+
"confirm-label": e(r)("core.account.sessions.end"),
|
|
587
589
|
action: d
|
|
588
590
|
}, null, 8, ["title", "message", "confirm-label"])
|
|
589
591
|
]));
|
|
@@ -594,7 +596,7 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
594
596
|
}, at = /* @__PURE__ */ V({
|
|
595
597
|
__name: "SignInsGroup",
|
|
596
598
|
setup(h) {
|
|
597
|
-
const { t:
|
|
599
|
+
const { t: r } = P(), { http: p } = F(), t = ["all", "failed"], a = x("all"), c = x(1), s = te(async ({ signal: o }) => (await p.request(S.profileSignins, { view: a.value, page: c.value, per_page: 20 }, { signal: o })).data);
|
|
598
600
|
return J(a, () => {
|
|
599
601
|
c.value = 1, s.reload();
|
|
600
602
|
}), J(c, () => void s.reload()), (o, d) => (m(), w("div", tt, [
|
|
@@ -607,24 +609,24 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
607
609
|
default: _(({ value: i }) => [
|
|
608
610
|
n($e, {
|
|
609
611
|
rows: i.data,
|
|
610
|
-
header: e(
|
|
611
|
-
footer: e(
|
|
612
|
+
header: e(r)("core.profile.signins.title"),
|
|
613
|
+
footer: e(r)("core.profile.signins.footer")
|
|
612
614
|
}, {
|
|
613
615
|
"header-trailing": _(() => [
|
|
614
616
|
n(Ie, {
|
|
615
617
|
modelValue: a.value,
|
|
616
|
-
"onUpdate:modelValue": d[0] || (d[0] = (
|
|
618
|
+
"onUpdate:modelValue": d[0] || (d[0] = (l) => a.value = l),
|
|
617
619
|
views: t,
|
|
618
620
|
counts: e(s).data.value?.meta?.views,
|
|
619
|
-
"label-of": (
|
|
620
|
-
label: e(
|
|
621
|
+
"label-of": (l) => e(r)(`core.account.signins.views.${l}`),
|
|
622
|
+
label: e(r)("core.profile.signins.title")
|
|
621
623
|
}, null, 8, ["modelValue", "counts", "label-of", "label"])
|
|
622
624
|
]),
|
|
623
625
|
_: 2
|
|
624
626
|
}, 1032, ["rows", "header", "footer"]),
|
|
625
627
|
n(ke, {
|
|
626
628
|
page: c.value,
|
|
627
|
-
"onUpdate:page": d[1] || (d[1] = (
|
|
629
|
+
"onUpdate:page": d[1] || (d[1] = (l) => c.value = l),
|
|
628
630
|
"last-page": i.last_page,
|
|
629
631
|
total: i.total
|
|
630
632
|
}, null, 8, ["page", "last-page", "total"])
|
|
@@ -633,16 +635,16 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
633
635
|
}, 8, ["state"])
|
|
634
636
|
]));
|
|
635
637
|
}
|
|
636
|
-
}), st = { class: "flex min-w-0 flex-col gap-group-gap" }, ot = ["data-profile-section"],
|
|
638
|
+
}), st = { class: "flex min-w-0 flex-col gap-group-gap" }, ot = ["data-profile-section"], Nt = /* @__PURE__ */ V({
|
|
637
639
|
__name: "ProfilePage",
|
|
638
640
|
setup(h) {
|
|
639
|
-
const { t:
|
|
640
|
-
function i(
|
|
641
|
-
c.update(
|
|
641
|
+
const { t: r } = P(), { http: p, session: t } = F(), { profileSections: a } = qe(), c = te(async ({ signal: l }) => (await p.request(S.profileShow, void 0, { signal: l })).data), s = { details: Ge, email: Xe, password: Ke, sessions: et, signins: at }, o = (l) => l.kind === "panel" ? l.id : `section:${l.section.id}`, d = (l) => l.kind === "section" || ["details", "email"].includes(l.id);
|
|
642
|
+
function i(l) {
|
|
643
|
+
c.update(l), t.refresh();
|
|
642
644
|
}
|
|
643
|
-
return (
|
|
644
|
-
title: e(
|
|
645
|
-
description: e(
|
|
645
|
+
return (l, b) => (m(), U(e(he), {
|
|
646
|
+
title: e(r)("core.profile.title"),
|
|
647
|
+
description: e(r)("core.profile.description"),
|
|
646
648
|
width: "readable"
|
|
647
649
|
}, {
|
|
648
650
|
default: _(() => [
|
|
@@ -662,11 +664,11 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
662
664
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
663
665
|
"data-profile-section": g.section.id
|
|
664
666
|
}, [
|
|
665
|
-
(m(), U(
|
|
667
|
+
(m(), U(le(g.section.component), {
|
|
666
668
|
profile: u,
|
|
667
669
|
onUpdated: i
|
|
668
670
|
}, null, 40, ["profile"]))
|
|
669
|
-
], 8, ot)) : (m(), U(
|
|
671
|
+
], 8, ot)) : (m(), U(le(s[g.id]), E({
|
|
670
672
|
key: 1,
|
|
671
673
|
ref_for: !0
|
|
672
674
|
}, d(g) ? { profile: u } : {}, { onUpdated: i }), null, 16))
|
|
@@ -681,5 +683,5 @@ const Ze = { "data-profile-sessions": "" }, et = /* @__PURE__ */ V({
|
|
|
681
683
|
}
|
|
682
684
|
});
|
|
683
685
|
export {
|
|
684
|
-
|
|
686
|
+
Nt as default
|
|
685
687
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as p, useTemplateRef as u, openBlock as t, createElementBlock as c, renderSlot as r, createCommentVNode as s, createElementVNode as n, toDisplayString as a, Fragment as d, renderList as f, createBlock as h, resolveDynamicComponent as g, withCtx as x, createVNode as _, unref as k } from "vue";
|
|
2
2
|
import { _ as b } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
3
|
-
import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
|
|
4
4
|
const v = { class: "flex min-w-0 flex-wrap items-center gap-5 compact:flex-col compact:gap-2 compact:text-center" }, y = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "min-w-0 max-w-full shrink-0"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as S, openBlock as a, createElementBlock as v, unref as t, createBlock as d, withCtx as s, createVNode as i, normalizeClass as m, createElementVNode as R, toDisplayString as y, computed as f, createSlots as $, renderSlot as u, createCommentVNode as A } from "vue";
|
|
2
2
|
import { useI18n as z } from "vue-i18n";
|
|
3
|
-
import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { _ as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js";
|
|
4
4
|
import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-DGzQ-Snp.js";
|
|
5
5
|
import { _ as D } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
|
|
6
6
|
import { useRouter as K, RouterLink as w } from "vue-router";
|