@oktis-works/admin 0.9.0 → 0.11.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/dist/client/_astro/{ActivityWidget.l4_oR6gt.js → ActivityWidget.D9s4FOLp.js} +2 -2
- package/dist/client/_astro/{AdminBar.DbabNkmU.js → AdminBar.D8078Gqs.js} +2 -2
- package/dist/client/_astro/ApiKeysManager.BjyxI6JT.js +1 -0
- package/dist/client/_astro/{AtGlanceWidget.C7QyOZnc.js → AtGlanceWidget.DBA3mEnF.js} +3 -3
- package/dist/client/_astro/BaseLayout.DAkzjMTq.css +1 -0
- package/dist/client/_astro/{ContentEditor.BCy7gbzZ.js → ContentEditor.BZ8aLcGz.js} +2 -2
- package/dist/client/_astro/ContentEditor.CfQqsa6r.js +1 -0
- package/dist/client/_astro/ContentTypeWorkspace.BhHFc6WZ.js +1 -0
- package/dist/client/_astro/DashboardHome.BXIUgb4u.js +1 -0
- package/dist/client/_astro/DashboardLayout.DM3iZCrw.css +1 -0
- package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.PXk2X2qN.js → DashboardLayout.astro_astro_type_script_index_0_lang.Cc0PvXrs.js} +1 -1
- package/dist/client/_astro/FbIcon.CUNS6rpP.js +1 -0
- package/dist/client/_astro/FieldGroupEditor.CVoPJ2v-.js +69 -0
- package/dist/client/_astro/{FieldGroupList.DrhO-iww.js → FieldGroupList.BG2ET5gZ.js} +1 -1
- package/dist/client/_astro/FloatingPanel.BeCEt_JP.js +1 -0
- package/dist/client/_astro/{Footer.Uc7SesWM.js → Footer.Chcu8yzV.js} +2 -2
- package/dist/client/_astro/GeneralSettings.CefkBcVj.js +1 -0
- package/dist/client/_astro/LogsManager.ya0kmAUm.js +1 -0
- package/dist/client/_astro/MediaLibrary.Bod2Afk4.js +1 -0
- package/dist/client/_astro/{MenuManager.Cy7xyr2l.js → MenuManager.d6_0hgNg.js} +1 -1
- package/dist/client/_astro/Modal.DR905gyF.js +1 -0
- package/dist/client/_astro/{PluginManager.3qXWwYBV.js → PluginManager.BHvKQlj2.js} +2 -2
- package/dist/client/_astro/PostTypesManager.DMUxfOp9.js +1 -0
- package/dist/client/_astro/{QuickDraftWidget.ux_yGWpX.js → QuickDraftWidget.DyX_bJ1p.js} +2 -2
- package/dist/client/_astro/ResourceHubs.BwxYHeE5.js +1 -0
- package/dist/client/_astro/TaxonomiesManager.DlVS4Ujm.js +1 -0
- package/dist/client/_astro/TaxonomyTermsManager.B_ZDFU-K.js +1 -0
- package/dist/client/_astro/ThemeManager.DuHgcKyn.js +176 -0
- package/dist/client/_astro/UserCreateForm.1KIa3Aa2.js +1 -0
- package/dist/client/_astro/UsersManager.v24y8OSk.js +1 -0
- package/dist/client/_astro/WebhooksManager.DPkFhoVr.js +1 -0
- package/dist/client/_astro/api.CYg1SW2X.js +1 -0
- package/dist/client/_astro/client.DU9Dc2oe.js +1 -0
- package/dist/client/_astro/extensions.Brl6zAPA.js +1 -0
- package/dist/client/_astro/i18n.AbBpo2WD.js +1 -0
- package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.Dni6a5dD.js → login.astro_astro_type_script_index_0_lang.F2J3xZhK.js} +1 -1
- package/dist/client/_astro/{pt-BR.B-uijFlj.js → pt-BR.B0jeLTb0.js} +1 -1
- package/dist/client/_astro/solid.D49dPDCT.js +1 -0
- package/dist/client/_astro/{src.DksrLolD.js → src.DXVWCoHp.js} +1 -1
- package/dist/client/_astro/web.Bqbl_1YR.js +1 -0
- package/dist/server/chunks/{404_DIfrzRRM.mjs → 404_Bj-sYqJF.mjs} +1 -1
- package/dist/server/chunks/{BaseLayout_CmMnXoh2.mjs → BaseLayout_BlxsDTAd.mjs} +3 -3
- package/dist/server/chunks/{ContentEditor_CrP88U9K.mjs → ContentEditor_BLL0Q9aT.mjs} +2 -2
- package/dist/server/chunks/{DashboardLayout_C6I2H2jO.mjs → DashboardLayout_D-AI4SdO.mjs} +7 -2
- package/dist/server/chunks/FloatingPanel_DI2CdUZK.mjs +57 -0
- package/dist/server/chunks/{MediaLibrary_c4bl4fTY.mjs → MediaLibrary_BPSHokdn.mjs} +2 -2
- package/dist/server/chunks/Modal_vHjkS4i2.mjs +33 -0
- package/dist/server/chunks/{_id__C2MAQ-Pj.mjs → _id__CvxvSegw.mjs} +21 -10
- package/dist/server/chunks/{_slug__CR0j3J9V.mjs → _slug__B3m1GWZj.mjs} +1 -1
- package/dist/server/chunks/access_t-YgohBR.mjs +389 -0
- package/dist/server/chunks/api-keys_DvIgJEw-.mjs +283 -0
- package/dist/server/chunks/{custom-fields_BPduH9VI.mjs → custom-fields_Yq-7YaBk.mjs} +2 -2
- package/dist/server/chunks/{edit_CJdKxNhx.mjs → edit_7AfeGLnP.mjs} +2 -2
- package/dist/server/chunks/{general_eI-sNsQl.mjs → general_4IEF4sYI.mjs} +31 -27
- package/dist/server/chunks/{i18n_BqZ4e24O.mjs → i18n_CItvcX64.mjs} +86 -5
- package/dist/server/chunks/{index_XRE0Vjch.mjs → index_B0LWYIKC.mjs} +2 -2
- package/dist/server/chunks/{index_CyKyYL4y.mjs → index_BoAt_7s4.mjs} +2 -2
- package/dist/server/chunks/{index_Om0n2OAr.mjs → index_CG0xJrh0.mjs} +3 -3
- package/dist/server/chunks/{index_CA70i3-b.mjs → index_CUe8civB.mjs} +2 -2
- package/dist/server/chunks/{index_BKzgF5qF.mjs → index_CkJtZm1g.mjs} +2 -2
- package/dist/server/chunks/{login_0iFVtfgV.mjs → login_CWnr9s7S.mjs} +1 -1
- package/dist/server/chunks/{logs_D-h53LJu.mjs → logs_jSHdYZQ7.mjs} +2 -2
- package/dist/server/chunks/{menus_CcCZvv6r.mjs → menus_DSIld5hj.mjs} +2 -2
- package/dist/server/chunks/{new_DSopKVB7.mjs → new_DMbeF6_n.mjs} +2 -2
- package/dist/server/chunks/{new_BmimSObH.mjs → new_NQMhsp8J.mjs} +2 -2
- package/dist/server/chunks/{plugins_MF0XTr5R.mjs → plugins_ChSk7C1I.mjs} +2 -2
- package/dist/server/chunks/{post-types_D5ajDp3x.mjs → post-types_Y8dhnrtw.mjs} +100 -47
- package/dist/server/chunks/{pt-BR_CQndzpOT.mjs → pt-BR_DpWzkRv5.mjs} +74 -4
- package/dist/server/chunks/{taxonomies_CfvbHc_y.mjs → taxonomies_Bg6steYg.mjs} +2 -2
- package/dist/server/chunks/{taxonomy_DdWpf9lk.mjs → taxonomy_Bk7DHF9d.mjs} +2 -2
- package/dist/server/chunks/{themes_DQE1-WCF.mjs → themes_JFxY7m2_.mjs} +2 -2
- package/dist/server/chunks/{upload_DjkuLTrW.mjs → upload_CrHx55UT.mjs} +2 -2
- package/dist/server/chunks/{webhooks_NO5wRHnZ.mjs → webhooks_Du4Tv0yn.mjs} +2 -2
- package/dist/server/entry.mjs +68 -37
- package/dist/server/virtual_astro_middleware.mjs +1 -1
- package/package.json +3 -3
- package/dist/client/_astro/BaseLayout.CgLTOe_a.css +0 -1
- package/dist/client/_astro/ContentEditor.BlRm9ezb.js +0 -1
- package/dist/client/_astro/ContentTypeWorkspace.BF8WjCDy.js +0 -1
- package/dist/client/_astro/DashboardHome.C2TVw1TO.js +0 -1
- package/dist/client/_astro/DashboardLayout.C1hUraeX.css +0 -1
- package/dist/client/_astro/FbIcon.DFmK-EWG.js +0 -1
- package/dist/client/_astro/FieldGroupEditor.CcxZuz0o.js +0 -69
- package/dist/client/_astro/GeneralSettings.Bxn673WF.js +0 -1
- package/dist/client/_astro/LogsManager.DF_3DQlY.js +0 -1
- package/dist/client/_astro/MediaLibrary._7sCWvNs.js +0 -1
- package/dist/client/_astro/PostTypesManager.BAXkf__Y.js +0 -1
- package/dist/client/_astro/ResourceHubs.Dhx1kbfj.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.BYTDEeNU.js +0 -1
- package/dist/client/_astro/TaxonomyTermsManager.DBb5gB5l.js +0 -1
- package/dist/client/_astro/ThemeManager.DVBYapuE.js +0 -176
- package/dist/client/_astro/UserCreateForm.CTr8bSlL.js +0 -1
- package/dist/client/_astro/UsersManager.BfPqZNy7.js +0 -1
- package/dist/client/_astro/WebhooksManager.DPAWAObu.js +0 -1
- package/dist/client/_astro/api.CNp-a9Z3.js +0 -1
- package/dist/client/_astro/client.m5rScAmr.js +0 -1
- package/dist/client/_astro/extensions.CenNQy0u.js +0 -1
- package/dist/client/_astro/i18n.CXvd48vy.js +0 -1
- package/dist/client/_astro/solid.8gBSxpeo.js +0 -1
- package/dist/client/_astro/web.DB4MaPY9.js +0 -1
- package/dist/server/chunks/access_bpmBW03n.mjs +0 -138
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, s as renderSlot, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { n as renderScript, t as $$BaseLayout } from "./
|
|
5
|
-
import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./
|
|
4
|
+
import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_BlxsDTAd.mjs";
|
|
5
|
+
import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_CItvcX64.mjs";
|
|
6
6
|
import { t as require_semver } from "./semver_WbqCUY_o.mjs";
|
|
7
7
|
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
|
|
8
8
|
import { For, For as For2, Show, Show as Show2, createEffect, createMemo as createMemo$1, createSignal, createSignal as createSignal$1, onCleanup, onMount, onMount as onMount$1 } from "solid-js";
|
|
@@ -992,6 +992,11 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
|
|
|
992
992
|
href: "/settings/webhooks",
|
|
993
993
|
key: "webhooks.title",
|
|
994
994
|
active: isActive("/settings/webhooks")
|
|
995
|
+
},
|
|
996
|
+
{
|
|
997
|
+
href: "/settings/api-keys",
|
|
998
|
+
key: "apiKeys.title",
|
|
999
|
+
active: isActive("/settings/api-keys")
|
|
995
1000
|
}
|
|
996
1001
|
];
|
|
997
1002
|
return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Portal, createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
|
|
2
|
+
import { Show, createEffect, createSignal, onCleanup, onMount } from "solid-js";
|
|
3
|
+
//#region src/components/ui/FloatingPanel.tsx
|
|
4
|
+
var _tmpl$ = [
|
|
5
|
+
"<div",
|
|
6
|
+
" style=\"",
|
|
7
|
+
"\">",
|
|
8
|
+
"</div>"
|
|
9
|
+
];
|
|
10
|
+
function FloatingPanel(props) {
|
|
11
|
+
const [style, setStyle] = createSignal({
|
|
12
|
+
position: "fixed",
|
|
13
|
+
visibility: "hidden"
|
|
14
|
+
});
|
|
15
|
+
const reposition = () => {
|
|
16
|
+
props.trigger;
|
|
17
|
+
};
|
|
18
|
+
createEffect(() => {
|
|
19
|
+
if (!props.open) return;
|
|
20
|
+
queueMicrotask(reposition);
|
|
21
|
+
requestAnimationFrame(reposition);
|
|
22
|
+
});
|
|
23
|
+
onMount(() => {
|
|
24
|
+
const onOutside = (event) => {
|
|
25
|
+
const target = event.target;
|
|
26
|
+
if (!target) return;
|
|
27
|
+
if (props.trigger?.contains(target) || void 0) return;
|
|
28
|
+
props.onClose();
|
|
29
|
+
};
|
|
30
|
+
const onKey = (event) => {
|
|
31
|
+
if (event.key === "Escape") props.onClose();
|
|
32
|
+
};
|
|
33
|
+
const onScrollOrResize = () => reposition();
|
|
34
|
+
document.addEventListener("mousedown", onOutside);
|
|
35
|
+
document.addEventListener("keydown", onKey);
|
|
36
|
+
window.addEventListener("scroll", onScrollOrResize, true);
|
|
37
|
+
window.addEventListener("resize", onScrollOrResize);
|
|
38
|
+
onCleanup(() => {
|
|
39
|
+
document.removeEventListener("mousedown", onOutside);
|
|
40
|
+
document.removeEventListener("keydown", onKey);
|
|
41
|
+
window.removeEventListener("scroll", onScrollOrResize, true);
|
|
42
|
+
window.removeEventListener("resize", onScrollOrResize);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
return createComponent(Show, {
|
|
46
|
+
get when() {
|
|
47
|
+
return props.open;
|
|
48
|
+
},
|
|
49
|
+
get children() {
|
|
50
|
+
return createComponent(Portal, { get children() {
|
|
51
|
+
return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(props.class, true), false) + ssrAttribute("role", escape(props.role, true), false) + ssrAttribute("aria-label", escape(props["aria-label"], true), false), ssrStyle(style()), escape(props.children));
|
|
52
|
+
} });
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { FloatingPanel as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as useTranslation, r as apiClient } from "./
|
|
2
|
-
import { a as For2, c as Pagination, l as Select, m as onMount, o as Input, p as createSignal, r as Button, s as Modal, u as Show2 } from "./
|
|
1
|
+
import { n as useTranslation, r as apiClient } from "./i18n_CItvcX64.mjs";
|
|
2
|
+
import { a as For2, c as Pagination, l as Select, m as onMount, o as Input, p as createSignal, r as Button, s as Modal, u as Show2 } from "./DashboardLayout_D-AI4SdO.mjs";
|
|
3
3
|
import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
|
|
4
4
|
//#region src/components/media/MediaLibrary.tsx
|
|
5
5
|
var _tmpl$ = [
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { n as useTranslation } from "./i18n_CItvcX64.mjs";
|
|
2
|
+
import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
3
|
+
import { Show, createEffect, onCleanup } from "solid-js";
|
|
4
|
+
//#region src/components/ui/Modal.tsx
|
|
5
|
+
var _tmpl$ = [
|
|
6
|
+
"<div",
|
|
7
|
+
" class=\"modal-overlay\" role=\"presentation\"><section class=\"modal\" role=\"dialog\" aria-modal=\"true\"",
|
|
8
|
+
"><header class=\"modal-header\"><h3>",
|
|
9
|
+
"</h3><button type=\"button\" class=\"modal-close\"",
|
|
10
|
+
">×</button></header><!--$-->",
|
|
11
|
+
"<!--/--></section></div>"
|
|
12
|
+
];
|
|
13
|
+
function Modal(props) {
|
|
14
|
+
const { t } = useTranslation();
|
|
15
|
+
createEffect(() => {
|
|
16
|
+
if (!props.open) return;
|
|
17
|
+
const onKey = (event) => {
|
|
18
|
+
if (event.key === "Escape") props.onClose();
|
|
19
|
+
};
|
|
20
|
+
document.addEventListener("keydown", onKey);
|
|
21
|
+
onCleanup(() => document.removeEventListener("keydown", onKey));
|
|
22
|
+
});
|
|
23
|
+
return createComponent(Show, {
|
|
24
|
+
get when() {
|
|
25
|
+
return props.open;
|
|
26
|
+
},
|
|
27
|
+
get children() {
|
|
28
|
+
return ssr(_tmpl$, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.title, true), false), escape(props.title), ssrAttribute("aria-label", escape(t("common.close"), true), false), escape(props.children));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Modal as t };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { n as useTranslation, r as apiClient } from "./
|
|
5
|
-
import { t as $$DashboardLayout } from "./
|
|
4
|
+
import { n as useTranslation, r as apiClient } from "./i18n_CItvcX64.mjs";
|
|
5
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_D-AI4SdO.mjs";
|
|
6
6
|
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
7
|
+
import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
|
|
7
8
|
import { t as FbIcon } from "./FbIcon_D0f6QiFJ.mjs";
|
|
8
9
|
import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
9
10
|
import { For, Show, batch, createContext, createEffect, createMemo, createSignal, on, onCleanup, onMount, splitProps, useContext } from "solid-js";
|
|
@@ -5949,10 +5950,9 @@ function ConditionalLogicEditor(props) {
|
|
|
5949
5950
|
//#endregion
|
|
5950
5951
|
//#region src/components/content/FieldTypePicker.tsx
|
|
5951
5952
|
var _tmpl$$6 = [
|
|
5952
|
-
"<
|
|
5953
|
-
"
|
|
5954
|
-
"
|
|
5955
|
-
"<!--/--></div>"
|
|
5953
|
+
"<input",
|
|
5954
|
+
" type=\"search\" class=\"field-type-picker__search\" placeholder=\"Buscar tipo de campo...\"",
|
|
5955
|
+
">"
|
|
5956
5956
|
];
|
|
5957
5957
|
var _tmpl$2$6 = [
|
|
5958
5958
|
"<div",
|
|
@@ -5983,6 +5983,7 @@ var _tmpl$5$4 = [
|
|
|
5983
5983
|
function FieldTypePicker(props) {
|
|
5984
5984
|
const [open, setOpen] = createSignal(false);
|
|
5985
5985
|
const [query, setQuery] = createSignal("");
|
|
5986
|
+
const [trigger, setTrigger] = createSignal(void 0);
|
|
5986
5987
|
const selected = () => props.types.find((type) => type.type === props.value);
|
|
5987
5988
|
const filteredTypes = () => {
|
|
5988
5989
|
const q = query().toLowerCase();
|
|
@@ -5992,12 +5993,22 @@ function FieldTypePicker(props) {
|
|
|
5992
5993
|
queueMicrotask(() => createIcons({ icons }));
|
|
5993
5994
|
};
|
|
5994
5995
|
onMount(refreshIcons);
|
|
5995
|
-
return ssr(_tmpl$2$6, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), ssrAttribute("data-lucide", escape(selected()?.icon ?? "box", true), false), escape(selected()?.label ?? "Selecione o tipo"), open() ? "▴" : "▾", escape(createComponent(
|
|
5996
|
-
get
|
|
5996
|
+
return ssr(_tmpl$2$6, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), ssrAttribute("data-lucide", escape(selected()?.icon ?? "box", true), false), escape(selected()?.label ?? "Selecione o tipo"), open() ? "▴" : "▾", escape(createComponent(FloatingPanel, {
|
|
5997
|
+
get open() {
|
|
5997
5998
|
return open();
|
|
5998
5999
|
},
|
|
6000
|
+
get trigger() {
|
|
6001
|
+
return trigger();
|
|
6002
|
+
},
|
|
6003
|
+
onClose: () => {
|
|
6004
|
+
setOpen(false);
|
|
6005
|
+
setQuery("");
|
|
6006
|
+
},
|
|
6007
|
+
"class": "field-type-picker__panel",
|
|
6008
|
+
role: "listbox",
|
|
6009
|
+
minWidth: 280,
|
|
5999
6010
|
get children() {
|
|
6000
|
-
return ssr(_tmpl$$6, ssrHydrationKey(), ssrAttribute("value", escape(query(), true), false),
|
|
6011
|
+
return [ssr(_tmpl$$6, ssrHydrationKey(), ssrAttribute("value", escape(query(), true), false)), createComponent(For, {
|
|
6001
6012
|
get each() {
|
|
6002
6013
|
return props.categories;
|
|
6003
6014
|
},
|
|
@@ -6022,7 +6033,7 @@ function FieldTypePicker(props) {
|
|
|
6022
6033
|
}
|
|
6023
6034
|
});
|
|
6024
6035
|
}
|
|
6025
|
-
})
|
|
6036
|
+
})];
|
|
6026
6037
|
}
|
|
6027
6038
|
})));
|
|
6028
6039
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
2
|
import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
3
|
import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
-
import { t as $$DashboardLayout } from "./
|
|
4
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_D-AI4SdO.mjs";
|
|
5
5
|
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
6
6
|
//#region src/pages/plugins/[slug].astro
|
|
7
7
|
var _slug__exports = /* @__PURE__ */ __exportAll({
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
|
|
2
|
+
import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
|
|
3
|
+
import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
|
|
4
|
+
import { n as useTranslation, r as apiClient } from "./i18n_CItvcX64.mjs";
|
|
5
|
+
import { t as $$DashboardLayout } from "./DashboardLayout_D-AI4SdO.mjs";
|
|
6
|
+
import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
|
|
7
|
+
import { t as Modal } from "./Modal_vHjkS4i2.mjs";
|
|
8
|
+
import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
|
|
9
|
+
import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
|
|
10
|
+
import { For, Show, createMemo, createSignal, onMount } from "solid-js";
|
|
11
|
+
//#region src/components/apps/settings/PermissionPicker.tsx
|
|
12
|
+
var _tmpl$$1 = [
|
|
13
|
+
"<input",
|
|
14
|
+
" type=\"search\" class=\"input permission-picker__search\"",
|
|
15
|
+
">"
|
|
16
|
+
];
|
|
17
|
+
var _tmpl$2$1 = [
|
|
18
|
+
"<div",
|
|
19
|
+
" class=\"permission-picker__matrix\" role=\"presentation\"><div class=\"permission-picker__row permission-picker__row--head\" role=\"presentation\"><span class=\"permission-picker__resource\"></span><!--$-->",
|
|
20
|
+
"<!--/--><!--$-->",
|
|
21
|
+
"<!--/--></div><!--$-->",
|
|
22
|
+
"<!--/--></div>"
|
|
23
|
+
];
|
|
24
|
+
var _tmpl$3$1 = [
|
|
25
|
+
"<div",
|
|
26
|
+
" class=\"permission-picker__custom\"><p class=\"permission-picker__custom-label\">",
|
|
27
|
+
"</p><div class=\"permission-picker__chips\"><!--$-->",
|
|
28
|
+
"<!--/--><form class=\"permission-picker__custom-form\"><input class=\"input permission-picker__custom-input\"",
|
|
29
|
+
"><button class=\"btn btn-secondary btn-sm\" type=\"submit\">",
|
|
30
|
+
"</button></form></div></div>"
|
|
31
|
+
];
|
|
32
|
+
var _tmpl$4$1 = [
|
|
33
|
+
"<p",
|
|
34
|
+
" class=\"icon-picker__count\">",
|
|
35
|
+
"</p>"
|
|
36
|
+
];
|
|
37
|
+
var _tmpl$5$1 = [
|
|
38
|
+
"<div",
|
|
39
|
+
" class=\"permission-picker\"><button type=\"button\" class=\"input permission-picker__trigger\" aria-haspopup=\"dialog\"",
|
|
40
|
+
"><span class=\"",
|
|
41
|
+
"\">",
|
|
42
|
+
"</span><span class=\"icon-picker__caret\" aria-hidden=\"true\">",
|
|
43
|
+
"</span></button><!--$-->",
|
|
44
|
+
"<!--/--></div>"
|
|
45
|
+
];
|
|
46
|
+
var _tmpl$6$1 = [
|
|
47
|
+
"<span",
|
|
48
|
+
" class=\"permission-picker__action-label\">",
|
|
49
|
+
"</span>"
|
|
50
|
+
];
|
|
51
|
+
var _tmpl$7$1 = [
|
|
52
|
+
"<p",
|
|
53
|
+
" class=\"permission-picker__empty\">",
|
|
54
|
+
"</p>"
|
|
55
|
+
];
|
|
56
|
+
var _tmpl$8 = [
|
|
57
|
+
"<div",
|
|
58
|
+
" class=\"permission-picker__row\"><span class=\"permission-picker__resource\"",
|
|
59
|
+
">",
|
|
60
|
+
"</span><!--$-->",
|
|
61
|
+
"<!--/--></div>"
|
|
62
|
+
];
|
|
63
|
+
var _tmpl$9 = [
|
|
64
|
+
"<label",
|
|
65
|
+
" class=\"",
|
|
66
|
+
"\" title=\"",
|
|
67
|
+
"\"><input type=\"checkbox\"",
|
|
68
|
+
"><span aria-hidden=\"true\">✓</span></label>"
|
|
69
|
+
];
|
|
70
|
+
var _tmpl$0 = ["<span", " class=\"permission-picker__cell permission-picker__cell--empty\"></span>"];
|
|
71
|
+
var _tmpl$1 = [
|
|
72
|
+
"<span",
|
|
73
|
+
" class=\"permission-picker__chip\"><code>",
|
|
74
|
+
"</code><button type=\"button\" aria-label=\"",
|
|
75
|
+
"\">×</button></span>"
|
|
76
|
+
];
|
|
77
|
+
/** Ações canônicas (o que `requirePermission(action, resource)` recebe). */
|
|
78
|
+
var ACTIONS = [
|
|
79
|
+
"read",
|
|
80
|
+
"create",
|
|
81
|
+
"update",
|
|
82
|
+
"delete"
|
|
83
|
+
];
|
|
84
|
+
/** Recursos protegidos pela API, na ordem em que aparecem na matriz. */
|
|
85
|
+
var RESOURCES = [
|
|
86
|
+
"content",
|
|
87
|
+
"media",
|
|
88
|
+
"category",
|
|
89
|
+
"tag",
|
|
90
|
+
"menu",
|
|
91
|
+
"user",
|
|
92
|
+
"roles",
|
|
93
|
+
"theme",
|
|
94
|
+
"plugin",
|
|
95
|
+
"setting",
|
|
96
|
+
"webhook",
|
|
97
|
+
"tenants",
|
|
98
|
+
"audit",
|
|
99
|
+
"build",
|
|
100
|
+
"system"
|
|
101
|
+
];
|
|
102
|
+
/** Ação extra por recurso (fora do padrão read/create/update/delete). */
|
|
103
|
+
var EXTRA_ACTIONS = { media: ["upload"] };
|
|
104
|
+
var permissionKey = (action, resource) => `${action}:${resource}`;
|
|
105
|
+
var isKnown = (token) => {
|
|
106
|
+
const [action, resource] = token.split(":");
|
|
107
|
+
if (!action || !resource) return false;
|
|
108
|
+
return ACTIONS.includes(action) && RESOURCES.includes(resource);
|
|
109
|
+
};
|
|
110
|
+
function PermissionPicker(props) {
|
|
111
|
+
const { t } = useTranslation();
|
|
112
|
+
const [open, setOpen] = createSignal(false);
|
|
113
|
+
const [query, setQuery] = createSignal("");
|
|
114
|
+
const [customDraft, setCustomDraft] = createSignal("");
|
|
115
|
+
const [trigger, setTrigger] = createSignal(void 0);
|
|
116
|
+
const selected = createMemo(() => new Set(props.value));
|
|
117
|
+
const custom = createMemo(() => props.value.filter((token) => !isKnown(token)));
|
|
118
|
+
const filteredResources = createMemo(() => {
|
|
119
|
+
const q = query().trim().toLowerCase();
|
|
120
|
+
if (!q) return RESOURCES;
|
|
121
|
+
return RESOURCES.filter((resource) => resource.includes(q) || t(`access.resources.${resource}`).toLowerCase().includes(q));
|
|
122
|
+
});
|
|
123
|
+
/** Colunas extras visíveis (ex.: upload quando "media" está no filtro). */
|
|
124
|
+
const extraColumns = createMemo(() => {
|
|
125
|
+
const seen = /* @__PURE__ */ new Set();
|
|
126
|
+
for (const resource of filteredResources()) for (const action of EXTRA_ACTIONS[resource] ?? []) seen.add(action);
|
|
127
|
+
return [...seen];
|
|
128
|
+
});
|
|
129
|
+
/** Coluna completa para o par (ação, recurso)? */
|
|
130
|
+
const hasColumn = (action, resource) => ACTIONS.includes(action) || (EXTRA_ACTIONS[resource] ?? []).includes(action);
|
|
131
|
+
const summary = () => {
|
|
132
|
+
const count = props.value.length;
|
|
133
|
+
if (count === 0) return props.placeholder ?? t("access.permissionsPlaceholder");
|
|
134
|
+
const resources = new Set(props.value.map((token) => token.split(":")[1] ?? token));
|
|
135
|
+
return t("access.permissionsSummary", {
|
|
136
|
+
resources: resources.size,
|
|
137
|
+
count
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
return ssr(_tmpl$5$1, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), `permission-picker__value ${props.value.length === 0 ? "is-empty" : ""}`, escape(summary()), open() ? "▴" : "▾", escape(createComponent(FloatingPanel, {
|
|
141
|
+
get open() {
|
|
142
|
+
return open();
|
|
143
|
+
},
|
|
144
|
+
get trigger() {
|
|
145
|
+
return trigger();
|
|
146
|
+
},
|
|
147
|
+
onClose: () => setOpen(false),
|
|
148
|
+
"class": "permission-picker__panel",
|
|
149
|
+
role: "dialog",
|
|
150
|
+
get ["aria-label"]() {
|
|
151
|
+
return t("access.permissions");
|
|
152
|
+
},
|
|
153
|
+
minWidth: 440,
|
|
154
|
+
get children() {
|
|
155
|
+
return [
|
|
156
|
+
ssr(_tmpl$$1, ssrHydrationKey(), ssrAttribute("placeholder", escape(props.searchPlaceholder ?? t("access.permissionSearch"), true), false) + ssrAttribute("value", escape(query(), true), false)),
|
|
157
|
+
ssr(_tmpl$2$1, ssrHydrationKey(), escape(createComponent(For, {
|
|
158
|
+
each: ACTIONS,
|
|
159
|
+
children: (action) => ssr(_tmpl$6$1, ssrHydrationKey(), escape(action))
|
|
160
|
+
})), escape(createComponent(For, {
|
|
161
|
+
get each() {
|
|
162
|
+
return extraColumns();
|
|
163
|
+
},
|
|
164
|
+
children: (action) => ssr(_tmpl$6$1, ssrHydrationKey(), escape(action))
|
|
165
|
+
})), escape(createComponent(For, {
|
|
166
|
+
get each() {
|
|
167
|
+
return filteredResources();
|
|
168
|
+
},
|
|
169
|
+
get fallback() {
|
|
170
|
+
return ssr(_tmpl$7$1, ssrHydrationKey(), escape(t("access.permissionNoMatches")));
|
|
171
|
+
},
|
|
172
|
+
children: (resource) => ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("title", escape(resource, true), false), escape(t(`access.resources.${resource}`)), escape(createComponent(For, {
|
|
173
|
+
get each() {
|
|
174
|
+
return [...ACTIONS, ...extraColumns()];
|
|
175
|
+
},
|
|
176
|
+
children: (action) => hasColumn(action, resource) ? ssr(_tmpl$9, ssrHydrationKey(), `permission-picker__cell ${selected().has(permissionKey(action, resource)) ? "is-checked" : ""}`, `${escape(action, true)}:${escape(resource, true)}`, ssrAttribute("checked", selected().has(permissionKey(action, resource)), true)) : ssr(_tmpl$0, ssrHydrationKey())
|
|
177
|
+
})))
|
|
178
|
+
}))),
|
|
179
|
+
ssr(_tmpl$3$1, ssrHydrationKey(), escape(t("access.customPermissions")), escape(createComponent(For, {
|
|
180
|
+
get each() {
|
|
181
|
+
return custom();
|
|
182
|
+
},
|
|
183
|
+
children: (token) => ssr(_tmpl$1, ssrHydrationKey(), escape(token), `${escape(t("common.remove"), true)}: ${escape(token, true)}`)
|
|
184
|
+
})), ssrAttribute("placeholder", escape(t("access.customPermission"), true), false) + ssrAttribute("value", escape(customDraft(), true), false), escape(t("common.add"))),
|
|
185
|
+
createComponent(Show, {
|
|
186
|
+
get when() {
|
|
187
|
+
return props.value.length > 0;
|
|
188
|
+
},
|
|
189
|
+
get children() {
|
|
190
|
+
return ssr(_tmpl$4$1, ssrHydrationKey(), escape(t("access.permissionsSelected", { count: props.value.length })));
|
|
191
|
+
}
|
|
192
|
+
})
|
|
193
|
+
];
|
|
194
|
+
}
|
|
195
|
+
})));
|
|
196
|
+
}
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region src/components/apps/settings/ResourceHubs.tsx
|
|
199
|
+
var _tmpl$ = [
|
|
200
|
+
"<div",
|
|
201
|
+
" class=\"notice notice--error\">",
|
|
202
|
+
"</div>"
|
|
203
|
+
];
|
|
204
|
+
var _tmpl$2 = [
|
|
205
|
+
"<div",
|
|
206
|
+
" class=\"resource-hub\"><!--$-->",
|
|
207
|
+
"<!--/--><div class=\"access-grid\"><section class=\"card\"><div class=\"card-header-row\"><h3>",
|
|
208
|
+
"</h3><button class=\"btn btn-primary\" type=\"button\">+ <!--$-->",
|
|
209
|
+
"<!--/--></button></div><table class=\"table\"><thead><tr><th>",
|
|
210
|
+
"</th><th>",
|
|
211
|
+
"</th><th>",
|
|
212
|
+
"</th><th></th></tr></thead><tbody>",
|
|
213
|
+
"</tbody></table><!--$-->",
|
|
214
|
+
"<!--/--></section><section class=\"card\"><div class=\"card-header-row\"><h3>",
|
|
215
|
+
"</h3><button class=\"btn btn-primary\" type=\"button\">+ <!--$-->",
|
|
216
|
+
"<!--/--></button></div><table class=\"table\"><thead><tr><th>",
|
|
217
|
+
"</th><th>",
|
|
218
|
+
"</th><th>",
|
|
219
|
+
"</th><th></th></tr></thead><tbody>",
|
|
220
|
+
"</tbody></table><!--$-->",
|
|
221
|
+
"<!--/--></section></div></div>"
|
|
222
|
+
];
|
|
223
|
+
var _tmpl$3 = [
|
|
224
|
+
"<button",
|
|
225
|
+
" class=\"btn btn-danger btn-sm\" type=\"button\">",
|
|
226
|
+
"</button>"
|
|
227
|
+
];
|
|
228
|
+
var _tmpl$4 = [
|
|
229
|
+
"<tr",
|
|
230
|
+
"><td>",
|
|
231
|
+
"</td><td><code>",
|
|
232
|
+
"</code></td><td class=\"access-permissions-cell\"",
|
|
233
|
+
">",
|
|
234
|
+
"</td><td class=\"access-actions\"><button class=\"btn btn-secondary btn-sm\" type=\"button\">",
|
|
235
|
+
"</button><!--$-->",
|
|
236
|
+
"<!--/--></td></tr>"
|
|
237
|
+
];
|
|
238
|
+
var _tmpl$5 = [
|
|
239
|
+
"<form",
|
|
240
|
+
" class=\"resource-form\"><label><span class=\"resource-form__label\">",
|
|
241
|
+
"</span><input class=\"input\" required",
|
|
242
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
243
|
+
"</span><input class=\"input\" required",
|
|
244
|
+
"></label><div class=\"resource-form__field\"><span class=\"resource-form__label\">",
|
|
245
|
+
"</span><!--$-->",
|
|
246
|
+
"<!--/--></div><div class=\"form-actions\"><button class=\"btn btn-secondary\" type=\"button\">",
|
|
247
|
+
"</button><button class=\"btn btn-primary\" type=\"submit\"",
|
|
248
|
+
">",
|
|
249
|
+
"</button></div></form>"
|
|
250
|
+
];
|
|
251
|
+
var _tmpl$6 = [
|
|
252
|
+
"<tr",
|
|
253
|
+
"><td>",
|
|
254
|
+
"</td><td><code>",
|
|
255
|
+
"</code></td><td>",
|
|
256
|
+
"</td><td class=\"access-actions\"><button class=\"btn btn-secondary btn-sm\" type=\"button\">",
|
|
257
|
+
"</button><button class=\"btn btn-danger btn-sm\" type=\"button\">",
|
|
258
|
+
"</button></td></tr>"
|
|
259
|
+
];
|
|
260
|
+
var _tmpl$7 = [
|
|
261
|
+
"<form",
|
|
262
|
+
" class=\"resource-form\"><label><span class=\"resource-form__label\">",
|
|
263
|
+
"</span><input class=\"input\" required",
|
|
264
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
265
|
+
"</span><input class=\"input\" required",
|
|
266
|
+
"></label><label><span class=\"resource-form__label\">",
|
|
267
|
+
"</span><input class=\"input\"",
|
|
268
|
+
"></label><div class=\"form-actions\"><button class=\"btn btn-secondary\" type=\"button\">",
|
|
269
|
+
"</button><button class=\"btn btn-primary\" type=\"submit\"",
|
|
270
|
+
">",
|
|
271
|
+
"</button></div></form>"
|
|
272
|
+
];
|
|
273
|
+
function AccessManager() {
|
|
274
|
+
const { t } = useTranslation();
|
|
275
|
+
const [roles, setRoles] = createSignal([]);
|
|
276
|
+
const [tenants, setTenants] = createSignal([]);
|
|
277
|
+
const [editingRole, setEditingRole] = createSignal(null);
|
|
278
|
+
const [editingTenant, setEditingTenant] = createSignal(null);
|
|
279
|
+
const [saving, setSaving] = createSignal(false);
|
|
280
|
+
const [error, setError] = createSignal("");
|
|
281
|
+
const load = async () => {
|
|
282
|
+
try {
|
|
283
|
+
setRoles(await apiClient.listRoles());
|
|
284
|
+
setTenants((await apiClient.listTenants({ limit: 100 })).data ?? []);
|
|
285
|
+
} catch (err) {
|
|
286
|
+
setError(err instanceof Error ? err.message : String(err));
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
onMount(load);
|
|
290
|
+
const permissionsSummary = (role) => {
|
|
291
|
+
const list = role.permissions ?? [];
|
|
292
|
+
if (list.length === 0) return "—";
|
|
293
|
+
return list.slice(0, 4).join(", ") + (list.length > 4 ? ` +${list.length - 4}` : "");
|
|
294
|
+
};
|
|
295
|
+
return ssr(_tmpl$2, ssrHydrationKey(), escape(createComponent(Show, {
|
|
296
|
+
get when() {
|
|
297
|
+
return error();
|
|
298
|
+
},
|
|
299
|
+
get children() {
|
|
300
|
+
return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
|
|
301
|
+
}
|
|
302
|
+
})), escape(t("access.roles")), escape(t("common.create")), escape(t("resources.name")), escape(t("resources.slug")), escape(t("access.permissions")), escape(createComponent(For, {
|
|
303
|
+
get each() {
|
|
304
|
+
return roles();
|
|
305
|
+
},
|
|
306
|
+
children: (role) => ssr(_tmpl$4, ssrHydrationKey(), escape(role.name), escape(role.slug), ssrAttribute("title", escape((role.permissions ?? []).join(", "), true), false), escape(permissionsSummary(role)), escape(t("common.edit")), escape(createComponent(Show, {
|
|
307
|
+
get when() {
|
|
308
|
+
return !role.is_system;
|
|
309
|
+
},
|
|
310
|
+
get children() {
|
|
311
|
+
return ssr(_tmpl$3, ssrHydrationKey(), escape(t("common.delete")));
|
|
312
|
+
}
|
|
313
|
+
})))
|
|
314
|
+
})), escape(createComponent(Modal, {
|
|
315
|
+
get open() {
|
|
316
|
+
return editingRole() !== null;
|
|
317
|
+
},
|
|
318
|
+
onClose: () => setEditingRole(null),
|
|
319
|
+
get title() {
|
|
320
|
+
return memo(() => !!editingRole()?.id)() ? t("access.editRole") : t("access.newRole");
|
|
321
|
+
},
|
|
322
|
+
get children() {
|
|
323
|
+
return createComponent(Show, {
|
|
324
|
+
get when() {
|
|
325
|
+
return editingRole();
|
|
326
|
+
},
|
|
327
|
+
children: (role) => ssr(_tmpl$5, ssrHydrationKey(), escape(t("resources.name")), ssrAttribute("placeholder", escape(t("resources.name"), true), false) + ssrAttribute("value", escape(role().name ?? "", true), false), escape(t("resources.slug")), ssrAttribute("placeholder", escape(t("resources.slug"), true), false) + ssrAttribute("value", escape(role().slug ?? "", true), false), escape(t("access.permissions")), escape(createComponent(PermissionPicker, {
|
|
328
|
+
get value() {
|
|
329
|
+
return role().permissions ?? [];
|
|
330
|
+
},
|
|
331
|
+
onChange: (permissions) => setEditingRole({
|
|
332
|
+
...role(),
|
|
333
|
+
permissions
|
|
334
|
+
})
|
|
335
|
+
})), escape(t("common.cancel")), ssrAttribute("disabled", saving(), true), saving() ? escape(t("common.loading")) : escape(t("common.save")))
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
})), escape(t("access.tenants")), escape(t("common.create")), escape(t("resources.name")), escape(t("resources.slug")), escape(t("common.status")), escape(createComponent(For, {
|
|
339
|
+
get each() {
|
|
340
|
+
return tenants();
|
|
341
|
+
},
|
|
342
|
+
children: (tenant) => ssr(_tmpl$6, ssrHydrationKey(), escape(tenant.name), escape(tenant.slug), escape(tenant.status), escape(t("common.edit")), escape(t("common.delete")))
|
|
343
|
+
})), escape(createComponent(Modal, {
|
|
344
|
+
get open() {
|
|
345
|
+
return editingTenant() !== null;
|
|
346
|
+
},
|
|
347
|
+
onClose: () => setEditingTenant(null),
|
|
348
|
+
get title() {
|
|
349
|
+
return memo(() => !!editingTenant()?.id)() ? t("access.editTenant") : t("access.newTenant");
|
|
350
|
+
},
|
|
351
|
+
get children() {
|
|
352
|
+
return createComponent(Show, {
|
|
353
|
+
get when() {
|
|
354
|
+
return editingTenant();
|
|
355
|
+
},
|
|
356
|
+
children: (tenant) => ssr(_tmpl$7, ssrHydrationKey(), escape(t("resources.name")), ssrAttribute("placeholder", escape(t("resources.name"), true), false) + ssrAttribute("value", escape(tenant().name ?? "", true), false), escape(t("resources.slug")), ssrAttribute("placeholder", escape(t("resources.slug"), true), false) + ssrAttribute("value", escape(tenant().slug ?? "", true), false), escape(t("access.domain")), ssrAttribute("placeholder", escape(t("access.domain"), true), false) + ssrAttribute("value", escape(tenant().domain ?? "", true), false), escape(t("common.cancel")), ssrAttribute("disabled", saving(), true), saving() ? escape(t("common.loading")) : escape(t("common.save")))
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
})));
|
|
360
|
+
}
|
|
361
|
+
//#endregion
|
|
362
|
+
//#region src/pages/settings/access.astro
|
|
363
|
+
var access_exports = /* @__PURE__ */ __exportAll({
|
|
364
|
+
default: () => $$Access,
|
|
365
|
+
file: () => $$file,
|
|
366
|
+
url: () => $$url
|
|
367
|
+
});
|
|
368
|
+
createAstro("https://astro.build");
|
|
369
|
+
var $$Access = createComponent$1(($$result, $$props, $$slots) => {
|
|
370
|
+
const Astro = $$result.createAstro($$props, $$slots);
|
|
371
|
+
Astro.self = $$Access;
|
|
372
|
+
const { t } = Astro.locals;
|
|
373
|
+
return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, { "title": t("access.title") }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PageHeader", PageHeader, {
|
|
374
|
+
"title": t("access.title"),
|
|
375
|
+
"description": t("access.description")
|
|
376
|
+
})}${renderComponent($$result, "AccessManager", AccessManager, {
|
|
377
|
+
"client:load": true,
|
|
378
|
+
"client:component-hydration": "load",
|
|
379
|
+
"client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/settings/ResourceHubs.tsx",
|
|
380
|
+
"client:component-export": "AccessManager"
|
|
381
|
+
})}` })}`;
|
|
382
|
+
}, "/home/runner/work/cms/cms/apps/admin/src/pages/settings/access.astro", void 0);
|
|
383
|
+
var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/settings/access.astro";
|
|
384
|
+
var $$url = "/settings/access";
|
|
385
|
+
//#endregion
|
|
386
|
+
//#region \0virtual:astro:page:src/pages/settings/access@_@astro
|
|
387
|
+
var page = () => access_exports;
|
|
388
|
+
//#endregion
|
|
389
|
+
export { page };
|