@dskripchenko/laravel-admin 1.1.0 → 1.1.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/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +266 -255
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as
|
|
2
|
-
import { defineStore as
|
|
1
|
+
import { ref as E, computed as p, defineComponent as L, openBlock as s, createElementBlock as c, createElementVNode as d, createBlock as w, unref as r, withCtx as m, Fragment as T, renderList as I, createTextVNode as C, toDisplayString as h, createCommentVNode as F, createVNode as x, renderSlot as H, resolveDynamicComponent as oe, normalizeClass as J, createSlots as Me, h as ht, watch as Z, onBeforeUnmount as _t, resolveComponent as Ze, withModifiers as Ie, nextTick as Le, onMounted as xe, withKeys as yt, normalizeProps as Ce, mergeProps as Se, normalizeStyle as Ae, inject as et, provide as bt, createApp as kt, reactive as wt } from "vue";
|
|
2
|
+
import { defineStore as ee, createPinia as $t } from "pinia";
|
|
3
3
|
import { RouterLink as xt, useRouter as ne, useRoute as pe, createWebHistory as tt, createRouter as Ct } from "vue-router";
|
|
4
|
-
import { UidMenu as nt, UidMenuItem as Ne, UidMenuSeparator as St, UidAvatar as at, UidSidebar as At, UidSidebarGroup as Rt, UidSidebarItem as Ut, UidSidebarLayout as Et, UidCard as q, UidButton as B, UidAlert as
|
|
4
|
+
import { UidMenu as nt, UidMenuItem as Ne, UidMenuSeparator as St, UidAvatar as at, UidSidebar as At, UidSidebarGroup as Rt, UidSidebarItem as Ut, UidSidebarLayout as Et, UidCard as q, UidButton as B, UidAlert as Y, UidInput as ie, UidCheckbox as we, UidSkeleton as Be, UidErrorState as Ft, UidEmptyState as Lt, UidTable as Ve, UidPagination as Pt, UidBadge as ze, UidSelect as $e, UidStat as be, UidHeatmap as Tt, UidGauge as Mt, UidFormField as ge, UidTextarea as Nt, UidNumberInput as It, UidDatePicker as Bt, UidStack as Vt, UidGrid as zt, UidTabs as lt, UidTabPanel as st, UidTab as ke, UidDescriptionList as qt, UidDescriptionItem as Dt, UidDrawer as Ot, UidStepper as Wt, UidFileUpload as jt, UidProgress as Kt } from "@dskripchenko/ui";
|
|
5
5
|
import Gt from "axios";
|
|
6
6
|
import { p as it, u as re } from "./formState-DGNcH1XQ.js";
|
|
7
7
|
import { t as uo } from "./formState-DGNcH1XQ.js";
|
|
@@ -22,7 +22,7 @@ function Ni() {
|
|
|
22
22
|
function Ii() {
|
|
23
23
|
return ve !== null;
|
|
24
24
|
}
|
|
25
|
-
const qe =
|
|
25
|
+
const qe = ee("admin-theme", () => {
|
|
26
26
|
const e = E("light"), t = E(["light", "dark"]), n = p(() => e.value === "dark");
|
|
27
27
|
function o(u) {
|
|
28
28
|
e.value = u.theme, t.value = u.availableThemes, i(u.theme);
|
|
@@ -77,7 +77,7 @@ const qe = Z("admin-theme", () => {
|
|
|
77
77
|
}, null, 8, Jt)
|
|
78
78
|
], 8, Xt));
|
|
79
79
|
}
|
|
80
|
-
}), De =
|
|
80
|
+
}), De = ee("admin-locale", () => {
|
|
81
81
|
const e = E("ru"), t = E(["ru", "en"]);
|
|
82
82
|
function n(i) {
|
|
83
83
|
e.value = i.locale, t.value = i.availableLocales, l(i.locale);
|
|
@@ -124,7 +124,7 @@ const qe = Z("admin-theme", () => {
|
|
|
124
124
|
async function n(o) {
|
|
125
125
|
o !== t.current && await t.setLocale(o);
|
|
126
126
|
}
|
|
127
|
-
return (o, a) => (s(),
|
|
127
|
+
return (o, a) => (s(), w(r(nt), null, {
|
|
128
128
|
trigger: m(() => [
|
|
129
129
|
d("button", Yt, [
|
|
130
130
|
a[0] || (a[0] = d("span", {
|
|
@@ -135,7 +135,7 @@ const qe = Z("admin-theme", () => {
|
|
|
135
135
|
])
|
|
136
136
|
]),
|
|
137
137
|
default: m(() => [
|
|
138
|
-
(s(!0), c(T, null, I(r(t).available, (l) => (s(),
|
|
138
|
+
(s(!0), c(T, null, I(r(t).available, (l) => (s(), w(r(Ne), {
|
|
139
139
|
key: l,
|
|
140
140
|
onClick: (i) => n(l)
|
|
141
141
|
}, {
|
|
@@ -148,7 +148,7 @@ const qe = Z("admin-theme", () => {
|
|
|
148
148
|
_: 1
|
|
149
149
|
}));
|
|
150
150
|
}
|
|
151
|
-
}), Oe =
|
|
151
|
+
}), Oe = ee("admin-notifications", () => {
|
|
152
152
|
const e = E([]), t = E(0), n = E(!1), o = E("all"), a = E(null), l = p(() => t.value > 0);
|
|
153
153
|
function i(R) {
|
|
154
154
|
t.value = R.unread_notifications_count;
|
|
@@ -178,7 +178,7 @@ const qe = Z("admin-theme", () => {
|
|
|
178
178
|
const _ = e.value.find((g) => g.id === R);
|
|
179
179
|
_ && _.read_at === null && (_.read_at = (/* @__PURE__ */ new Date()).toISOString(), t.value = Math.max(0, t.value - 1));
|
|
180
180
|
}
|
|
181
|
-
async function
|
|
181
|
+
async function b() {
|
|
182
182
|
await W().post("/notifications/markAllAsRead");
|
|
183
183
|
const A = (/* @__PURE__ */ new Date()).toISOString();
|
|
184
184
|
for (const _ of e.value)
|
|
@@ -204,7 +204,7 @@ const qe = Z("admin-theme", () => {
|
|
|
204
204
|
load: u,
|
|
205
205
|
loadUnread: f,
|
|
206
206
|
markAsRead: v,
|
|
207
|
-
markAllAsRead:
|
|
207
|
+
markAllAsRead: b,
|
|
208
208
|
destroy: S
|
|
209
209
|
};
|
|
210
210
|
}), Qt = ["title"], Zt = /* @__PURE__ */ L({
|
|
@@ -214,7 +214,7 @@ const qe = Z("admin-theme", () => {
|
|
|
214
214
|
const o = t.unreadCount;
|
|
215
215
|
return o <= 0 ? null : o > 99 ? "99+" : String(o);
|
|
216
216
|
});
|
|
217
|
-
return (o, a) => (s(),
|
|
217
|
+
return (o, a) => (s(), w(r(xt), {
|
|
218
218
|
to: "/notifications",
|
|
219
219
|
class: "admin-topbar__icon-btn",
|
|
220
220
|
"aria-label": "Уведомления"
|
|
@@ -234,7 +234,7 @@ const qe = Z("admin-theme", () => {
|
|
|
234
234
|
}));
|
|
235
235
|
}
|
|
236
236
|
});
|
|
237
|
-
class
|
|
237
|
+
class Q extends Error {
|
|
238
238
|
status;
|
|
239
239
|
errorKey;
|
|
240
240
|
payload;
|
|
@@ -242,22 +242,22 @@ class Y extends Error {
|
|
|
242
242
|
super(n.message ?? `API error ${t}`), this.name = "ApiError", this.status = t, this.errorKey = n.errorKey ?? "unknown", this.payload = n;
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
|
-
class ut extends
|
|
245
|
+
class ut extends Q {
|
|
246
246
|
constructor(t) {
|
|
247
247
|
super(401, t), this.name = "UnauthenticatedError";
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
class en extends
|
|
250
|
+
class en extends Q {
|
|
251
251
|
constructor(t) {
|
|
252
252
|
super(403, t), this.name = "ForbiddenError";
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
class tn extends
|
|
255
|
+
class tn extends Q {
|
|
256
256
|
constructor(t) {
|
|
257
257
|
super(404, t), this.name = "NotFoundError";
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
|
-
class Re extends
|
|
260
|
+
class Re extends Q {
|
|
261
261
|
/** Field-keyed map of error messages. */
|
|
262
262
|
fields;
|
|
263
263
|
constructor(t) {
|
|
@@ -287,10 +287,10 @@ function je(e, t) {
|
|
|
287
287
|
case 422:
|
|
288
288
|
return new Re(t);
|
|
289
289
|
default:
|
|
290
|
-
return new
|
|
290
|
+
return new Q(e, t);
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
-
const
|
|
293
|
+
const X = ee("admin-auth", () => {
|
|
294
294
|
const e = E(null), t = E([]), n = E(null), o = p(() => e.value !== null), a = p(() => n.value !== null);
|
|
295
295
|
function l(_) {
|
|
296
296
|
e.value = _.user, t.value = _.permissions;
|
|
@@ -317,7 +317,7 @@ const Q = Z("admin-auth", () => {
|
|
|
317
317
|
);
|
|
318
318
|
return U?.user && (e.value = U.user), Array.isArray(U?.permissions) && (t.value = U.permissions), n.value = null, "authenticated";
|
|
319
319
|
} catch (U) {
|
|
320
|
-
if (U instanceof
|
|
320
|
+
if (U instanceof Q && U.errorKey === "two_factor_required") {
|
|
321
321
|
const P = U.payload.challenge_token;
|
|
322
322
|
return n.value = {
|
|
323
323
|
challengeToken: typeof P == "string" ? P : "",
|
|
@@ -327,7 +327,7 @@ const Q = Z("admin-auth", () => {
|
|
|
327
327
|
throw U;
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
|
-
async function
|
|
330
|
+
async function b(_) {
|
|
331
331
|
if (n.value === null)
|
|
332
332
|
throw new Error("No pending 2FA challenge");
|
|
333
333
|
const U = await W().post("/auth/twoFactorChallenge", {
|
|
@@ -370,7 +370,7 @@ const Q = Z("admin-auth", () => {
|
|
|
370
370
|
hasAnyPermission: u,
|
|
371
371
|
hasAllPermissions: f,
|
|
372
372
|
login: v,
|
|
373
|
-
twoFactorChallenge:
|
|
373
|
+
twoFactorChallenge: b,
|
|
374
374
|
twoFactorRecovery: S,
|
|
375
375
|
cancelChallenge: R,
|
|
376
376
|
logout: A
|
|
@@ -384,7 +384,7 @@ const Q = Z("admin-auth", () => {
|
|
|
384
384
|
}, an = /* @__PURE__ */ L({
|
|
385
385
|
__name: "UserMenu",
|
|
386
386
|
setup(e) {
|
|
387
|
-
const t =
|
|
387
|
+
const t = X(), n = ne();
|
|
388
388
|
async function o() {
|
|
389
389
|
try {
|
|
390
390
|
await t.logout();
|
|
@@ -395,7 +395,7 @@ const Q = Z("admin-auth", () => {
|
|
|
395
395
|
function a() {
|
|
396
396
|
n.push({ name: "admin.profile" });
|
|
397
397
|
}
|
|
398
|
-
return (l, i) => (s(),
|
|
398
|
+
return (l, i) => (s(), w(r(nt), null, {
|
|
399
399
|
trigger: m(() => [
|
|
400
400
|
d("button", nn, [
|
|
401
401
|
x(r(at), {
|
|
@@ -456,9 +456,9 @@ const Q = Z("admin-auth", () => {
|
|
|
456
456
|
H(l.$slots, "breadcrumbs", {}, () => [
|
|
457
457
|
(s(!0), c(T, null, I(e.breadcrumbs, (u, f) => (s(), c(T, { key: f }, [
|
|
458
458
|
f > 0 ? (s(), c("span", on, "›")) : F("", !0),
|
|
459
|
-
(s(),
|
|
459
|
+
(s(), w(oe(u.to ? "a" : "span"), {
|
|
460
460
|
href: typeof u.to == "string" ? u.to : void 0,
|
|
461
|
-
class:
|
|
461
|
+
class: J(f === a.value ? "cur" : "")
|
|
462
462
|
}, {
|
|
463
463
|
default: m(() => [
|
|
464
464
|
C(h(u.label), 1)
|
|
@@ -490,28 +490,28 @@ const Q = Z("admin-auth", () => {
|
|
|
490
490
|
x(an)
|
|
491
491
|
]));
|
|
492
492
|
}
|
|
493
|
-
}), un =
|
|
493
|
+
}), un = ee("admin-menu", () => {
|
|
494
494
|
const e = E([]), t = E(!1), n = E(null), o = E(!1), a = p(() => {
|
|
495
|
-
const v =
|
|
495
|
+
const v = X(), b = (S) => {
|
|
496
496
|
if (Array.isArray(S.permissions) && S.permissions.length > 0 && !v.hasAnyPermission(S.permissions))
|
|
497
497
|
return null;
|
|
498
|
-
const R = (S.children ?? []).map(
|
|
498
|
+
const R = (S.children ?? []).map(b).filter((A) => A !== null);
|
|
499
499
|
return { ...S, children: R };
|
|
500
500
|
};
|
|
501
|
-
return e.value.map(
|
|
501
|
+
return e.value.map(b).filter((S) => S !== null);
|
|
502
502
|
}), l = p(() => {
|
|
503
503
|
const v = /* @__PURE__ */ new Map();
|
|
504
504
|
for (const S of a.value) {
|
|
505
505
|
const R = S.group ?? null;
|
|
506
506
|
v.has(R) || v.set(R, []), v.get(R).push(S);
|
|
507
507
|
}
|
|
508
|
-
const
|
|
508
|
+
const b = [];
|
|
509
509
|
for (const [S, R] of v)
|
|
510
510
|
R.sort((A, _) => {
|
|
511
511
|
const g = (A.order ?? 0) - (_.order ?? 0);
|
|
512
512
|
return g !== 0 ? g : A.label.localeCompare(_.label);
|
|
513
|
-
}),
|
|
514
|
-
return
|
|
513
|
+
}), b.push({ group: S, items: R });
|
|
514
|
+
return b;
|
|
515
515
|
});
|
|
516
516
|
async function i(v = !1) {
|
|
517
517
|
if (o.value && !v) return e.value;
|
|
@@ -519,8 +519,8 @@ const Q = Z("admin-auth", () => {
|
|
|
519
519
|
try {
|
|
520
520
|
const S = await W().get("/system/menu");
|
|
521
521
|
return e.value = Array.isArray(S.items) ? S.items : [], o.value = !0, e.value;
|
|
522
|
-
} catch (
|
|
523
|
-
throw n.value =
|
|
522
|
+
} catch (b) {
|
|
523
|
+
throw n.value = b instanceof Error ? b : new Error(String(b)), b;
|
|
524
524
|
} finally {
|
|
525
525
|
t.value = !1;
|
|
526
526
|
}
|
|
@@ -574,7 +574,7 @@ const Q = Z("admin-auth", () => {
|
|
|
574
574
|
if (u.routeName) return { name: u.routeName };
|
|
575
575
|
if (u.url) return u.url;
|
|
576
576
|
}
|
|
577
|
-
return (u, f) => (s(),
|
|
577
|
+
return (u, f) => (s(), w(r(At), { collapsed: e.collapsed }, Me({
|
|
578
578
|
header: m(() => [
|
|
579
579
|
d("div", dn, [
|
|
580
580
|
d("div", cn, h(e.brandMark), 1),
|
|
@@ -586,12 +586,12 @@ const Q = Z("admin-auth", () => {
|
|
|
586
586
|
])) : F("", !0)
|
|
587
587
|
]),
|
|
588
588
|
nav: m(() => [
|
|
589
|
-
(s(!0), c(T, null, I(o.value, (v,
|
|
590
|
-
key: `grp-${
|
|
589
|
+
(s(!0), c(T, null, I(o.value, (v, b) => (s(), w(r(Rt), {
|
|
590
|
+
key: `grp-${b}`,
|
|
591
591
|
title: v.group ?? void 0
|
|
592
592
|
}, {
|
|
593
593
|
default: m(() => [
|
|
594
|
-
(s(!0), c(T, null, I(v.items, (S) => (s(),
|
|
594
|
+
(s(!0), c(T, null, I(v.items, (S) => (s(), w(r(Ut), {
|
|
595
595
|
key: S.key,
|
|
596
596
|
to: i(S),
|
|
597
597
|
active: a(S),
|
|
@@ -605,7 +605,7 @@ const Q = Z("admin-auth", () => {
|
|
|
605
605
|
S.icon ? {
|
|
606
606
|
name: "icon",
|
|
607
607
|
fn: m(() => [
|
|
608
|
-
(s(),
|
|
608
|
+
(s(), w(oe(l(S.icon))))
|
|
609
609
|
]),
|
|
610
610
|
key: "0"
|
|
611
611
|
} : void 0
|
|
@@ -651,7 +651,7 @@ const Q = Z("admin-auth", () => {
|
|
|
651
651
|
function l() {
|
|
652
652
|
o("exit-impersonation");
|
|
653
653
|
}
|
|
654
|
-
return
|
|
654
|
+
return Z(
|
|
655
655
|
() => n.impersonation,
|
|
656
656
|
(i) => {
|
|
657
657
|
typeof document > "u" || (i !== null ? document.documentElement.setAttribute(Pe, "true") : document.documentElement.removeAttribute(Pe));
|
|
@@ -701,20 +701,20 @@ const Q = Z("admin-auth", () => {
|
|
|
701
701
|
const t = pe(), n = p(() => !(t.meta?.fullscreen === !0 || t.meta?.kind === "auth" || t.name === "admin.notFound"));
|
|
702
702
|
return (o, a) => {
|
|
703
703
|
const l = Ze("router-view");
|
|
704
|
-
return n.value ? (s(),
|
|
704
|
+
return n.value ? (s(), w(bn, { key: 0 }, {
|
|
705
705
|
default: m(() => [
|
|
706
706
|
x(l)
|
|
707
707
|
]),
|
|
708
708
|
_: 1
|
|
709
|
-
})) : (s(),
|
|
709
|
+
})) : (s(), w(l, { key: 1 }));
|
|
710
710
|
};
|
|
711
711
|
}
|
|
712
|
-
}), ae =
|
|
712
|
+
}), ae = ee("admin-manifest", () => {
|
|
713
713
|
const e = E(null), t = E(!1), n = E(null), o = p(() => e.value !== null), a = p(() => e.value?.version ?? null), l = p(() => e.value?.resources ?? []), i = p(() => e.value?.screens ?? []), u = p(() => e.value?.settings ?? []), f = p(() => e.value?.plugins ?? []);
|
|
714
714
|
function v(_) {
|
|
715
715
|
return l.value.find((g) => g.slug === _) ?? null;
|
|
716
716
|
}
|
|
717
|
-
function
|
|
717
|
+
function b(_) {
|
|
718
718
|
return i.value.find((g) => g.slug === _) ?? null;
|
|
719
719
|
}
|
|
720
720
|
function S(_) {
|
|
@@ -750,7 +750,7 @@ const Q = Z("admin-auth", () => {
|
|
|
750
750
|
plugins: f,
|
|
751
751
|
// actions
|
|
752
752
|
getResource: v,
|
|
753
|
-
getScreen:
|
|
753
|
+
getScreen: b,
|
|
754
754
|
getSettings: S,
|
|
755
755
|
load: R,
|
|
756
756
|
reset: A
|
|
@@ -761,7 +761,7 @@ const Q = Z("admin-auth", () => {
|
|
|
761
761
|
}, Cn = { class: "admin-home__grid" }, Sn = ["onClick"], An = { class: "admin-home__card-label" }, Rn = { class: "admin-home__card-slug" }, Un = /* @__PURE__ */ L({
|
|
762
762
|
__name: "HomePage",
|
|
763
763
|
setup(e) {
|
|
764
|
-
const t = ae(), n =
|
|
764
|
+
const t = ae(), n = X(), o = ne(), a = p(() => n.user?.name ?? ""), l = p(() => t.manifest?.resources ?? []);
|
|
765
765
|
return (i, u) => (s(), c("div", wn, [
|
|
766
766
|
x(r(q), {
|
|
767
767
|
padding: "lg",
|
|
@@ -897,7 +897,7 @@ const Q = Z("admin-auth", () => {
|
|
|
897
897
|
},
|
|
898
898
|
emits: ["success"],
|
|
899
899
|
setup(e, { emit: t }) {
|
|
900
|
-
const n = t, o =
|
|
900
|
+
const n = t, o = X(), a = E(""), l = E(""), i = E(!1), u = E(!1), f = E(null), v = E({}), b = p(() => v.value.email?.[0]), S = p(() => v.value.password?.[0]);
|
|
901
901
|
async function R() {
|
|
902
902
|
if (!u.value) {
|
|
903
903
|
u.value = !0, f.value = null, v.value = {};
|
|
@@ -909,7 +909,7 @@ const Q = Z("admin-auth", () => {
|
|
|
909
909
|
});
|
|
910
910
|
n("success", A);
|
|
911
911
|
} catch (A) {
|
|
912
|
-
A instanceof Re ? (v.value = A.fields, f.value = A.firstFieldMessage()) : A instanceof Ue ? f.value = "Нет соединения с сервером" : A instanceof
|
|
912
|
+
A instanceof Re ? (v.value = A.fields, f.value = A.firstFieldMessage()) : A instanceof Ue ? f.value = "Нет соединения с сервером" : A instanceof Q ? f.value = A.message || "Не удалось войти" : f.value = A.message;
|
|
913
913
|
} finally {
|
|
914
914
|
u.value = !1;
|
|
915
915
|
}
|
|
@@ -920,7 +920,7 @@ const Q = Z("admin-auth", () => {
|
|
|
920
920
|
novalidate: "",
|
|
921
921
|
onSubmit: Ie(R, ["prevent"])
|
|
922
922
|
}, [
|
|
923
|
-
f.value ? (s(),
|
|
923
|
+
f.value ? (s(), w(r(Y), {
|
|
924
924
|
key: 0,
|
|
925
925
|
variant: "danger",
|
|
926
926
|
class: "admin-auth-card__alert",
|
|
@@ -940,7 +940,7 @@ const Q = Z("admin-auth", () => {
|
|
|
940
940
|
autocomplete: "username",
|
|
941
941
|
required: !0,
|
|
942
942
|
disabled: u.value,
|
|
943
|
-
error:
|
|
943
|
+
error: b.value,
|
|
944
944
|
name: "email"
|
|
945
945
|
}, null, 8, ["modelValue", "disabled", "error"]),
|
|
946
946
|
x(r(ie), {
|
|
@@ -996,7 +996,7 @@ const Q = Z("admin-auth", () => {
|
|
|
996
996
|
__name: "TwoFactorForm",
|
|
997
997
|
emits: ["success", "cancel"],
|
|
998
998
|
setup(e, { emit: t }) {
|
|
999
|
-
const n = t, o =
|
|
999
|
+
const n = t, o = X(), a = E("totp"), l = E(["", "", "", "", "", ""]), i = E(""), u = E([]), f = E(!1), v = E(null), b = E(null), S = p(() => l.value.join("")), R = p(() => a.value === "totp" ? S.value.length === 6 : i.value.trim().length > 0);
|
|
1000
1000
|
function A($, V) {
|
|
1001
1001
|
V instanceof HTMLInputElement && (u.value[$] = V);
|
|
1002
1002
|
}
|
|
@@ -1026,17 +1026,17 @@ const Q = Z("admin-auth", () => {
|
|
|
1026
1026
|
await o.twoFactorChallenge(S.value);
|
|
1027
1027
|
else {
|
|
1028
1028
|
const $ = await o.twoFactorRecovery(i.value.trim());
|
|
1029
|
-
|
|
1029
|
+
b.value = $.remaining;
|
|
1030
1030
|
}
|
|
1031
1031
|
n("success");
|
|
1032
1032
|
} catch ($) {
|
|
1033
|
-
$ instanceof Re ? v.value = $.firstFieldMessage() ?? "Неверный код" : $ instanceof Ue ? v.value = "Нет соединения с сервером" : $ instanceof
|
|
1033
|
+
$ instanceof Re ? v.value = $.firstFieldMessage() ?? "Неверный код" : $ instanceof Ue ? v.value = "Нет соединения с сервером" : $ instanceof Q ? v.value = $.message || "Не удалось проверить код" : v.value = $.message;
|
|
1034
1034
|
} finally {
|
|
1035
1035
|
f.value = !1;
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
1038
1038
|
}
|
|
1039
|
-
function
|
|
1039
|
+
function k() {
|
|
1040
1040
|
o.cancelChallenge(), n("cancel");
|
|
1041
1041
|
}
|
|
1042
1042
|
function y() {
|
|
@@ -1047,7 +1047,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1047
1047
|
novalidate: "",
|
|
1048
1048
|
onSubmit: Ie(P, ["prevent"])
|
|
1049
1049
|
}, [
|
|
1050
|
-
v.value ? (s(),
|
|
1050
|
+
v.value ? (s(), w(r(Y), {
|
|
1051
1051
|
key: 0,
|
|
1052
1052
|
variant: "danger",
|
|
1053
1053
|
class: "admin-auth-card__alert",
|
|
@@ -1058,14 +1058,14 @@ const Q = Z("admin-auth", () => {
|
|
|
1058
1058
|
]),
|
|
1059
1059
|
_: 1
|
|
1060
1060
|
})) : F("", !0),
|
|
1061
|
-
|
|
1061
|
+
b.value !== null ? (s(), w(r(Y), {
|
|
1062
1062
|
key: 1,
|
|
1063
1063
|
variant: "info",
|
|
1064
1064
|
class: "admin-auth-card__alert",
|
|
1065
1065
|
role: "status"
|
|
1066
1066
|
}, {
|
|
1067
1067
|
default: m(() => [
|
|
1068
|
-
C(" Использован recovery-код. Осталось: " + h(
|
|
1068
|
+
C(" Использован recovery-код. Осталось: " + h(b.value), 1)
|
|
1069
1069
|
]),
|
|
1070
1070
|
_: 1
|
|
1071
1071
|
})) : F("", !0),
|
|
@@ -1088,7 +1088,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1088
1088
|
onInput: (M) => _(D, M),
|
|
1089
1089
|
onKeydown: (M) => g(D, M)
|
|
1090
1090
|
}, null, 40, Hn))), 128))
|
|
1091
|
-
], 32)) : (s(),
|
|
1091
|
+
], 32)) : (s(), w(r(ie), {
|
|
1092
1092
|
key: 3,
|
|
1093
1093
|
modelValue: i.value,
|
|
1094
1094
|
"onUpdate:modelValue": V[0] || (V[0] = (j) => i.value = j),
|
|
@@ -1125,7 +1125,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1125
1125
|
d("button", {
|
|
1126
1126
|
type: "button",
|
|
1127
1127
|
class: "admin-auth-card__link",
|
|
1128
|
-
onClick:
|
|
1128
|
+
onClick: k
|
|
1129
1129
|
}, " Отмена ")
|
|
1130
1130
|
])
|
|
1131
1131
|
], 32));
|
|
@@ -1150,7 +1150,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1150
1150
|
showCornerActions: { type: Boolean, default: !0 }
|
|
1151
1151
|
},
|
|
1152
1152
|
setup(e) {
|
|
1153
|
-
const t = e, n =
|
|
1153
|
+
const t = e, n = X(), o = ne(), a = pe();
|
|
1154
1154
|
async function l() {
|
|
1155
1155
|
const i = a.query[t.redirectQueryKey];
|
|
1156
1156
|
if (typeof i == "string" && i.length > 0 && i.startsWith("/")) {
|
|
@@ -1159,7 +1159,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1159
1159
|
}
|
|
1160
1160
|
await o.push({ name: t.homeRouteName });
|
|
1161
1161
|
}
|
|
1162
|
-
return
|
|
1162
|
+
return Z(
|
|
1163
1163
|
() => n.isAuthenticated,
|
|
1164
1164
|
(i) => {
|
|
1165
1165
|
i && l();
|
|
@@ -1172,13 +1172,13 @@ const Q = Z("admin-auth", () => {
|
|
|
1172
1172
|
x(rt)
|
|
1173
1173
|
])) : F("", !0),
|
|
1174
1174
|
x(r(q), {
|
|
1175
|
-
class:
|
|
1175
|
+
class: J(["admin-auth-card", r(n).isChallengePending ? "admin-auth-card--wide" : ""]),
|
|
1176
1176
|
padding: "none"
|
|
1177
1177
|
}, {
|
|
1178
1178
|
default: m(() => [
|
|
1179
1179
|
d("div", Zn, [
|
|
1180
1180
|
d("div", {
|
|
1181
|
-
class:
|
|
1181
|
+
class: J(["admin-auth-card__logo", r(n).isChallengePending ? "admin-auth-card__logo--accent" : ""])
|
|
1182
1182
|
}, [
|
|
1183
1183
|
e.brandLogo && !r(n).isChallengePending ? (s(), c("img", {
|
|
1184
1184
|
key: 0,
|
|
@@ -1201,13 +1201,13 @@ const Q = Z("admin-auth", () => {
|
|
|
1201
1201
|
], 64))
|
|
1202
1202
|
])
|
|
1203
1203
|
]),
|
|
1204
|
-
r(n).isChallengePending ? (s(),
|
|
1204
|
+
r(n).isChallengePending ? (s(), w(Jn, {
|
|
1205
1205
|
key: 0,
|
|
1206
1206
|
onSuccess: u[0] || (u[0] = () => {
|
|
1207
1207
|
}),
|
|
1208
1208
|
onCancel: u[1] || (u[1] = () => {
|
|
1209
1209
|
})
|
|
1210
|
-
})) : (s(),
|
|
1210
|
+
})) : (s(), w(Gn, {
|
|
1211
1211
|
key: 1,
|
|
1212
1212
|
"forgot-url": e.forgotUrl,
|
|
1213
1213
|
"sso-link-label": e.ssoLinkLabel,
|
|
@@ -1220,8 +1220,8 @@ const Q = Z("admin-auth", () => {
|
|
|
1220
1220
|
}, 8, ["class"])
|
|
1221
1221
|
]));
|
|
1222
1222
|
}
|
|
1223
|
-
}), Ke = { page: 1, per_page: 20, total: 0, last_page: 1 }, ia =
|
|
1224
|
-
const e = E(null), t = E([]), n = E({ ...Ke }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()),
|
|
1223
|
+
}), Ke = { page: 1, per_page: 20, total: 0, last_page: 1 }, ia = ee("admin-resource-index", () => {
|
|
1224
|
+
const e = E(null), t = E([]), n = E({ ...Ke }), o = E(!1), a = E(null), l = E(""), i = E({}), u = E(null), f = E("asc"), v = E(/* @__PURE__ */ new Set()), b = p(() => !o.value && a.value === null && t.value.length === 0), S = p(() => v.value.size), R = p(() => v.value.size > 0), A = p(() => a.value !== null), _ = p(() => v.value.size === 0 || t.value.length === 0 ? "none" : t.value.every((z) => v.value.has(g(z))) ? "all" : "mixed");
|
|
1225
1225
|
function g(N) {
|
|
1226
1226
|
return N.id ?? N.key ?? "";
|
|
1227
1227
|
}
|
|
@@ -1231,7 +1231,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1231
1231
|
function P() {
|
|
1232
1232
|
t.value = [], n.value = { ...Ke }, o.value = !1, a.value = null, l.value = "", i.value = {}, u.value = null, f.value = "asc", v.value = /* @__PURE__ */ new Set();
|
|
1233
1233
|
}
|
|
1234
|
-
function
|
|
1234
|
+
function k(N = {}) {
|
|
1235
1235
|
const z = {
|
|
1236
1236
|
page: N.page ?? n.value.page,
|
|
1237
1237
|
per_page: N.per_page ?? n.value.per_page
|
|
@@ -1249,7 +1249,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1249
1249
|
throw new Error("useResourceIndexStore.load() called before setSlug()");
|
|
1250
1250
|
o.value = !0, a.value = null;
|
|
1251
1251
|
try {
|
|
1252
|
-
const z = W(), _e =
|
|
1252
|
+
const z = W(), _e = k(N), fe = await z.get(`/resources/${e.value}/list`, { params: _e });
|
|
1253
1253
|
t.value = fe.data, n.value = fe.meta;
|
|
1254
1254
|
} catch (z) {
|
|
1255
1255
|
throw a.value = z instanceof Error ? z : new Error(String(z)), z;
|
|
@@ -1288,7 +1288,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1288
1288
|
for (const z of t.value) N.add(g(z));
|
|
1289
1289
|
v.value = N;
|
|
1290
1290
|
}
|
|
1291
|
-
function
|
|
1291
|
+
function te() {
|
|
1292
1292
|
v.value = /* @__PURE__ */ new Set();
|
|
1293
1293
|
}
|
|
1294
1294
|
function vt(N) {
|
|
@@ -1307,7 +1307,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1307
1307
|
sortDirection: f,
|
|
1308
1308
|
selection: v,
|
|
1309
1309
|
// getters
|
|
1310
|
-
isEmpty:
|
|
1310
|
+
isEmpty: b,
|
|
1311
1311
|
hasError: A,
|
|
1312
1312
|
hasSelection: R,
|
|
1313
1313
|
selectedCount: S,
|
|
@@ -1324,7 +1324,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1324
1324
|
setPage: O,
|
|
1325
1325
|
toggleRow: G,
|
|
1326
1326
|
toggleAllOnPage: K,
|
|
1327
|
-
clearSelection:
|
|
1327
|
+
clearSelection: te,
|
|
1328
1328
|
isSelected: vt,
|
|
1329
1329
|
rowId: g
|
|
1330
1330
|
};
|
|
@@ -1360,8 +1360,8 @@ const Q = Z("admin-auth", () => {
|
|
|
1360
1360
|
setup(e, { emit: t }) {
|
|
1361
1361
|
const n = e, o = t, a = ia(), l = ae(), i = p(() => l.getResource(n.slug)), u = p(
|
|
1362
1362
|
() => n.title ?? i.value?.label ?? n.slug
|
|
1363
|
-
), f = p(() => (i.value?.columns ?? []).map((
|
|
1364
|
-
const y =
|
|
1363
|
+
), f = p(() => (i.value?.columns ?? []).map((k) => {
|
|
1364
|
+
const y = k;
|
|
1365
1365
|
return {
|
|
1366
1366
|
key: String(y.key ?? y.name ?? ""),
|
|
1367
1367
|
label: String(y.label ?? y.name ?? ""),
|
|
@@ -1369,7 +1369,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1369
1369
|
align: y.align ?? "left",
|
|
1370
1370
|
width: typeof y.width == "string" ? y.width : void 0
|
|
1371
1371
|
};
|
|
1372
|
-
}).filter((
|
|
1372
|
+
}).filter((k) => k.key)), v = p(() => {
|
|
1373
1373
|
const P = a.meta.total;
|
|
1374
1374
|
return P === 0 ? "" : `${a.items.length} из ${P}`;
|
|
1375
1375
|
});
|
|
@@ -1377,14 +1377,14 @@ const Q = Z("admin-auth", () => {
|
|
|
1377
1377
|
a.setSlug(n.slug), l.manifest === null && await l.load().catch(() => {
|
|
1378
1378
|
}), await a.load().catch(() => {
|
|
1379
1379
|
});
|
|
1380
|
-
}),
|
|
1380
|
+
}), Z(
|
|
1381
1381
|
() => n.slug,
|
|
1382
|
-
async (P,
|
|
1383
|
-
P !==
|
|
1382
|
+
async (P, k) => {
|
|
1383
|
+
P !== k && (a.setSlug(P), await a.load().catch(() => {
|
|
1384
1384
|
}));
|
|
1385
1385
|
}
|
|
1386
1386
|
);
|
|
1387
|
-
async function
|
|
1387
|
+
async function b(P) {
|
|
1388
1388
|
await a.toggleSort(P);
|
|
1389
1389
|
}
|
|
1390
1390
|
async function S(P) {
|
|
@@ -1406,7 +1406,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1406
1406
|
await a.load().catch(() => {
|
|
1407
1407
|
});
|
|
1408
1408
|
}
|
|
1409
|
-
return (P,
|
|
1409
|
+
return (P, k) => (s(), c("section", oa, [
|
|
1410
1410
|
d("header", ra, [
|
|
1411
1411
|
d("div", ua, [
|
|
1412
1412
|
d("h1", da, h(u.value), 1),
|
|
@@ -1424,10 +1424,10 @@ const Q = Z("admin-auth", () => {
|
|
|
1424
1424
|
]),
|
|
1425
1425
|
d("div", ma, [
|
|
1426
1426
|
H(P.$slots, "actions"),
|
|
1427
|
-
e.createRouteName ? (s(),
|
|
1427
|
+
e.createRouteName ? (s(), w(r(B), {
|
|
1428
1428
|
key: 0,
|
|
1429
1429
|
variant: "primary",
|
|
1430
|
-
onClick:
|
|
1430
|
+
onClick: k[0] || (k[0] = (y) => P.$router.push({ name: e.createRouteName }))
|
|
1431
1431
|
}, {
|
|
1432
1432
|
default: m(() => [
|
|
1433
1433
|
C(h(e.createLabel), 1)
|
|
@@ -1438,16 +1438,16 @@ const Q = Z("admin-auth", () => {
|
|
|
1438
1438
|
]),
|
|
1439
1439
|
r(a).hasSelection ? (s(), c("div", fa, [
|
|
1440
1440
|
d("span", va, [
|
|
1441
|
-
|
|
1441
|
+
k[8] || (k[8] = C(" Выбрано ", -1)),
|
|
1442
1442
|
d("b", null, h(r(a).selectedCount), 1)
|
|
1443
1443
|
]),
|
|
1444
|
-
|
|
1444
|
+
k[14] || (k[14] = d("span", { class: "admin-bulk-toolbar__divider" }, null, -1)),
|
|
1445
1445
|
x(r(B), {
|
|
1446
1446
|
size: "sm",
|
|
1447
1447
|
variant: "ghost",
|
|
1448
|
-
onClick:
|
|
1448
|
+
onClick: k[1] || (k[1] = (y) => g("publish"))
|
|
1449
1449
|
}, {
|
|
1450
|
-
default: m(() => [...
|
|
1450
|
+
default: m(() => [...k[9] || (k[9] = [
|
|
1451
1451
|
C("Опубликовать", -1)
|
|
1452
1452
|
])]),
|
|
1453
1453
|
_: 1
|
|
@@ -1455,9 +1455,9 @@ const Q = Z("admin-auth", () => {
|
|
|
1455
1455
|
x(r(B), {
|
|
1456
1456
|
size: "sm",
|
|
1457
1457
|
variant: "ghost",
|
|
1458
|
-
onClick:
|
|
1458
|
+
onClick: k[2] || (k[2] = (y) => g("archive"))
|
|
1459
1459
|
}, {
|
|
1460
|
-
default: m(() => [...
|
|
1460
|
+
default: m(() => [...k[10] || (k[10] = [
|
|
1461
1461
|
C("Архивировать", -1)
|
|
1462
1462
|
])]),
|
|
1463
1463
|
_: 1
|
|
@@ -1465,9 +1465,9 @@ const Q = Z("admin-auth", () => {
|
|
|
1465
1465
|
x(r(B), {
|
|
1466
1466
|
size: "sm",
|
|
1467
1467
|
variant: "ghost",
|
|
1468
|
-
onClick:
|
|
1468
|
+
onClick: k[3] || (k[3] = (y) => g("export"))
|
|
1469
1469
|
}, {
|
|
1470
|
-
default: m(() => [...
|
|
1470
|
+
default: m(() => [...k[11] || (k[11] = [
|
|
1471
1471
|
C("Экспорт", -1)
|
|
1472
1472
|
])]),
|
|
1473
1473
|
_: 1
|
|
@@ -1475,20 +1475,20 @@ const Q = Z("admin-auth", () => {
|
|
|
1475
1475
|
x(r(B), {
|
|
1476
1476
|
size: "sm",
|
|
1477
1477
|
variant: "danger",
|
|
1478
|
-
onClick:
|
|
1478
|
+
onClick: k[4] || (k[4] = (y) => g("delete"))
|
|
1479
1479
|
}, {
|
|
1480
|
-
default: m(() => [...
|
|
1480
|
+
default: m(() => [...k[12] || (k[12] = [
|
|
1481
1481
|
C("Удалить", -1)
|
|
1482
1482
|
])]),
|
|
1483
1483
|
_: 1
|
|
1484
1484
|
}),
|
|
1485
|
-
|
|
1485
|
+
k[15] || (k[15] = d("span", { class: "admin-bulk-toolbar__spacer" }, null, -1)),
|
|
1486
1486
|
x(r(B), {
|
|
1487
1487
|
size: "sm",
|
|
1488
1488
|
variant: "ghost",
|
|
1489
1489
|
onClick: r(a).clearSelection
|
|
1490
1490
|
}, {
|
|
1491
|
-
default: m(() => [...
|
|
1491
|
+
default: m(() => [...k[13] || (k[13] = [
|
|
1492
1492
|
C(" Снять выделение ", -1)
|
|
1493
1493
|
])]),
|
|
1494
1494
|
_: 1
|
|
@@ -1499,20 +1499,20 @@ const Q = Z("admin-auth", () => {
|
|
|
1499
1499
|
type: "search",
|
|
1500
1500
|
placeholder: "Поиск…",
|
|
1501
1501
|
class: "admin-filter-bar__search",
|
|
1502
|
-
onKeydown:
|
|
1502
|
+
onKeydown: k[5] || (k[5] = yt((y) => r(a).setSearch(y.target.value), ["enter"]))
|
|
1503
1503
|
}, null, 40, ga),
|
|
1504
1504
|
H(P.$slots, "filters", {
|
|
1505
1505
|
filters: r(a).filters,
|
|
1506
1506
|
setFilter: r(a).setFilter
|
|
1507
1507
|
}),
|
|
1508
|
-
|
|
1509
|
-
Object.keys(r(a).filters).length > 0 ? (s(),
|
|
1508
|
+
k[17] || (k[17] = d("span", { class: "admin-filter-bar__spacer" }, null, -1)),
|
|
1509
|
+
Object.keys(r(a).filters).length > 0 ? (s(), w(r(B), {
|
|
1510
1510
|
key: 0,
|
|
1511
1511
|
size: "sm",
|
|
1512
1512
|
variant: "ghost",
|
|
1513
1513
|
onClick: r(a).clearFilters
|
|
1514
1514
|
}, {
|
|
1515
|
-
default: m(() => [...
|
|
1515
|
+
default: m(() => [...k[16] || (k[16] = [
|
|
1516
1516
|
C(" Сброс ", -1)
|
|
1517
1517
|
])]),
|
|
1518
1518
|
_: 1
|
|
@@ -1523,7 +1523,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1523
1523
|
key: y,
|
|
1524
1524
|
height: "40px"
|
|
1525
1525
|
})), 64))
|
|
1526
|
-
])) : r(a).hasError ? (s(),
|
|
1526
|
+
])) : r(a).hasError ? (s(), w(r(Ft), {
|
|
1527
1527
|
key: 3,
|
|
1528
1528
|
title: "Не удалось загрузить данные",
|
|
1529
1529
|
description: r(a).error?.message ?? "Попробуйте обновить страницу.",
|
|
@@ -1534,24 +1534,24 @@ const Q = Z("admin-auth", () => {
|
|
|
1534
1534
|
variant: "primary",
|
|
1535
1535
|
onClick: U
|
|
1536
1536
|
}, {
|
|
1537
|
-
default: m(() => [...
|
|
1537
|
+
default: m(() => [...k[18] || (k[18] = [
|
|
1538
1538
|
C("Обновить", -1)
|
|
1539
1539
|
])]),
|
|
1540
1540
|
_: 1
|
|
1541
1541
|
})
|
|
1542
1542
|
]),
|
|
1543
1543
|
_: 1
|
|
1544
|
-
}, 8, ["description"])) : r(a).isEmpty ? (s(),
|
|
1544
|
+
}, 8, ["description"])) : r(a).isEmpty ? (s(), w(r(Lt), {
|
|
1545
1545
|
key: 4,
|
|
1546
1546
|
title: "Пока пусто",
|
|
1547
1547
|
description: "Создайте первую запись или измените фильтры.",
|
|
1548
1548
|
class: "admin-resource-index__state"
|
|
1549
1549
|
}, {
|
|
1550
1550
|
actions: m(() => [
|
|
1551
|
-
e.createRouteName ? (s(),
|
|
1551
|
+
e.createRouteName ? (s(), w(r(B), {
|
|
1552
1552
|
key: 0,
|
|
1553
1553
|
variant: "primary",
|
|
1554
|
-
onClick:
|
|
1554
|
+
onClick: k[6] || (k[6] = (y) => P.$router.push({ name: e.createRouteName }))
|
|
1555
1555
|
}, {
|
|
1556
1556
|
default: m(() => [
|
|
1557
1557
|
C(h(e.createLabel), 1)
|
|
@@ -1574,7 +1574,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1574
1574
|
data: r(a).items,
|
|
1575
1575
|
"sort-key": r(a).sortKey ?? "",
|
|
1576
1576
|
"sort-direction": r(a).sortDirection,
|
|
1577
|
-
"onUpdate:sortKey":
|
|
1577
|
+
"onUpdate:sortKey": b
|
|
1578
1578
|
}, Me({ _: 2 }, [
|
|
1579
1579
|
I(f.value, (y) => ({
|
|
1580
1580
|
name: `cell-${y.key}`,
|
|
@@ -1588,7 +1588,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1588
1588
|
d("div", ba, [
|
|
1589
1589
|
(s(!0), c(T, null, I(r(a).items, (y) => (s(), c("div", {
|
|
1590
1590
|
key: String(r(a).rowId(y)),
|
|
1591
|
-
class:
|
|
1591
|
+
class: J([
|
|
1592
1592
|
"admin-resource-index__row",
|
|
1593
1593
|
{ "admin-resource-index__row--selected": r(a).isSelected(r(a).rowId(y)) }
|
|
1594
1594
|
]),
|
|
@@ -1598,7 +1598,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1598
1598
|
"model-value": r(a).isSelected(r(a).rowId(y)),
|
|
1599
1599
|
"aria-label": `Строка ${r(a).rowId(y)}`,
|
|
1600
1600
|
"onUpdate:modelValue": ($) => A(r(a).rowId(y)),
|
|
1601
|
-
onClick:
|
|
1601
|
+
onClick: k[7] || (k[7] = Ie(() => {
|
|
1602
1602
|
}, ["stop"]))
|
|
1603
1603
|
}, null, 8, ["model-value", "aria-label", "onUpdate:modelValue"])
|
|
1604
1604
|
], 10, ka))), 128))
|
|
@@ -1614,8 +1614,8 @@ const Q = Z("admin-auth", () => {
|
|
|
1614
1614
|
])) : F("", !0)
|
|
1615
1615
|
]));
|
|
1616
1616
|
}
|
|
1617
|
-
}), dt =
|
|
1618
|
-
const e = E(null), t = E("create"), n = E(null), o = E({}), a = E({}), l = E({}), i = E(!1), u = E(!1), f = E(!1), v = E(null),
|
|
1617
|
+
}), dt = ee("admin-resource-form", () => {
|
|
1618
|
+
const e = E(null), t = E("create"), n = E(null), o = E({}), a = E({}), l = E({}), i = E(!1), u = E(!1), f = E(!1), v = E(null), b = p(() => t.value === "create"), S = p(() => t.value === "edit"), R = p(() => t.value === "view"), A = p(() => v.value !== null), _ = p(() => {
|
|
1619
1619
|
const M = o.value, O = a.value, G = /* @__PURE__ */ new Set([...Object.keys(M), ...Object.keys(O)]);
|
|
1620
1620
|
for (const K of G)
|
|
1621
1621
|
if (!Object.is(M[K], O[K]))
|
|
@@ -1635,13 +1635,13 @@ const Q = Z("admin-auth", () => {
|
|
|
1635
1635
|
function P(M, O = {}) {
|
|
1636
1636
|
e.value = M, t.value = "create", n.value = null, g(o.value, O), g(a.value, O), l.value = {}, v.value = null;
|
|
1637
1637
|
}
|
|
1638
|
-
async function
|
|
1638
|
+
async function k(M, O, G = "edit") {
|
|
1639
1639
|
e.value = M, t.value = G, n.value = O, i.value = !0, v.value = null, l.value = {};
|
|
1640
1640
|
try {
|
|
1641
|
-
const
|
|
1641
|
+
const te = await W().get(`/resources/${M}/read`, {
|
|
1642
1642
|
params: { "filter[id]": O }
|
|
1643
1643
|
});
|
|
1644
|
-
g(o.value,
|
|
1644
|
+
g(o.value, te.data), g(a.value, te.data);
|
|
1645
1645
|
} catch (K) {
|
|
1646
1646
|
throw v.value = K instanceof Error ? K : new Error(String(K)), K;
|
|
1647
1647
|
} finally {
|
|
@@ -1665,10 +1665,10 @@ const Q = Z("admin-auth", () => {
|
|
|
1665
1665
|
if (u.value) throw new Error("Already saving");
|
|
1666
1666
|
u.value = !0, v.value = null, l.value = {};
|
|
1667
1667
|
try {
|
|
1668
|
-
const M = W(), O = t.value === "create" ? `/resources/${e.value}/create` : `/resources/${e.value}/update`, G = t.value === "create" ? o.value : { id: n.value, ...o.value },
|
|
1669
|
-
return n.value =
|
|
1668
|
+
const M = W(), O = t.value === "create" ? `/resources/${e.value}/create` : `/resources/${e.value}/update`, G = t.value === "create" ? o.value : { id: n.value, ...o.value }, te = (await M.post(O, G)).id;
|
|
1669
|
+
return n.value = te, g(a.value, { ...o.value }), t.value = "edit", te;
|
|
1670
1670
|
} catch (M) {
|
|
1671
|
-
throw M instanceof Re ? l.value = { ...M.fields } : (M instanceof
|
|
1671
|
+
throw M instanceof Re ? l.value = { ...M.fields } : (M instanceof Q || M instanceof Error) && (v.value = M), M;
|
|
1672
1672
|
} finally {
|
|
1673
1673
|
u.value = !1;
|
|
1674
1674
|
}
|
|
@@ -1699,7 +1699,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1699
1699
|
deleting: f,
|
|
1700
1700
|
error: v,
|
|
1701
1701
|
// getters
|
|
1702
|
-
isCreate:
|
|
1702
|
+
isCreate: b,
|
|
1703
1703
|
isEdit: S,
|
|
1704
1704
|
isView: R,
|
|
1705
1705
|
isDirty: _,
|
|
@@ -1707,7 +1707,7 @@ const Q = Z("admin-auth", () => {
|
|
|
1707
1707
|
// actions
|
|
1708
1708
|
reset: U,
|
|
1709
1709
|
prepareCreate: P,
|
|
1710
|
-
load:
|
|
1710
|
+
load: k,
|
|
1711
1711
|
setField: y,
|
|
1712
1712
|
setErrors: $,
|
|
1713
1713
|
clearErrors: V,
|
|
@@ -1753,7 +1753,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1753
1753
|
name: {}
|
|
1754
1754
|
},
|
|
1755
1755
|
setup(e) {
|
|
1756
|
-
return (t, n) => (s(),
|
|
1756
|
+
return (t, n) => (s(), w(r(Y), { variant: "warning" }, {
|
|
1757
1757
|
title: m(() => [
|
|
1758
1758
|
C("Неизвестный тип поля: " + h(e.type), 1)
|
|
1759
1759
|
]),
|
|
@@ -1778,7 +1778,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1778
1778
|
const { type: a, ...l } = t.node;
|
|
1779
1779
|
return l;
|
|
1780
1780
|
});
|
|
1781
|
-
return (a, l) => n.value ? (s(),
|
|
1781
|
+
return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w(mt, {
|
|
1782
1782
|
key: 1,
|
|
1783
1783
|
type: e.node.type,
|
|
1784
1784
|
name: e.node.name
|
|
@@ -1803,10 +1803,10 @@ const mt = /* @__PURE__ */ L({
|
|
|
1803
1803
|
const { type: l, kind: i, ...u } = t.node;
|
|
1804
1804
|
return u;
|
|
1805
1805
|
}), a = p(() => t.node);
|
|
1806
|
-
return (l, i) => n.value.kind === "layout" && n.value.component ? (s(),
|
|
1806
|
+
return (l, i) => n.value.kind === "layout" && n.value.component ? (s(), w(oe(n.value.component), Ce(Se({ key: 0 }, o.value)), null, 16)) : n.value.kind === "field" ? (s(), w(ft, {
|
|
1807
1807
|
key: 1,
|
|
1808
1808
|
node: a.value
|
|
1809
|
-
}, null, 8, ["node"])) : (s(),
|
|
1809
|
+
}, null, 8, ["node"])) : (s(), w(mt, {
|
|
1810
1810
|
key: 2,
|
|
1811
1811
|
type: e.node.type,
|
|
1812
1812
|
name: e.node.name
|
|
@@ -1827,7 +1827,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1827
1827
|
},
|
|
1828
1828
|
setup(e) {
|
|
1829
1829
|
const t = e, n = dt(), o = ae(), a = ne(), l = it(n.state, n.errors);
|
|
1830
|
-
|
|
1830
|
+
Z(
|
|
1831
1831
|
() => n.errors,
|
|
1832
1832
|
(_) => {
|
|
1833
1833
|
l.setErrors({ ..._ });
|
|
@@ -1838,7 +1838,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1838
1838
|
), f = p(() => n.isCreate ? `Создать: ${i.value?.label ?? t.slug}` : `${i.value?.label ?? t.slug}: запись #${t.id}`), v = p(() => {
|
|
1839
1839
|
const _ = n.state.status;
|
|
1840
1840
|
return typeof _ == "string" ? _ : null;
|
|
1841
|
-
}),
|
|
1841
|
+
}), b = p(() => {
|
|
1842
1842
|
switch (v.value) {
|
|
1843
1843
|
case "published":
|
|
1844
1844
|
return "success";
|
|
@@ -1855,7 +1855,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1855
1855
|
o.manifest === null && await o.load().catch(() => {
|
|
1856
1856
|
}), t.id !== null && t.id !== void 0 ? await n.load(t.slug, t.id, "edit").catch(() => {
|
|
1857
1857
|
}) : n.prepareCreate(t.slug);
|
|
1858
|
-
}),
|
|
1858
|
+
}), Z(
|
|
1859
1859
|
() => [t.slug, t.id],
|
|
1860
1860
|
async ([_, g]) => {
|
|
1861
1861
|
g != null ? await n.load(_, g, "edit").catch(() => {
|
|
@@ -1890,9 +1890,9 @@ const mt = /* @__PURE__ */ L({
|
|
|
1890
1890
|
onClick: A
|
|
1891
1891
|
}, "← Назад"),
|
|
1892
1892
|
d("h1", Ra, h(f.value), 1),
|
|
1893
|
-
v.value ? (s(),
|
|
1893
|
+
v.value ? (s(), w(r(ze), {
|
|
1894
1894
|
key: 0,
|
|
1895
|
-
variant:
|
|
1895
|
+
variant: b.value
|
|
1896
1896
|
}, {
|
|
1897
1897
|
default: m(() => [
|
|
1898
1898
|
C(h(v.value), 1)
|
|
@@ -1911,7 +1911,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1911
1911
|
])]),
|
|
1912
1912
|
_: 1
|
|
1913
1913
|
}, 8, ["disabled"]),
|
|
1914
|
-
r(n).isEdit ? (s(),
|
|
1914
|
+
r(n).isEdit ? (s(), w(r(B), {
|
|
1915
1915
|
key: 0,
|
|
1916
1916
|
variant: "danger",
|
|
1917
1917
|
disabled: r(n).saving || r(n).deleting,
|
|
@@ -1936,7 +1936,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1936
1936
|
}, 8, ["disabled", "loading"])
|
|
1937
1937
|
])
|
|
1938
1938
|
]),
|
|
1939
|
-
r(n).hasError ? (s(),
|
|
1939
|
+
r(n).hasError ? (s(), w(r(Y), {
|
|
1940
1940
|
key: 0,
|
|
1941
1941
|
variant: "danger",
|
|
1942
1942
|
class: "admin-resource-form__alert",
|
|
@@ -1952,13 +1952,13 @@ const mt = /* @__PURE__ */ L({
|
|
|
1952
1952
|
key: U,
|
|
1953
1953
|
height: "40px"
|
|
1954
1954
|
})), 64))
|
|
1955
|
-
])) : (s(),
|
|
1955
|
+
])) : (s(), w(r(q), {
|
|
1956
1956
|
key: 2,
|
|
1957
1957
|
padding: "md",
|
|
1958
1958
|
class: "admin-resource-form__body"
|
|
1959
1959
|
}, {
|
|
1960
1960
|
default: m(() => [
|
|
1961
|
-
(s(!0), c(T, null, I(u.value, (U, P) => (s(),
|
|
1961
|
+
(s(!0), c(T, null, I(u.value, (U, P) => (s(), w(he, {
|
|
1962
1962
|
key: P,
|
|
1963
1963
|
node: U
|
|
1964
1964
|
}, null, 8, ["node"]))), 128))
|
|
@@ -1999,7 +1999,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
1999
1999
|
name: {}
|
|
2000
2000
|
},
|
|
2001
2001
|
setup(e) {
|
|
2002
|
-
return (t, n) => (s(),
|
|
2002
|
+
return (t, n) => (s(), w(r(Y), { variant: "warning" }, {
|
|
2003
2003
|
title: m(() => [
|
|
2004
2004
|
C("Неизвестный тип infolist-entry: " + h(e.type), 1)
|
|
2005
2005
|
]),
|
|
@@ -2050,23 +2050,23 @@ const mt = /* @__PURE__ */ L({
|
|
|
2050
2050
|
return n.has(t.node.type) ? { kind: "layout", layoutType: t.node.type } : { kind: "unknown" };
|
|
2051
2051
|
if (n.has(t.node.type))
|
|
2052
2052
|
return { kind: "layout", layoutType: t.node.type };
|
|
2053
|
-
const
|
|
2054
|
-
return
|
|
2053
|
+
const b = Xe(t.node.type);
|
|
2054
|
+
return b ? { kind: "entry", component: b } : { kind: "unknown" };
|
|
2055
2055
|
}), a = p(() => {
|
|
2056
|
-
const { type:
|
|
2056
|
+
const { type: b, kind: S, items: R, ...A } = t.node;
|
|
2057
2057
|
return A;
|
|
2058
2058
|
}), l = p(
|
|
2059
2059
|
() => t.node.items ?? []
|
|
2060
2060
|
), i = p(() => t.node.title ?? null), u = p(
|
|
2061
2061
|
() => t.node.description ?? null
|
|
2062
2062
|
), f = p(() => {
|
|
2063
|
-
const
|
|
2064
|
-
return typeof
|
|
2063
|
+
const b = t.node.active;
|
|
2064
|
+
return typeof b == "number" ? b : 0;
|
|
2065
2065
|
}), v = p(() => t.node.items ?? []);
|
|
2066
|
-
return (
|
|
2066
|
+
return (b, S) => {
|
|
2067
2067
|
const R = Ze("InfolistRenderer", !0);
|
|
2068
|
-
return o.value.kind === "entry" ? (s(),
|
|
2069
|
-
(s(!0), c(T, null, I(l.value, (A, _) => (s(),
|
|
2068
|
+
return o.value.kind === "entry" ? (s(), w(oe(o.value.component), Ce(Se({ key: 0 }, a.value)), null, 16)) : o.value.kind === "layout" && o.value.layoutType === "rows" ? (s(), c("div", Ta, [
|
|
2069
|
+
(s(!0), c(T, null, I(l.value, (A, _) => (s(), w(R, {
|
|
2070
2070
|
key: _,
|
|
2071
2071
|
node: A
|
|
2072
2072
|
}, null, 8, ["node"]))), 128))
|
|
@@ -2086,7 +2086,7 @@ const mt = /* @__PURE__ */ L({
|
|
|
2086
2086
|
u.value ? (s(), c("p", Va, h(u.value), 1)) : F("", !0)
|
|
2087
2087
|
])) : F("", !0),
|
|
2088
2088
|
d("div", za, [
|
|
2089
|
-
(s(!0), c(T, null, I(l.value, (A, _) => (s(),
|
|
2089
|
+
(s(!0), c(T, null, I(l.value, (A, _) => (s(), w(R, {
|
|
2090
2090
|
key: _,
|
|
2091
2091
|
node: A
|
|
2092
2092
|
}, null, 8, ["node"]))), 128))
|
|
@@ -2095,19 +2095,19 @@ const mt = /* @__PURE__ */ L({
|
|
|
2095
2095
|
d("ul", Da, [
|
|
2096
2096
|
(s(!0), c(T, null, I(v.value, (A, _) => (s(), c("li", {
|
|
2097
2097
|
key: A.key ?? _,
|
|
2098
|
-
class:
|
|
2098
|
+
class: J([
|
|
2099
2099
|
"admin-infolist-tabs__tab",
|
|
2100
2100
|
{ "admin-infolist-tabs__tab--active": _ === f.value }
|
|
2101
2101
|
])
|
|
2102
2102
|
}, h(A.label), 3))), 128))
|
|
2103
2103
|
]),
|
|
2104
2104
|
d("div", Oa, [
|
|
2105
|
-
(s(!0), c(T, null, I(v.value[f.value]?.items ?? [], (A, _) => (s(),
|
|
2105
|
+
(s(!0), c(T, null, I(v.value[f.value]?.items ?? [], (A, _) => (s(), w(R, {
|
|
2106
2106
|
key: _,
|
|
2107
2107
|
node: A
|
|
2108
2108
|
}, null, 8, ["node"]))), 128))
|
|
2109
2109
|
])
|
|
2110
|
-
])) : (s(),
|
|
2110
|
+
])) : (s(), w(Pa, {
|
|
2111
2111
|
key: 5,
|
|
2112
2112
|
type: e.node.type,
|
|
2113
2113
|
name: e.node.name
|
|
@@ -2150,10 +2150,10 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2150
2150
|
o.manifest === null && await o.load().catch(() => {
|
|
2151
2151
|
}), await n.load(t.slug, t.id, "view").catch(() => {
|
|
2152
2152
|
});
|
|
2153
|
-
}),
|
|
2153
|
+
}), Z(
|
|
2154
2154
|
() => [t.slug, t.id],
|
|
2155
|
-
async ([
|
|
2156
|
-
await n.load(
|
|
2155
|
+
async ([b, S]) => {
|
|
2156
|
+
await n.load(b, S, "view").catch(() => {
|
|
2157
2157
|
});
|
|
2158
2158
|
}
|
|
2159
2159
|
);
|
|
@@ -2171,7 +2171,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2171
2171
|
}), n.hasError || a.push({ name: t.indexRouteName }).catch(() => {
|
|
2172
2172
|
}));
|
|
2173
2173
|
}
|
|
2174
|
-
return (
|
|
2174
|
+
return (b, S) => (s(), c("section", Ka, [
|
|
2175
2175
|
d("header", Ga, [
|
|
2176
2176
|
d("div", Ha, [
|
|
2177
2177
|
d("h1", Xa, h(u.value), 1)
|
|
@@ -2199,7 +2199,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2199
2199
|
}, 8, ["loading", "disabled"])
|
|
2200
2200
|
])
|
|
2201
2201
|
]),
|
|
2202
|
-
r(n).hasError ? (s(),
|
|
2202
|
+
r(n).hasError ? (s(), w(r(Y), {
|
|
2203
2203
|
key: 0,
|
|
2204
2204
|
variant: "danger",
|
|
2205
2205
|
class: "admin-resource-view__alert",
|
|
@@ -2215,13 +2215,13 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2215
2215
|
key: R,
|
|
2216
2216
|
height: "24px"
|
|
2217
2217
|
})), 64))
|
|
2218
|
-
])) : (s(),
|
|
2218
|
+
])) : (s(), w(r(q), {
|
|
2219
2219
|
key: 2,
|
|
2220
2220
|
padding: "md",
|
|
2221
2221
|
class: "admin-resource-view__body"
|
|
2222
2222
|
}, {
|
|
2223
2223
|
default: m(() => [
|
|
2224
|
-
(s(!0), c(T, null, I(i.value, (R, A) => (s(),
|
|
2224
|
+
(s(!0), c(T, null, I(i.value, (R, A) => (s(), w(Wa, {
|
|
2225
2225
|
key: A,
|
|
2226
2226
|
node: R
|
|
2227
2227
|
}, null, 8, ["node"]))), 128))
|
|
@@ -2248,27 +2248,27 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2248
2248
|
},
|
|
2249
2249
|
emits: ["update:section", "avatar-replace", "two-factor-disable", "two-factor-regenerate", "save"],
|
|
2250
2250
|
setup(e, { emit: t }) {
|
|
2251
|
-
const n = e, o = t, a =
|
|
2251
|
+
const n = e, o = t, a = X(), l = qe(), i = De(), u = [
|
|
2252
2252
|
{ id: "general", label: "Основное", icon: "user" },
|
|
2253
2253
|
{ id: "security", label: "Безопасность", icon: "shield" },
|
|
2254
2254
|
{ id: "tokens", label: "API токены", icon: "key" },
|
|
2255
2255
|
{ id: "sessions", label: "Сессии", icon: "monitor" }
|
|
2256
2256
|
], f = E(n.section);
|
|
2257
|
-
function v(
|
|
2258
|
-
f.value =
|
|
2257
|
+
function v(k) {
|
|
2258
|
+
f.value = k, o("update:section", k);
|
|
2259
2259
|
}
|
|
2260
|
-
const
|
|
2260
|
+
const b = E({
|
|
2261
2261
|
name: a.user?.name ?? "",
|
|
2262
2262
|
email: a.user?.email ?? "",
|
|
2263
2263
|
locale: i.current,
|
|
2264
2264
|
theme: l.current
|
|
2265
2265
|
}), S = p(
|
|
2266
|
-
() => i.available.map((
|
|
2266
|
+
() => i.available.map((k) => ({ value: k, label: k.toUpperCase() }))
|
|
2267
2267
|
), R = p(
|
|
2268
|
-
() => l.available.map((
|
|
2268
|
+
() => l.available.map((k) => ({ value: k, label: k === "dark" ? "Тёмная" : k === "light" ? "Светлая" : k }))
|
|
2269
2269
|
);
|
|
2270
2270
|
function A() {
|
|
2271
|
-
o("save", { ...
|
|
2271
|
+
o("save", { ...b.value });
|
|
2272
2272
|
}
|
|
2273
2273
|
function _() {
|
|
2274
2274
|
o("avatar-replace");
|
|
@@ -2280,7 +2280,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2280
2280
|
o("two-factor-regenerate");
|
|
2281
2281
|
}
|
|
2282
2282
|
const P = p(() => !!a.user?.twoFactorEnabled);
|
|
2283
|
-
return (
|
|
2283
|
+
return (k, y) => (s(), c("section", Za, [
|
|
2284
2284
|
d("header", el, [
|
|
2285
2285
|
d("div", tl, [
|
|
2286
2286
|
d("h1", nl, h(e.title), 1),
|
|
@@ -2292,7 +2292,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2292
2292
|
(s(), c(T, null, I(u, ($) => d("button", {
|
|
2293
2293
|
key: $.id,
|
|
2294
2294
|
type: "button",
|
|
2295
|
-
class:
|
|
2295
|
+
class: J([
|
|
2296
2296
|
"admin-profile__nav-item",
|
|
2297
2297
|
{ "admin-profile__nav-item--active": f.value === $.id }
|
|
2298
2298
|
]),
|
|
@@ -2306,7 +2306,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2306
2306
|
], 10, il)), 64))
|
|
2307
2307
|
]),
|
|
2308
2308
|
d("div", rl, [
|
|
2309
|
-
f.value === "general" ? (s(),
|
|
2309
|
+
f.value === "general" ? (s(), w(r(q), {
|
|
2310
2310
|
key: 0,
|
|
2311
2311
|
padding: "md"
|
|
2312
2312
|
}, {
|
|
@@ -2338,27 +2338,27 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2338
2338
|
]),
|
|
2339
2339
|
d("div", fl, [
|
|
2340
2340
|
x(r(ie), {
|
|
2341
|
-
modelValue:
|
|
2342
|
-
"onUpdate:modelValue": y[0] || (y[0] = ($) =>
|
|
2341
|
+
modelValue: b.value.name,
|
|
2342
|
+
"onUpdate:modelValue": y[0] || (y[0] = ($) => b.value.name = $),
|
|
2343
2343
|
label: "Имя",
|
|
2344
2344
|
name: "name"
|
|
2345
2345
|
}, null, 8, ["modelValue"]),
|
|
2346
2346
|
x(r(ie), {
|
|
2347
|
-
modelValue:
|
|
2348
|
-
"onUpdate:modelValue": y[1] || (y[1] = ($) =>
|
|
2347
|
+
modelValue: b.value.email,
|
|
2348
|
+
"onUpdate:modelValue": y[1] || (y[1] = ($) => b.value.email = $),
|
|
2349
2349
|
label: "Email",
|
|
2350
2350
|
type: "email",
|
|
2351
2351
|
name: "email"
|
|
2352
2352
|
}, null, 8, ["modelValue"]),
|
|
2353
2353
|
x(r($e), {
|
|
2354
|
-
modelValue:
|
|
2355
|
-
"onUpdate:modelValue": y[2] || (y[2] = ($) =>
|
|
2354
|
+
modelValue: b.value.locale,
|
|
2355
|
+
"onUpdate:modelValue": y[2] || (y[2] = ($) => b.value.locale = $),
|
|
2356
2356
|
options: S.value,
|
|
2357
2357
|
label: "Язык"
|
|
2358
2358
|
}, null, 8, ["modelValue", "options"]),
|
|
2359
2359
|
x(r($e), {
|
|
2360
|
-
modelValue:
|
|
2361
|
-
"onUpdate:modelValue": y[3] || (y[3] = ($) =>
|
|
2360
|
+
modelValue: b.value.theme,
|
|
2361
|
+
"onUpdate:modelValue": y[3] || (y[3] = ($) => b.value.theme = $),
|
|
2362
2362
|
options: R.value,
|
|
2363
2363
|
label: "Тема"
|
|
2364
2364
|
}, null, 8, ["modelValue", "options"])
|
|
@@ -2376,7 +2376,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2376
2376
|
])
|
|
2377
2377
|
]),
|
|
2378
2378
|
_: 1
|
|
2379
|
-
})) : f.value === "security" ? (s(),
|
|
2379
|
+
})) : f.value === "security" ? (s(), w(r(q), {
|
|
2380
2380
|
key: 1,
|
|
2381
2381
|
padding: "md"
|
|
2382
2382
|
}, {
|
|
@@ -2415,7 +2415,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2415
2415
|
])]),
|
|
2416
2416
|
_: 1
|
|
2417
2417
|
})
|
|
2418
|
-
], 64)) : H(
|
|
2418
|
+
], 64)) : H(k.$slots, "enable-2fa", { key: 1 }, () => [
|
|
2419
2419
|
x(r(B), {
|
|
2420
2420
|
variant: "primary",
|
|
2421
2421
|
disabled: ""
|
|
@@ -2429,7 +2429,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2429
2429
|
])
|
|
2430
2430
|
]),
|
|
2431
2431
|
_: 3
|
|
2432
|
-
})) : H(
|
|
2432
|
+
})) : H(k.$slots, f.value, {
|
|
2433
2433
|
key: 2,
|
|
2434
2434
|
section: f.value
|
|
2435
2435
|
}, () => [
|
|
@@ -2450,7 +2450,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2450
2450
|
type: {}
|
|
2451
2451
|
},
|
|
2452
2452
|
setup(e) {
|
|
2453
|
-
return (t, n) => (s(),
|
|
2453
|
+
return (t, n) => (s(), w(r(Y), { variant: "warning" }, {
|
|
2454
2454
|
title: m(() => [
|
|
2455
2455
|
C("Неизвестный widget-тип: " + h(e.type), 1)
|
|
2456
2456
|
]),
|
|
@@ -2472,7 +2472,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2472
2472
|
const { type: a, span: l, ...i } = t.node;
|
|
2473
2473
|
return i;
|
|
2474
2474
|
});
|
|
2475
|
-
return (a, l) => n.value ? (s(),
|
|
2475
|
+
return (a, l) => n.value ? (s(), w(oe(n.value), Ce(Se({ key: 0 }, o.value)), null, 16)) : (s(), w($l, {
|
|
2476
2476
|
key: 1,
|
|
2477
2477
|
type: e.node.type
|
|
2478
2478
|
}, null, 8, ["type"]));
|
|
@@ -2509,12 +2509,12 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2509
2509
|
])
|
|
2510
2510
|
]),
|
|
2511
2511
|
d("div", Fl, [
|
|
2512
|
-
(s(!0), c(T, null, I(a.value, (
|
|
2512
|
+
(s(!0), c(T, null, I(a.value, (b, S) => (s(), c("div", {
|
|
2513
2513
|
key: S,
|
|
2514
2514
|
class: "admin-dashboard__cell",
|
|
2515
|
-
style: Ae({ gridColumn: `span ${u(
|
|
2515
|
+
style: Ae({ gridColumn: `span ${u(b)} / span ${u(b)}` })
|
|
2516
2516
|
}, [
|
|
2517
|
-
x(xl, { node:
|
|
2517
|
+
x(xl, { node: b }, null, 8, ["node"])
|
|
2518
2518
|
], 4))), 128))
|
|
2519
2519
|
])
|
|
2520
2520
|
]));
|
|
@@ -2539,7 +2539,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2539
2539
|
warning: "warning",
|
|
2540
2540
|
info: "info"
|
|
2541
2541
|
}, o = p(() => n[t.tone]);
|
|
2542
|
-
return (a, l) => (s(),
|
|
2542
|
+
return (a, l) => (s(), w(r(be), {
|
|
2543
2543
|
title: e.title,
|
|
2544
2544
|
value: e.value,
|
|
2545
2545
|
prefix: e.prefix,
|
|
@@ -2579,7 +2579,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2579
2579
|
heightPct: i.value / n.value * 100
|
|
2580
2580
|
}));
|
|
2581
2581
|
});
|
|
2582
|
-
return (a, l) => (s(),
|
|
2582
|
+
return (a, l) => (s(), w(r(q), {
|
|
2583
2583
|
padding: "md",
|
|
2584
2584
|
class: "admin-widget"
|
|
2585
2585
|
}, {
|
|
@@ -2636,16 +2636,16 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2636
2636
|
return t.data.map((i, u) => {
|
|
2637
2637
|
const f = l / o.value * 2 * Math.PI;
|
|
2638
2638
|
l += i.value;
|
|
2639
|
-
const v = l / o.value * 2 * Math.PI,
|
|
2639
|
+
const v = l / o.value * 2 * Math.PI, b = 50, S = 60, R = 60, A = S + b * Math.cos(f - Math.PI / 2), _ = R + b * Math.sin(f - Math.PI / 2), g = S + b * Math.cos(v - Math.PI / 2), U = R + b * Math.sin(v - Math.PI / 2), P = v - f > Math.PI ? 1 : 0, k = t.data.length === 1 ? `M ${S - b} ${R} a ${b} ${b} 0 1 0 ${b * 2} 0 a ${b} ${b} 0 1 0 ${-b * 2} 0` : `M ${S} ${R} L ${A} ${_} A ${b} ${b} 0 ${P} 1 ${g} ${U} Z`;
|
|
2640
2640
|
return {
|
|
2641
2641
|
...i,
|
|
2642
|
-
path:
|
|
2642
|
+
path: k,
|
|
2643
2643
|
color: i.color ?? n[u % n.length],
|
|
2644
2644
|
pct: (i.value / o.value * 100).toFixed(1)
|
|
2645
2645
|
};
|
|
2646
2646
|
});
|
|
2647
2647
|
});
|
|
2648
|
-
return (l, i) => (s(),
|
|
2648
|
+
return (l, i) => (s(), w(r(q), {
|
|
2649
2649
|
padding: "md",
|
|
2650
2650
|
class: "admin-widget admin-donut-widget"
|
|
2651
2651
|
}, {
|
|
@@ -2701,7 +2701,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2701
2701
|
emptyText: { default: "Нет данных" }
|
|
2702
2702
|
},
|
|
2703
2703
|
setup(e) {
|
|
2704
|
-
return (t, n) => (s(),
|
|
2704
|
+
return (t, n) => (s(), w(r(q), {
|
|
2705
2705
|
padding: "md",
|
|
2706
2706
|
class: "admin-widget"
|
|
2707
2707
|
}, {
|
|
@@ -2731,7 +2731,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2731
2731
|
gap: { default: 2 }
|
|
2732
2732
|
},
|
|
2733
2733
|
setup(e) {
|
|
2734
|
-
return (t, n) => (s(),
|
|
2734
|
+
return (t, n) => (s(), w(r(q), {
|
|
2735
2735
|
padding: "md",
|
|
2736
2736
|
class: "admin-widget"
|
|
2737
2737
|
}, {
|
|
@@ -2774,7 +2774,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2774
2774
|
warning: "warning",
|
|
2775
2775
|
negative: "danger"
|
|
2776
2776
|
}, o = p(() => n[t.tone]);
|
|
2777
|
-
return (a, l) => (s(),
|
|
2777
|
+
return (a, l) => (s(), w(r(q), {
|
|
2778
2778
|
padding: "md",
|
|
2779
2779
|
class: "admin-widget"
|
|
2780
2780
|
}, {
|
|
@@ -2810,7 +2810,7 @@ const Ka = { class: "admin-page admin-resource-view" }, Ga = { class: "admin-pag
|
|
|
2810
2810
|
content: {}
|
|
2811
2811
|
},
|
|
2812
2812
|
setup(e) {
|
|
2813
|
-
return (t, n) => (s(),
|
|
2813
|
+
return (t, n) => (s(), w(r(q), {
|
|
2814
2814
|
padding: "md",
|
|
2815
2815
|
class: "admin-widget"
|
|
2816
2816
|
}, {
|
|
@@ -3025,7 +3025,7 @@ function ks(e = {}) {
|
|
|
3025
3025
|
return (a) => {
|
|
3026
3026
|
if (a.name === t)
|
|
3027
3027
|
return !0;
|
|
3028
|
-
const l =
|
|
3028
|
+
const l = X();
|
|
3029
3029
|
if (a.meta?.requiresAuth === !0 && !l.isAuthenticated)
|
|
3030
3030
|
return {
|
|
3031
3031
|
name: t,
|
|
@@ -3128,7 +3128,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3128
3128
|
function l(i) {
|
|
3129
3129
|
n.setField(t.name, i);
|
|
3130
3130
|
}
|
|
3131
|
-
return (i, u) => (s(),
|
|
3131
|
+
return (i, u) => (s(), w(r(ie), {
|
|
3132
3132
|
"model-value": o.value,
|
|
3133
3133
|
type: e.inputType,
|
|
3134
3134
|
label: e.label ?? void 0,
|
|
@@ -3160,7 +3160,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3160
3160
|
function l(i) {
|
|
3161
3161
|
n.setField(t.name, i);
|
|
3162
3162
|
}
|
|
3163
|
-
return (i, u) => (s(),
|
|
3163
|
+
return (i, u) => (s(), w(r(ge), {
|
|
3164
3164
|
label: e.label ?? void 0,
|
|
3165
3165
|
hint: e.help ?? void 0,
|
|
3166
3166
|
error: a.value,
|
|
@@ -3203,7 +3203,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3203
3203
|
function l(i) {
|
|
3204
3204
|
n.setField(t.name, i);
|
|
3205
3205
|
}
|
|
3206
|
-
return (i, u) => (s(),
|
|
3206
|
+
return (i, u) => (s(), w(r(ge), {
|
|
3207
3207
|
label: e.label ?? void 0,
|
|
3208
3208
|
hint: e.help ?? void 0,
|
|
3209
3209
|
error: a.value,
|
|
@@ -3248,7 +3248,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3248
3248
|
function l(i) {
|
|
3249
3249
|
n.setField(t.name, i);
|
|
3250
3250
|
}
|
|
3251
|
-
return (i, u) => (s(),
|
|
3251
|
+
return (i, u) => (s(), w(r(ge), {
|
|
3252
3252
|
label: e.label ?? void 0,
|
|
3253
3253
|
hint: e.help ?? void 0,
|
|
3254
3254
|
error: a.value,
|
|
@@ -3285,7 +3285,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3285
3285
|
function l(i) {
|
|
3286
3286
|
n.setField(t.name, i);
|
|
3287
3287
|
}
|
|
3288
|
-
return (i, u) => (s(),
|
|
3288
|
+
return (i, u) => (s(), w(r(ge), {
|
|
3289
3289
|
label: e.label ?? void 0,
|
|
3290
3290
|
hint: e.help ?? void 0,
|
|
3291
3291
|
error: a.value,
|
|
@@ -3330,7 +3330,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3330
3330
|
function l(i) {
|
|
3331
3331
|
n.setField(t.name, i);
|
|
3332
3332
|
}
|
|
3333
|
-
return (i, u) => (s(),
|
|
3333
|
+
return (i, u) => (s(), w(r(ge), {
|
|
3334
3334
|
label: e.label ?? void 0,
|
|
3335
3335
|
hint: e.help ?? void 0,
|
|
3336
3336
|
error: a.value,
|
|
@@ -3357,13 +3357,13 @@ const se = /* @__PURE__ */ L({
|
|
|
3357
3357
|
gap: { default: "var(--uid-space-md)" }
|
|
3358
3358
|
},
|
|
3359
3359
|
setup(e) {
|
|
3360
|
-
return (t, n) => (s(),
|
|
3360
|
+
return (t, n) => (s(), w(r(Vt), {
|
|
3361
3361
|
direction: "column",
|
|
3362
3362
|
gap: e.gap,
|
|
3363
3363
|
align: "stretch"
|
|
3364
3364
|
}, {
|
|
3365
3365
|
default: m(() => [
|
|
3366
|
-
(s(!0), c(T, null, I(e.items, (o, a) => (s(),
|
|
3366
|
+
(s(!0), c(T, null, I(e.items, (o, a) => (s(), w(he, {
|
|
3367
3367
|
key: a,
|
|
3368
3368
|
node: o
|
|
3369
3369
|
}, null, 8, ["node"]))), 128))
|
|
@@ -3384,7 +3384,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3384
3384
|
const l = a.span;
|
|
3385
3385
|
return typeof l == "number" && l > 0 ? Math.min(l, t.cols) : n.value;
|
|
3386
3386
|
}
|
|
3387
|
-
return (a, l) => (s(),
|
|
3387
|
+
return (a, l) => (s(), w(r(zt), {
|
|
3388
3388
|
cols: e.cols,
|
|
3389
3389
|
gap: e.gap
|
|
3390
3390
|
}, {
|
|
@@ -3417,7 +3417,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3417
3417
|
description: { default: null }
|
|
3418
3418
|
},
|
|
3419
3419
|
setup(e) {
|
|
3420
|
-
return (t, n) => (s(),
|
|
3420
|
+
return (t, n) => (s(), w(r(q), {
|
|
3421
3421
|
padding: "md",
|
|
3422
3422
|
class: "admin-section"
|
|
3423
3423
|
}, {
|
|
@@ -3427,7 +3427,7 @@ const se = /* @__PURE__ */ L({
|
|
|
3427
3427
|
e.description ? (s(), c("p", Ps, h(e.description), 1)) : F("", !0)
|
|
3428
3428
|
])) : F("", !0),
|
|
3429
3429
|
d("div", Ts, [
|
|
3430
|
-
(s(!0), c(T, null, I(e.items, (o, a) => (s(),
|
|
3430
|
+
(s(!0), c(T, null, I(e.items, (o, a) => (s(), w(he, {
|
|
3431
3431
|
key: a,
|
|
3432
3432
|
node: o
|
|
3433
3433
|
}, null, 8, ["node"]))), 128))
|
|
@@ -3452,14 +3452,14 @@ const se = /* @__PURE__ */ L({
|
|
|
3452
3452
|
function i(u) {
|
|
3453
3453
|
l.value = u, o("update:active", u);
|
|
3454
3454
|
}
|
|
3455
|
-
return (u, f) => (s(),
|
|
3455
|
+
return (u, f) => (s(), w(r(lt), {
|
|
3456
3456
|
"model-value": l.value,
|
|
3457
3457
|
"onUpdate:modelValue": i
|
|
3458
3458
|
}, {
|
|
3459
3459
|
list: m(() => [
|
|
3460
|
-
(s(!0), c(T, null, I(e.items, (v,
|
|
3461
|
-
key: a(v,
|
|
3462
|
-
value: a(v,
|
|
3460
|
+
(s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(ke), {
|
|
3461
|
+
key: a(v, b),
|
|
3462
|
+
value: a(v, b)
|
|
3463
3463
|
}, {
|
|
3464
3464
|
default: m(() => [
|
|
3465
3465
|
C(h(v.label), 1)
|
|
@@ -3468,12 +3468,12 @@ const se = /* @__PURE__ */ L({
|
|
|
3468
3468
|
}, 1032, ["value"]))), 128))
|
|
3469
3469
|
]),
|
|
3470
3470
|
default: m(() => [
|
|
3471
|
-
(s(!0), c(T, null, I(e.items, (v,
|
|
3472
|
-
key: `panel-${a(v,
|
|
3473
|
-
value: a(v,
|
|
3471
|
+
(s(!0), c(T, null, I(e.items, (v, b) => (s(), w(r(st), {
|
|
3472
|
+
key: `panel-${a(v, b)}`,
|
|
3473
|
+
value: a(v, b)
|
|
3474
3474
|
}, {
|
|
3475
3475
|
default: m(() => [
|
|
3476
|
-
(s(!0), c(T, null, I(v.items, (S, R) => (s(),
|
|
3476
|
+
(s(!0), c(T, null, I(v.items, (S, R) => (s(), w(he, {
|
|
3477
3477
|
key: R,
|
|
3478
3478
|
node: S
|
|
3479
3479
|
}, null, 8, ["node"]))), 128))
|
|
@@ -3527,7 +3527,7 @@ const Is = /* @__PURE__ */ L({
|
|
|
3527
3527
|
return a === void 0 && n && t.name && (a = n[t.name]), a == null || a === "" ? t.placeholder : String(a);
|
|
3528
3528
|
});
|
|
3529
3529
|
return (a, l) => (s(), c("span", {
|
|
3530
|
-
class:
|
|
3530
|
+
class: J(["admin-infolist-text", e.mono ? "admin-infolist-text--mono" : ""])
|
|
3531
3531
|
}, h(o.value), 3));
|
|
3532
3532
|
}
|
|
3533
3533
|
}), Bs = {
|
|
@@ -3547,7 +3547,7 @@ const Is = /* @__PURE__ */ L({
|
|
|
3547
3547
|
let l = t.value;
|
|
3548
3548
|
return l === void 0 && n && t.name && (l = n[t.name]), l == null ? "" : String(l);
|
|
3549
3549
|
}), a = p(() => t.variant ? t.variant : t.map[o.value] ?? "default");
|
|
3550
|
-
return (l, i) => o.value ? (s(),
|
|
3550
|
+
return (l, i) => o.value ? (s(), w(r(ze), {
|
|
3551
3551
|
key: 0,
|
|
3552
3552
|
variant: a.value
|
|
3553
3553
|
}, {
|
|
@@ -3574,7 +3574,7 @@ const Is = /* @__PURE__ */ L({
|
|
|
3574
3574
|
return i === void 0 && n && t.name && (i = n[t.name]), !!i;
|
|
3575
3575
|
}), a = p(() => o.value ? t.trueLabel : t.falseLabel), l = p(() => o.value ? t.trueIcon : t.falseIcon);
|
|
3576
3576
|
return (i, u) => (s(), c("span", {
|
|
3577
|
-
class:
|
|
3577
|
+
class: J(["admin-infolist-icon", o.value ? "admin-infolist-icon--on" : "admin-infolist-icon--off"])
|
|
3578
3578
|
}, [
|
|
3579
3579
|
d("span", {
|
|
3580
3580
|
class: "admin-infolist-icon__glyph",
|
|
@@ -3601,13 +3601,13 @@ const Is = /* @__PURE__ */ L({
|
|
|
3601
3601
|
function a(l) {
|
|
3602
3602
|
return l == null ? "—" : typeof l == "object" ? JSON.stringify(l) : String(l);
|
|
3603
3603
|
}
|
|
3604
|
-
return (l, i) => o.value.length > 0 ? (s(),
|
|
3604
|
+
return (l, i) => o.value.length > 0 ? (s(), w(r(qt), {
|
|
3605
3605
|
key: 0,
|
|
3606
3606
|
direction: "vertical",
|
|
3607
3607
|
columns: 1
|
|
3608
3608
|
}, {
|
|
3609
3609
|
default: m(() => [
|
|
3610
|
-
(s(!0), c(T, null, I(o.value, ([u, f]) => (s(),
|
|
3610
|
+
(s(!0), c(T, null, I(o.value, ([u, f]) => (s(), w(r(Dt), {
|
|
3611
3611
|
key: u,
|
|
3612
3612
|
label: u
|
|
3613
3613
|
}, {
|
|
@@ -3637,7 +3637,7 @@ function to(e, t = {}) {
|
|
|
3637
3637
|
});
|
|
3638
3638
|
Ht(a);
|
|
3639
3639
|
const l = kt(kn), i = $t();
|
|
3640
|
-
l.use(i),
|
|
3640
|
+
l.use(i), X().hydrate(e), De().hydrate(e), qe().hydrate(e), Oe().hydrate(e), Ns(), us(), Ws();
|
|
3641
3641
|
const u = Cs({
|
|
3642
3642
|
base: o,
|
|
3643
3643
|
history: t.router?.history ?? tt(o),
|
|
@@ -3659,11 +3659,22 @@ function to(e, t = {}) {
|
|
|
3659
3659
|
authGuard: t.router?.authGuard,
|
|
3660
3660
|
titleGuard: t.router?.titleGuard
|
|
3661
3661
|
});
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3662
|
+
if (l.use(u), !t.skipManifestLoad) {
|
|
3663
|
+
const f = ae(), v = X(), b = () => {
|
|
3664
|
+
f.load().then((S) => {
|
|
3665
|
+
u.replaceManifestRoutes(S);
|
|
3666
|
+
}).catch((S) => {
|
|
3667
|
+
typeof console < "u" && console.error("[laravel-admin] manifest load failed:", S);
|
|
3668
|
+
});
|
|
3669
|
+
};
|
|
3670
|
+
v.isAuthenticated && b(), Z(
|
|
3671
|
+
() => v.user,
|
|
3672
|
+
(S, R) => {
|
|
3673
|
+
S && !R && b();
|
|
3674
|
+
}
|
|
3675
|
+
);
|
|
3676
|
+
}
|
|
3677
|
+
return t.onAppCreated?.(l), { app: l, router: u, client: a };
|
|
3667
3678
|
}
|
|
3668
3679
|
function js(e) {
|
|
3669
3680
|
if (!e) return null;
|
|
@@ -3723,7 +3734,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3723
3734
|
function l(g) {
|
|
3724
3735
|
o("update:open", g);
|
|
3725
3736
|
}
|
|
3726
|
-
|
|
3737
|
+
Z(
|
|
3727
3738
|
() => n.open,
|
|
3728
3739
|
async (g) => {
|
|
3729
3740
|
g && await a.load(a.lastFilter ?? "all", 1).catch(() => {
|
|
@@ -3744,7 +3755,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3744
3755
|
o("select-item", g), g.read_at || await a.markAsRead(g.id).catch(() => {
|
|
3745
3756
|
});
|
|
3746
3757
|
}
|
|
3747
|
-
async function
|
|
3758
|
+
async function b(g, U) {
|
|
3748
3759
|
U.stopPropagation(), await a.destroy(g.id).catch(() => {
|
|
3749
3760
|
});
|
|
3750
3761
|
}
|
|
@@ -3760,15 +3771,15 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3760
3771
|
}
|
|
3761
3772
|
function _(g) {
|
|
3762
3773
|
if (!g) return "";
|
|
3763
|
-
const U = new Date(g), P = Math.max(0, Date.now() - U.getTime()),
|
|
3764
|
-
if (
|
|
3765
|
-
if (
|
|
3766
|
-
const y = Math.floor(
|
|
3774
|
+
const U = new Date(g), P = Math.max(0, Date.now() - U.getTime()), k = Math.floor(P / 6e4);
|
|
3775
|
+
if (k < 1) return "только что";
|
|
3776
|
+
if (k < 60) return `${k} мин назад`;
|
|
3777
|
+
const y = Math.floor(k / 60);
|
|
3767
3778
|
if (y < 24) return `${y} ч назад`;
|
|
3768
3779
|
const $ = Math.floor(y / 24);
|
|
3769
3780
|
return $ < 7 ? `${$} д назад` : U.toLocaleDateString("ru-RU");
|
|
3770
3781
|
}
|
|
3771
|
-
return (g, U) => (s(),
|
|
3782
|
+
return (g, U) => (s(), w(r(Ot), {
|
|
3772
3783
|
"model-value": e.open,
|
|
3773
3784
|
side: "right",
|
|
3774
3785
|
width: "400px",
|
|
@@ -3781,7 +3792,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3781
3792
|
U[0] || (U[0] = C(" Уведомления ", -1)),
|
|
3782
3793
|
r(a).unreadCount > 0 ? (s(), c("span", Xs, " (" + h(r(a).unreadCount) + ") ", 1)) : F("", !0)
|
|
3783
3794
|
]),
|
|
3784
|
-
r(a).unreadCount > 0 ? (s(),
|
|
3795
|
+
r(a).unreadCount > 0 ? (s(), w(r(B), {
|
|
3785
3796
|
key: 0,
|
|
3786
3797
|
variant: "ghost",
|
|
3787
3798
|
size: "sm",
|
|
@@ -3830,31 +3841,31 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3830
3841
|
default: m(() => [
|
|
3831
3842
|
d("ul", Js, [
|
|
3832
3843
|
r(a).loading ? (s(), c("li", Ys, " Загрузка… ")) : r(a).items.length === 0 ? (s(), c("li", Qs, " Нет уведомлений ")) : F("", !0),
|
|
3833
|
-
(s(!0), c(T, null, I(r(a).items, (
|
|
3834
|
-
key:
|
|
3835
|
-
class:
|
|
3844
|
+
(s(!0), c(T, null, I(r(a).items, (k) => (s(), c("li", {
|
|
3845
|
+
key: k.id,
|
|
3846
|
+
class: J([
|
|
3836
3847
|
"admin-notifs__item",
|
|
3837
|
-
`admin-notifs__item--${S(
|
|
3838
|
-
{ "admin-notifs__item--unread": !
|
|
3848
|
+
`admin-notifs__item--${S(k)}`,
|
|
3849
|
+
{ "admin-notifs__item--unread": !k.read_at }
|
|
3839
3850
|
]),
|
|
3840
|
-
onClick: (y) => v(
|
|
3851
|
+
onClick: (y) => v(k)
|
|
3841
3852
|
}, [
|
|
3842
3853
|
d("span", {
|
|
3843
3854
|
class: "admin-notifs__icon",
|
|
3844
|
-
"data-kind": S(
|
|
3855
|
+
"data-kind": S(k)
|
|
3845
3856
|
}, null, 8, ei),
|
|
3846
3857
|
d("div", ti, [
|
|
3847
3858
|
d("div", ni, [
|
|
3848
|
-
|
|
3849
|
-
d("span", si, h(_(
|
|
3859
|
+
k.read_at ? (s(), c("span", li, h(R(k)), 1)) : (s(), c("strong", ai, h(R(k)), 1)),
|
|
3860
|
+
d("span", si, h(_(k.created_at)), 1)
|
|
3850
3861
|
]),
|
|
3851
|
-
A(
|
|
3862
|
+
A(k) ? (s(), c("p", ii, h(A(k)), 1)) : F("", !0)
|
|
3852
3863
|
]),
|
|
3853
3864
|
d("button", {
|
|
3854
3865
|
type: "button",
|
|
3855
3866
|
class: "admin-notifs__close",
|
|
3856
3867
|
"aria-label": "Удалить",
|
|
3857
|
-
onClick: (y) =>
|
|
3868
|
+
onClick: (y) => b(k, y)
|
|
3858
3869
|
}, " × ", 8, oi)
|
|
3859
3870
|
], 10, Zs))), 128))
|
|
3860
3871
|
])
|
|
@@ -3909,14 +3920,14 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3909
3920
|
function v(y) {
|
|
3910
3921
|
f.value = y, y.length > 0 && o("file-uploaded", y[0].file);
|
|
3911
3922
|
}
|
|
3912
|
-
const
|
|
3923
|
+
const b = E({});
|
|
3913
3924
|
function S(y, $) {
|
|
3914
|
-
|
|
3925
|
+
b.value[y] = $ === null || $ === "" ? null : String($);
|
|
3915
3926
|
}
|
|
3916
3927
|
function R() {
|
|
3917
3928
|
return n.headers.map((y) => ({
|
|
3918
3929
|
source: y.key,
|
|
3919
|
-
target:
|
|
3930
|
+
target: b.value[y.key] ?? null
|
|
3920
3931
|
}));
|
|
3921
3932
|
}
|
|
3922
3933
|
function A() {
|
|
@@ -3930,7 +3941,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3930
3941
|
case 0:
|
|
3931
3942
|
return f.value.length > 0;
|
|
3932
3943
|
case 1:
|
|
3933
|
-
return Object.values(
|
|
3944
|
+
return Object.values(b.value).some((y) => y !== null);
|
|
3934
3945
|
case 2:
|
|
3935
3946
|
return !0;
|
|
3936
3947
|
default:
|
|
@@ -3940,7 +3951,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3940
3951
|
{ value: "", label: "Не импортировать" },
|
|
3941
3952
|
...n.fieldOptions
|
|
3942
3953
|
]);
|
|
3943
|
-
function
|
|
3954
|
+
function k() {
|
|
3944
3955
|
o("cancel");
|
|
3945
3956
|
}
|
|
3946
3957
|
return (y, $) => (s(), c("section", ri, [
|
|
@@ -3951,7 +3962,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3951
3962
|
d("div", mi, [
|
|
3952
3963
|
x(r(B), {
|
|
3953
3964
|
variant: "ghost",
|
|
3954
|
-
onClick:
|
|
3965
|
+
onClick: k
|
|
3955
3966
|
}, {
|
|
3956
3967
|
default: m(() => [...$[2] || ($[2] = [
|
|
3957
3968
|
C("Отмена", -1)
|
|
@@ -3964,7 +3975,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3964
3975
|
steps: a,
|
|
3965
3976
|
current: i.value
|
|
3966
3977
|
}, null, 8, ["current"]),
|
|
3967
|
-
i.value === 0 ? (s(),
|
|
3978
|
+
i.value === 0 ? (s(), w(r(q), {
|
|
3968
3979
|
key: 0,
|
|
3969
3980
|
padding: "md",
|
|
3970
3981
|
class: "admin-import-wizard__card"
|
|
@@ -3985,7 +3996,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
3985
3996
|
}, null, 8, ["model-value"])
|
|
3986
3997
|
]),
|
|
3987
3998
|
_: 1
|
|
3988
|
-
})) : i.value === 1 ? (s(),
|
|
3999
|
+
})) : i.value === 1 ? (s(), w(r(q), {
|
|
3989
4000
|
key: 1,
|
|
3990
4001
|
padding: "md",
|
|
3991
4002
|
class: "admin-import-wizard__card"
|
|
@@ -4006,7 +4017,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4006
4017
|
]),
|
|
4007
4018
|
$[4] || ($[4] = d("span", { class: "admin-import-wizard__map-arrow" }, "→", -1)),
|
|
4008
4019
|
x(r($e), {
|
|
4009
|
-
"model-value":
|
|
4020
|
+
"model-value": b.value[V.key] ?? "",
|
|
4010
4021
|
options: P.value,
|
|
4011
4022
|
placeholder: "Не импортировать",
|
|
4012
4023
|
"onUpdate:modelValue": (j) => S(V.key, j)
|
|
@@ -4015,7 +4026,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4015
4026
|
]))
|
|
4016
4027
|
]),
|
|
4017
4028
|
_: 1
|
|
4018
|
-
})) : i.value === 2 ? (s(),
|
|
4029
|
+
})) : i.value === 2 ? (s(), w(r(q), {
|
|
4019
4030
|
key: 2,
|
|
4020
4031
|
padding: "md",
|
|
4021
4032
|
class: "admin-import-wizard__card"
|
|
@@ -4025,7 +4036,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4025
4036
|
$[6] || ($[6] = d("h3", null, "3. Предпросмотр", -1)),
|
|
4026
4037
|
d("p", null, "Первые " + h(e.preview.length) + " строк перед импортом", 1)
|
|
4027
4038
|
]),
|
|
4028
|
-
e.preview.some((V) => V.__warning) ? (s(),
|
|
4039
|
+
e.preview.some((V) => V.__warning) ? (s(), w(r(Y), {
|
|
4029
4040
|
key: 0,
|
|
4030
4041
|
variant: "warning",
|
|
4031
4042
|
style: { "margin-bottom": "var(--uid-space-md)" }
|
|
@@ -4035,14 +4046,14 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4035
4046
|
])]),
|
|
4036
4047
|
_: 1
|
|
4037
4048
|
})) : F("", !0),
|
|
4038
|
-
e.previewColumns.length > 0 ? (s(),
|
|
4049
|
+
e.previewColumns.length > 0 ? (s(), w(r(Ve), {
|
|
4039
4050
|
key: 1,
|
|
4040
4051
|
columns: e.previewColumns,
|
|
4041
4052
|
data: e.preview
|
|
4042
4053
|
}, null, 8, ["columns", "data"])) : (s(), c("div", _i, " Host не передал previewColumns/preview. "))
|
|
4043
4054
|
]),
|
|
4044
4055
|
_: 1
|
|
4045
|
-
})) : (s(),
|
|
4056
|
+
})) : (s(), w(r(q), {
|
|
4046
4057
|
key: 3,
|
|
4047
4058
|
padding: "md",
|
|
4048
4059
|
class: "admin-import-wizard__card"
|
|
@@ -4052,7 +4063,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4052
4063
|
d("h3", null, "4. Импорт")
|
|
4053
4064
|
], -1)),
|
|
4054
4065
|
e.progress ? (s(), c(T, { key: 1 }, [
|
|
4055
|
-
e.progress.total > 0 ? (s(),
|
|
4066
|
+
e.progress.total > 0 ? (s(), w(r(Kt), {
|
|
4056
4067
|
key: 0,
|
|
4057
4068
|
"model-value": e.progress.created + e.progress.updated + e.progress.errors,
|
|
4058
4069
|
max: e.progress.total
|
|
@@ -4079,7 +4090,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4079
4090
|
_: 1
|
|
4080
4091
|
})),
|
|
4081
4092
|
d("footer", ki, [
|
|
4082
|
-
g.value ? (s(),
|
|
4093
|
+
g.value ? (s(), w(r(B), {
|
|
4083
4094
|
key: 0,
|
|
4084
4095
|
variant: "ghost",
|
|
4085
4096
|
onClick: $[0] || ($[0] = (V) => u(i.value - 1))
|
|
@@ -4090,7 +4101,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4090
4101
|
_: 1
|
|
4091
4102
|
})) : F("", !0),
|
|
4092
4103
|
$[13] || ($[13] = d("span", { style: { flex: "1" } }, null, -1)),
|
|
4093
|
-
i.value === 0 ? (s(),
|
|
4104
|
+
i.value === 0 ? (s(), w(r(B), {
|
|
4094
4105
|
key: 1,
|
|
4095
4106
|
variant: "primary",
|
|
4096
4107
|
disabled: !U.value,
|
|
@@ -4100,7 +4111,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4100
4111
|
C(" Далее ", -1)
|
|
4101
4112
|
])]),
|
|
4102
4113
|
_: 1
|
|
4103
|
-
}, 8, ["disabled"])) : i.value === 1 ? (s(),
|
|
4114
|
+
}, 8, ["disabled"])) : i.value === 1 ? (s(), w(r(B), {
|
|
4104
4115
|
key: 2,
|
|
4105
4116
|
variant: "primary",
|
|
4106
4117
|
disabled: !U.value,
|
|
@@ -4110,7 +4121,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4110
4121
|
C(" Подтвердить mapping ", -1)
|
|
4111
4122
|
])]),
|
|
4112
4123
|
_: 1
|
|
4113
|
-
}, 8, ["disabled"])) : i.value === 2 ? (s(),
|
|
4124
|
+
}, 8, ["disabled"])) : i.value === 2 ? (s(), w(r(B), {
|
|
4114
4125
|
key: 3,
|
|
4115
4126
|
variant: "primary",
|
|
4116
4127
|
onClick: _
|
|
@@ -4203,7 +4214,7 @@ const Gs = { class: "admin-notifs__hd" }, Hs = { class: "admin-notifs__title" },
|
|
|
4203
4214
|
}, [
|
|
4204
4215
|
d("h2", $i, h(u), 1),
|
|
4205
4216
|
d("div", xi, [
|
|
4206
|
-
(s(!0), c(T, null, I(i, (f) => (s(),
|
|
4217
|
+
(s(!0), c(T, null, I(i, (f) => (s(), w(r(q), {
|
|
4207
4218
|
key: f.type + f.title,
|
|
4208
4219
|
padding: "md",
|
|
4209
4220
|
class: "admin-gallery__card"
|
|
@@ -4232,7 +4243,7 @@ export {
|
|
|
4232
4243
|
bn as AdminShell,
|
|
4233
4244
|
hn as AdminSidebar,
|
|
4234
4245
|
rn as AdminTopBar,
|
|
4235
|
-
|
|
4246
|
+
Q as ApiError,
|
|
4236
4247
|
Vs as BadgeEntry,
|
|
4237
4248
|
Vl as BarChartWidget,
|
|
4238
4249
|
Je as CheckboxField,
|
|
@@ -4331,7 +4342,7 @@ export {
|
|
|
4331
4342
|
je as toApiError,
|
|
4332
4343
|
uo as tryUseFormState,
|
|
4333
4344
|
Fe as tryUseRecord,
|
|
4334
|
-
|
|
4345
|
+
X as useAuthStore,
|
|
4335
4346
|
re as useFormState,
|
|
4336
4347
|
De as useLocaleStore,
|
|
4337
4348
|
ae as useManifestStore,
|