@oktis-works/admin 0.4.19 → 0.4.22

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.
Files changed (136) hide show
  1. package/dist/client/_astro/ActivityWidget.DPHDSR70.js +16 -0
  2. package/dist/client/_astro/AdminBar.Cfe6Btfm.js +253 -0
  3. package/dist/client/_astro/{AtGlanceWidget.B1bDhxvN.js → AtGlanceWidget.BdmMxHd5.js} +3 -3
  4. package/dist/client/_astro/{BaseLayout.Y8xW22CP.css → BaseLayout.DZs74Ly2.css} +1 -1
  5. package/dist/client/_astro/ContentEditor.C0QRayGL.js +3 -0
  6. package/dist/client/_astro/ContentEditor.DI_TzQ3t.js +1 -0
  7. package/dist/client/_astro/ContentTypeWorkspace.C-17fiDL.js +1 -0
  8. package/dist/client/_astro/CustomFieldsManager.DWfyFNKg.js +3 -0
  9. package/dist/client/_astro/DashboardHome.DogWw0Mx.js +1 -0
  10. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.CKDcT5kP.js +1 -0
  11. package/dist/client/_astro/DashboardLayout.cOPI1C7I.css +1 -0
  12. package/dist/client/_astro/{Footer.BqzSGnHm.js → Footer.CIzMoBJk.js} +2 -2
  13. package/dist/client/_astro/GeneralSettings.XVjUJxtp.js +1 -0
  14. package/dist/client/_astro/LogsManager.Dj9eegoH.js +1 -0
  15. package/dist/client/_astro/MediaLibrary.DFdil0q8.js +1 -0
  16. package/dist/client/_astro/MenuManager.CInlK214.js +19 -0
  17. package/dist/client/_astro/PluginManager.D65lPRrH.js +98 -0
  18. package/dist/client/_astro/PostTypesManager.dsx3ybTa.js +1 -0
  19. package/dist/client/_astro/QuickDraftWidget.DYsI_PJ5.js +17 -0
  20. package/dist/client/_astro/ResourceHubs.C3EJHpe7.js +1 -0
  21. package/dist/client/_astro/TaxonomiesManager.BYcDeL3s.js +1 -0
  22. package/dist/client/_astro/TaxonomyTermsManager.DLD_SWSE.js +1 -0
  23. package/dist/client/_astro/ThemeManager.CuhjguCi.js +129 -0
  24. package/dist/client/_astro/UserCreateForm.YrvnokVf.js +1 -0
  25. package/dist/client/_astro/UsersManager.BWkuqIyw.js +1 -0
  26. package/dist/client/_astro/WebhooksManager.BLy6DI8f.js +1 -0
  27. package/dist/client/_astro/api.DSW9LMA5.js +1 -0
  28. package/dist/client/_astro/ar.9BcNkJMI.js +1 -0
  29. package/dist/client/_astro/custom-fields.XYcte01g.css +1 -0
  30. package/dist/client/_astro/dist.Di6E6ZlC.js +1 -0
  31. package/dist/client/_astro/es-ES.DgqDFCmG.js +1 -0
  32. package/dist/client/_astro/extensions.BbGSgyUX.js +1 -0
  33. package/dist/client/_astro/he.11dIJHQw.js +1 -0
  34. package/dist/client/_astro/i18n.Ck_XVuPY.js +1 -0
  35. package/dist/client/_astro/it.yCdgk3Xj.js +1 -0
  36. package/dist/client/_astro/ja.BIm7Hwe_.js +1 -0
  37. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.BPE3sVZJ.js → login.astro_astro_type_script_index_0_lang.DHHzJWgm.js} +1 -1
  38. package/dist/client/_astro/lucide.DlU56wZ1.js +4 -0
  39. package/dist/client/_astro/pl.dUwrcITB.js +1 -0
  40. package/dist/client/_astro/pt-BR.BNlZx8-w.js +1 -0
  41. package/dist/client/_astro/rolldown-runtime.BpQH8Ho1.js +1 -0
  42. package/dist/client/_astro/ru.lmDiQaSu.js +1 -0
  43. package/dist/client/_astro/sw._qHdoFbp.js +1 -0
  44. package/dist/client/_astro/tr.Do-lr98T.js +1 -0
  45. package/dist/client/_astro/uk.DTUX-N1c.js +1 -0
  46. package/dist/client/_astro/{version.Cwfv80ER.js → version.DPFOQ4hp.js} +1 -1
  47. package/dist/client/_astro/yo.BIYG0J7I.js +1 -0
  48. package/dist/client/_astro/zh-CN.C7Iod1E1.js +1 -0
  49. package/dist/server/chunks/{ContentEditor_CxZJjeXR.mjs → ContentEditor_Dat_38Nz.mjs} +17 -30
  50. package/dist/server/chunks/{DashboardLayout_DCIiRkcO.mjs → DashboardLayout_DsYrIyKK.mjs} +18 -18
  51. package/dist/server/chunks/{MediaLibrary_azhfNs4N.mjs → MediaLibrary_BmYgO6Lm.mjs} +2 -2
  52. package/dist/server/chunks/{_slug__BEfbBGa_.mjs → _slug__MPfKFp1f.mjs} +1 -1
  53. package/dist/server/chunks/access_dvh8pEEF.mjs +138 -0
  54. package/dist/server/chunks/{ar_B0LfQbpu.mjs → ar_DlCzOUGe.mjs} +22 -2
  55. package/dist/server/chunks/{custom-fields_DI9f2Pqi.mjs → custom-fields_Dp_CVTYc.mjs} +110 -7
  56. package/dist/server/chunks/{edit_3GtD2cva.mjs → edit_BaSFaTjX.mjs} +12 -12
  57. package/dist/server/chunks/{es-ES_dBEm2FNw.mjs → es-ES_DD40B9Zr.mjs} +22 -2
  58. package/dist/server/chunks/{general_CbiPNS7I.mjs → general_CWkM-QPS.mjs} +2 -2
  59. package/dist/server/chunks/{he_DRWoI1A5.mjs → he_8WSAyM_S.mjs} +22 -2
  60. package/dist/server/chunks/{i18n_DIBvEjfq.mjs → i18n_BJJWXenY.mjs} +133 -57
  61. package/dist/server/chunks/{index_BcV8TVEC.mjs → index_1F1_RTJb.mjs} +2 -2
  62. package/dist/server/chunks/{index_kTsjYnf7.mjs → index_B4nb6VH_.mjs} +5 -5
  63. package/dist/server/chunks/{index_CTJw_OsD.mjs → index_Bck2SDPK.mjs} +2 -2
  64. package/dist/server/chunks/{index_C3amWOJX.mjs → index_DA7KSBNI.mjs} +1 -1
  65. package/dist/server/chunks/{index_BZJqnzEO.mjs → index_DCsZz61C.mjs} +89 -44
  66. package/dist/server/chunks/{it_BDY3lerP.mjs → it_DEDC6yxf.mjs} +22 -2
  67. package/dist/server/chunks/{ja_C-EybQiV.mjs → ja_BRQi6rW3.mjs} +22 -2
  68. package/dist/server/chunks/{login_D-Z6bo6E.mjs → login_DnB1gNqL.mjs} +1 -1
  69. package/dist/server/chunks/logs_BArVlSoG.mjs +160 -0
  70. package/dist/server/chunks/menus_CYoSRDEL.mjs +170 -0
  71. package/dist/server/chunks/{new_Dg9ykZGm.mjs → new_CSaDDm4Z.mjs} +12 -12
  72. package/dist/server/chunks/{new_uLMmBd95.mjs → new_D4KZk7Yr.mjs} +2 -2
  73. package/dist/server/chunks/{pl_DH5LKmVG.mjs → pl_CKanAk0F.mjs} +22 -2
  74. package/dist/server/chunks/plugins_Rnyim3HN.mjs +133 -0
  75. package/dist/server/chunks/{post-types_g7oMw8xZ.mjs → post-types_B9aran6P.mjs} +40 -14
  76. package/dist/server/chunks/{pt-BR_BM0FS26r.mjs → pt-BR_C4s8qQI4.mjs} +97 -13
  77. package/dist/server/chunks/{ru_CFa1xYFr.mjs → ru_CuNXt2MB.mjs} +22 -2
  78. package/dist/server/chunks/{sw_QZf7NSsI.mjs → sw_RLMWPkos.mjs} +22 -2
  79. package/dist/server/chunks/{taxonomies_CX8h73Lt.mjs → taxonomies_BoQfQyXo.mjs} +2 -2
  80. package/dist/server/chunks/{taxonomy_D8om_RNg.mjs → taxonomy_IQtZsy_i.mjs} +39 -24
  81. package/dist/server/chunks/themes_DbXTXyPr.mjs +132 -0
  82. package/dist/server/chunks/{tr_Fjry5R-K.mjs → tr_Dz8pqyTZ.mjs} +22 -2
  83. package/dist/server/chunks/{uk_Bxc3qY45.mjs → uk_BjwqlweA.mjs} +22 -2
  84. package/dist/server/chunks/{upload_r2qJskLo.mjs → upload_DFhwOXyV.mjs} +2 -2
  85. package/dist/server/chunks/webhooks_rjPh4g3b.mjs +217 -0
  86. package/dist/server/chunks/{yo_BARL-Qrh.mjs → yo_Dv14KWVR.mjs} +22 -2
  87. package/dist/server/chunks/{zh-CN_CkjPJL88.mjs → zh-CN_DjIZCWzG.mjs} +22 -2
  88. package/dist/server/entry.mjs +152 -101
  89. package/dist/server/virtual_astro_middleware.mjs +1 -1
  90. package/package.json +6 -5
  91. package/dist/client/_astro/ActivityWidget.DGLCPDgH.js +0 -16
  92. package/dist/client/_astro/AdminBar.Cj9iKizr.js +0 -253
  93. package/dist/client/_astro/ContentEditor.SP4PO6Pb.js +0 -3
  94. package/dist/client/_astro/ContentList.o2zVu57t.js +0 -1
  95. package/dist/client/_astro/CustomFieldsManager.CvWD3R1q.js +0 -3
  96. package/dist/client/_astro/DashboardHome.DnCbpnkg.js +0 -1
  97. package/dist/client/_astro/DashboardLayout.BOoRKX4v.css +0 -1
  98. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.7Kcbf7KO.js +0 -1
  99. package/dist/client/_astro/FieldTypePicker.Cyfzqug-.js +0 -1
  100. package/dist/client/_astro/GeneralSettings.Ditcyy4b.js +0 -1
  101. package/dist/client/_astro/MediaLibrary.qzwN-LI5.js +0 -1
  102. package/dist/client/_astro/PluginManager.DEkeX_0Z.js +0 -93
  103. package/dist/client/_astro/PostTypesManager.CGYbeXgb.js +0 -1
  104. package/dist/client/_astro/QuickDraftWidget.xoJjOM58.js +0 -17
  105. package/dist/client/_astro/ResourceHubs.BHlRlPvI.js +0 -1
  106. package/dist/client/_astro/TaxonomiesManager.DKQAGS8n.js +0 -1
  107. package/dist/client/_astro/TaxonomyTermsManager.CyB7XH-D.js +0 -1
  108. package/dist/client/_astro/ThemeManager.BBKCx5pa.js +0 -129
  109. package/dist/client/_astro/UserCreateForm.BDsHkQYW.js +0 -1
  110. package/dist/client/_astro/UsersManager.DeQ4uL3a.js +0 -1
  111. package/dist/client/_astro/api.DD5u5p4h.js +0 -1
  112. package/dist/client/_astro/ar.CwC9hXB9.js +0 -1
  113. package/dist/client/_astro/custom-fields.IjuRIdAC.css +0 -1
  114. package/dist/client/_astro/es-ES.qNcd-cVX.js +0 -1
  115. package/dist/client/_astro/extensions.DLE6XtMB.js +0 -1
  116. package/dist/client/_astro/he.DfZ0ZzM-.js +0 -1
  117. package/dist/client/_astro/i18n.JWFhLjfn.js +0 -1
  118. package/dist/client/_astro/it.PFmLQj2s.js +0 -1
  119. package/dist/client/_astro/ja.CMi5cD8g.js +0 -1
  120. package/dist/client/_astro/pl.CRExzLlj.js +0 -1
  121. package/dist/client/_astro/pt-BR.CGjPpous.js +0 -1
  122. package/dist/client/_astro/ru.CWV-tkZ3.js +0 -1
  123. package/dist/client/_astro/src.lFTwiz1W.js +0 -1
  124. package/dist/client/_astro/sw.B5x6GU4s.js +0 -1
  125. package/dist/client/_astro/tr.BzxCGQu8.js +0 -1
  126. package/dist/client/_astro/uk.DJHMwNRU.js +0 -1
  127. package/dist/client/_astro/yo.DNw_hOnW.js +0 -1
  128. package/dist/client/_astro/zh-CN.Bs7H6Unx.js +0 -1
  129. package/dist/server/chunks/FieldTypePicker_CXwpmcQ3.mjs +0 -79
  130. package/dist/server/chunks/ResourceHubs_BJMX1AJR.mjs +0 -453
  131. package/dist/server/chunks/access_DNxcWCO1.mjs +0 -34
  132. package/dist/server/chunks/operations_vnv5cnws.mjs +0 -34
  133. package/dist/server/chunks/plugins_pNXwbZGI.mjs +0 -156
  134. package/dist/server/chunks/resources_DhbyXd_o.mjs +0 -34
  135. package/dist/server/chunks/themes_JX5WVf2J.mjs +0 -155
  136. /package/dist/server/chunks/{BaseLayout_m8b8Eemd.mjs → BaseLayout_C_gR8Xx3.mjs} +0 -0
@@ -0,0 +1,133 @@
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_BJJWXenY.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
6
+ import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
+ import { For, createSignal, onMount } from "solid-js";
8
+ //#region src/components/apps/plugins/PluginManager.tsx
9
+ var _tmpl$ = [
10
+ "<div",
11
+ " class=\"plugin-manager\"><div class=\"page-header\"><h2>",
12
+ "</h2><p class=\"page-description\">",
13
+ "</p><p class=\"page-hint\">",
14
+ "</p></div><!--$-->",
15
+ "<!--/--><!--$-->",
16
+ "<!--/--><!--$-->",
17
+ "<!--/--><style>\n .page-header {\n margin-bottom: 1.5rem;\n }\n .page-header h2 {\n margin: 0 0 0.5rem;\n font-size: 1.5rem;\n font-weight: 600;\n }\n .page-description {\n margin: 0;\n color: var(--color-muted);\n font-size: 0.875rem;\n }\n .page-hint {\n margin: 0.35rem 0 0;\n color: var(--color-muted);\n font-size: 0.75rem;\n }\n .plugins-table-container {\n overflow-x: auto;\n }\n .table {\n width: 100%;\n border-collapse: collapse;\n }\n .table th,\n .table td {\n padding: 0.75rem 1rem;\n text-align: left;\n border-bottom: 1px solid var(--color-border);\n }\n .table th {\n font-weight: 600;\n color: var(--color-text);\n background: var(--color-surface);\n }\n .plugin-row:hover {\n background: var(--color-background);\n }\n .plugin-name {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n .plugin-name strong {\n font-weight: 500;\n }\n .plugin-description {\n font-size: 0.75rem;\n color: var(--color-muted);\n }\n .status-badge {\n display: inline-flex;\n align-items: center;\n padding: 0.25rem 0.5rem;\n border-radius: var(--radius-full);\n font-size: 0.6875rem;\n font-weight: 600;\n text-transform: uppercase;\n }\n .status-active {\n background: var(--color-success-soft);\n color: var(--color-success);\n }\n .status-installed {\n background: var(--color-primary-soft);\n color: var(--color-primary);\n }\n .status-inactive {\n background: var(--color-muted-soft);\n color: var(--color-muted);\n }\n .btn-loading {\n opacity: 0.6;\n cursor: wait;\n }\n .empty-state {\n padding: 2rem;\n text-align: center;\n color: var(--color-muted);\n }\n .alert {\n padding: 0.75rem 1rem;\n border-radius: var(--radius-md);\n margin-bottom: 1rem;\n }\n .alert-error {\n background: var(--color-error-soft);\n color: var(--color-error);\n border: 1px solid var(--color-error);\n }\n .skeleton {\n padding: 2rem;\n text-align: center;\n color: var(--color-muted);\n }\n </style></div>"
18
+ ];
19
+ var _tmpl$2 = [
20
+ "<div",
21
+ " class=\"alert alert-error\">",
22
+ "</div>"
23
+ ];
24
+ var _tmpl$3 = ["<div", " class=\"skeleton\">Loading...</div>"];
25
+ var _tmpl$4 = [
26
+ "<div",
27
+ " class=\"plugins-table-container\"><table class=\"table\"><thead><tr><th>",
28
+ "</th><th>",
29
+ "</th><th>",
30
+ "</th><th>",
31
+ "</th></tr></thead><tbody>",
32
+ "</tbody></table><!--$-->",
33
+ "<!--/--></div>"
34
+ ];
35
+ var _tmpl$5 = [
36
+ "<tr",
37
+ " class=\"plugin-row\"><td class=\"plugin-name\"><strong>",
38
+ "</strong><!--$-->",
39
+ "<!--/--></td><td>",
40
+ "</td><td><span class=\"",
41
+ "\">",
42
+ "</span></td><td><button class=\"",
43
+ "\"",
44
+ ">",
45
+ "</button></td></tr>"
46
+ ];
47
+ var _tmpl$6 = [
48
+ "<span",
49
+ " class=\"plugin-description\">",
50
+ "</span>"
51
+ ];
52
+ var _tmpl$7 = [
53
+ "<div",
54
+ " class=\"empty-state\">",
55
+ "</div>"
56
+ ];
57
+ function PluginManager() {
58
+ const { t } = useTranslation();
59
+ const [plugins, setPlugins] = createSignal([]);
60
+ const [loading, setLoading] = createSignal(true);
61
+ const [error, setError] = createSignal(null);
62
+ const [toggling, setToggling] = createSignal(null);
63
+ onMount(async () => {
64
+ await loadPlugins();
65
+ });
66
+ async function loadPlugins() {
67
+ try {
68
+ setLoading(true);
69
+ const data = await apiClient.getPlugins();
70
+ setPlugins(data);
71
+ } catch {
72
+ setError(t("plugins.loadError"));
73
+ } finally {
74
+ setLoading(false);
75
+ }
76
+ }
77
+ const isActive = (plugin) => plugin.status === "ACTIVE" || plugin.status === "ACTIVATED";
78
+ const getStatusLabel = (status) => {
79
+ switch (status) {
80
+ case "ACTIVE":
81
+ case "ACTIVATED": return t("plugins.status.active");
82
+ case "INSTALLED": return t("plugins.status.installed");
83
+ case "INACTIVE":
84
+ case "DEACTIVATED": return t("plugins.status.inactive");
85
+ default: return status;
86
+ }
87
+ };
88
+ const getStatusClass = (status) => {
89
+ switch (status) {
90
+ case "ACTIVE":
91
+ case "ACTIVATED": return "status-active";
92
+ case "INSTALLED": return "status-installed";
93
+ case "INACTIVE":
94
+ case "DEACTIVATED": return "status-inactive";
95
+ default: return "";
96
+ }
97
+ };
98
+ return ssr(_tmpl$, ssrHydrationKey(), escape(t("plugins.title")), escape(t("plugins.description")), escape(t("plugins.directoryHint")), error() && ssr(_tmpl$2, ssrHydrationKey(), escape(error())), loading() && _tmpl$3[0] + ssrHydrationKey() + _tmpl$3[1], !loading() && !error() && ssr(_tmpl$4, ssrHydrationKey(), escape(t("plugins.columns.name")), escape(t("plugins.columns.version")), escape(t("plugins.columns.status")), escape(t("plugins.columns.actions")), escape(createComponent(For, {
99
+ get each() {
100
+ return plugins();
101
+ },
102
+ children: (plugin) => ssr(_tmpl$5, ssrHydrationKey(), escape(plugin.name), plugin.manifest?.description && ssr(_tmpl$6, ssrHydrationKey(), escape(plugin.manifest.description)), escape(plugin.version), `status-badge ${escape(getStatusClass(plugin.status), true)}`, escape(getStatusLabel(plugin.status)), `btn btn-sm ${toggling() === plugin.id ? "btn-loading" : ""}`, ssrAttribute("disabled", toggling() !== null, true) + ssrAttribute("aria-label", isActive(plugin) ? escape(t("plugins.deactivate"), true) : escape(t("plugins.activate"), true), false), isActive(plugin) ? escape(t("plugins.deactivate")) : escape(t("plugins.activate")))
103
+ })), plugins().length === 0 && ssr(_tmpl$7, ssrHydrationKey(), escape(t("plugins.empty")))));
104
+ }
105
+ //#endregion
106
+ //#region src/pages/plugins.astro
107
+ var plugins_exports = /* @__PURE__ */ __exportAll({
108
+ default: () => $$Plugins,
109
+ file: () => $$file,
110
+ url: () => $$url
111
+ });
112
+ createAstro("https://astro.build");
113
+ var $$Plugins = createComponent$1(($$result, $$props, $$slots) => {
114
+ const Astro = $$result.createAstro($$props, $$slots);
115
+ Astro.self = $$Plugins;
116
+ const { t } = Astro.locals;
117
+ return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
118
+ "title": t("plugins.title"),
119
+ "description": t("plugins.description")
120
+ }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PluginManager", PluginManager, {
121
+ "client:load": true,
122
+ "client:component-hydration": "load",
123
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/plugins/PluginManager.tsx",
124
+ "client:component-export": "PluginManager"
125
+ })}` })}`;
126
+ }, "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro", void 0);
127
+ var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro";
128
+ var $$url = "/plugins";
129
+ //#endregion
130
+ //#region \0virtual:astro:page:src/pages/plugins@_@astro
131
+ var page = () => plugins_exports;
132
+ //#endregion
133
+ export { page };
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, 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 "./i18n_DIBvEjfq.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_DCIiRkcO.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BJJWXenY.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
6
6
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
7
  import { For, Show, createMemo, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/settings/PostTypesManager.tsx
@@ -12,6 +12,11 @@ var _tmpl$ = [
12
12
  "</div>"
13
13
  ];
14
14
  var _tmpl$2 = [
15
+ "<button",
16
+ " type=\"button\" class=\"btn btn-secondary\">",
17
+ "</button>"
18
+ ];
19
+ var _tmpl$3 = [
15
20
  "<div",
16
21
  " class=\"post-types-manager\"><!--$-->",
17
22
  "<!--/--><form class=\"card\"><h3>",
@@ -21,13 +26,21 @@ var _tmpl$2 = [
21
26
  "<!--/--><input class=\"input\" required",
22
27
  "></label><label><!--$-->",
23
28
  "<!--/--><input class=\"input\" required",
24
- "></label></div><fieldset class=\"supports\"><legend>",
29
+ "></label><label><!--$-->",
30
+ "<!--/--><input class=\"input\"",
31
+ " placeholder=\"box\"><small class=\"muted\">",
32
+ "</small></label></div><fieldset class=\"supports\"><legend>",
25
33
  "</legend><!--$-->",
26
34
  "<!--/--><label><input type=\"checkbox\"",
27
35
  "> <!--$-->",
36
+ "<!--/--></label><label><input type=\"checkbox\"",
37
+ "> <!--$-->",
28
38
  "<!--/--></label></fieldset><button type=\"submit\" class=\"btn btn-primary\"",
29
39
  ">",
30
- "</button></form><table class=\"table\"><thead><tr><th>",
40
+ "</button><!--$-->",
41
+ "<!--/--></form><table class=\"table\"><thead><tr><th>",
42
+ "</th><th>",
43
+ "</th><th>",
31
44
  "</th><th>",
32
45
  "</th><th>",
33
46
  "</th><th>",
@@ -36,18 +49,18 @@ var _tmpl$2 = [
36
49
  "</th><th></th></tr></thead><tbody>",
37
50
  "</tbody></table></div>"
38
51
  ];
39
- var _tmpl$3 = [
52
+ var _tmpl$4 = [
40
53
  "<label",
41
54
  "><input type=\"checkbox\"",
42
55
  "> <!--$-->",
43
56
  "<!--/--></label>"
44
57
  ];
45
- var _tmpl$4 = [
58
+ var _tmpl$5 = [
46
59
  "<button",
47
60
  " type=\"button\" class=\"btn btn-danger\">",
48
61
  "</button>"
49
62
  ];
50
- var _tmpl$5 = [
63
+ var _tmpl$6 = [
51
64
  "<tr",
52
65
  "><td>",
53
66
  "</td><td>",
@@ -56,13 +69,17 @@ var _tmpl$5 = [
56
69
  "</td><td>",
57
70
  "</td><td>",
58
71
  "</td><td>",
59
- "</td></tr>"
72
+ "</td><td>",
73
+ "</td><td><button type=\"button\" class=\"btn btn-secondary\">",
74
+ "</button> <!--$-->",
75
+ "<!--/--></td></tr>"
60
76
  ];
61
77
  function PostTypesManager() {
62
78
  const { t } = useTranslation();
63
79
  const [types, setTypes] = createSignal([]);
64
80
  const [error, setError] = createSignal("");
65
81
  const [saving, setSaving] = createSignal(false);
82
+ const [editingSlug, setEditingSlug] = createSignal(null);
66
83
  const supportsOptions = createMemo(() => [
67
84
  {
68
85
  value: "title",
@@ -91,6 +108,8 @@ function PostTypesManager() {
91
108
  singularLabel: "",
92
109
  pluralLabel: "",
93
110
  hasArchive: false,
111
+ singleton: false,
112
+ menuIcon: "box",
94
113
  supports: ["title", "editor"]
95
114
  });
96
115
  const load = async () => {
@@ -101,28 +120,35 @@ function PostTypesManager() {
101
120
  }
102
121
  };
103
122
  onMount(load);
104
- return ssr(_tmpl$2, ssrHydrationKey(), escape(createComponent(Show, {
123
+ return ssr(_tmpl$3, ssrHydrationKey(), escape(createComponent(Show, {
105
124
  get when() {
106
125
  return error();
107
126
  },
108
127
  get children() {
109
128
  return ssr(_tmpl$, ssrHydrationKey(), escape(error()));
110
129
  }
111
- })), escape(t("settings.postTypes.form.title")), escape(t("settings.postTypes.form.slug")), ssrAttribute("title", escape(t("settings.postTypes.form.slugHint"), true), false) + ssrAttribute("value", escape(form().slug, true), false), escape(t("settings.postTypes.form.singular")), ssrAttribute("value", escape(form().singularLabel, true), false), escape(t("settings.postTypes.form.plural")), ssrAttribute("value", escape(form().pluralLabel, true), false), escape(t("settings.postTypes.form.supports")), escape(createComponent(For, {
130
+ })), editingSlug() ? escape(t("settings.postTypes.form.editTitle")) : escape(t("settings.postTypes.form.title")), escape(t("settings.postTypes.form.slug")), ssrAttribute("title", escape(t("settings.postTypes.form.slugHint"), true), false) + ssrAttribute("value", escape(form().slug, true), false), escape(t("settings.postTypes.form.singular")), ssrAttribute("value", escape(form().singularLabel, true), false), escape(t("settings.postTypes.form.plural")), ssrAttribute("value", escape(form().pluralLabel, true), false), escape(t("settings.postTypes.form.icon")), ssrAttribute("value", escape(form().menuIcon, true), false), escape(t("settings.postTypes.form.iconHint")), escape(t("settings.postTypes.form.supports")), escape(createComponent(For, {
112
131
  get each() {
113
132
  return supportsOptions();
114
133
  },
115
- children: (option) => ssr(_tmpl$3, ssrHydrationKey(), ssrAttribute("checked", form().supports.includes(option.value), true), escape(option.label))
116
- })), ssrAttribute("checked", form().hasArchive, true), escape(t("settings.postTypes.form.hasArchive")), ssrAttribute("disabled", saving(), true), escape(t("settings.postTypes.form.create")), escape(t("settings.postTypes.table.slug")), escape(t("settings.postTypes.table.singular")), escape(t("settings.postTypes.table.plural")), escape(t("settings.postTypes.table.source")), escape(t("settings.postTypes.table.supports")), escape(t("settings.postTypes.table.archive")), escape(createComponent(For, {
134
+ children: (option) => ssr(_tmpl$4, ssrHydrationKey(), ssrAttribute("checked", form().supports.includes(option.value), true), escape(option.label))
135
+ })), ssrAttribute("checked", form().hasArchive, true), escape(t("settings.postTypes.form.hasArchive")), ssrAttribute("checked", form().singleton, true), escape(t("settings.postTypes.form.singleton")), ssrAttribute("disabled", saving(), true), editingSlug() ? escape(t("settings.postTypes.form.update")) : escape(t("settings.postTypes.form.create")), escape(createComponent(Show, {
136
+ get when() {
137
+ return editingSlug();
138
+ },
139
+ get children() {
140
+ return ssr(_tmpl$2, ssrHydrationKey(), escape(t("settings.postTypes.form.cancel")));
141
+ }
142
+ })), escape(t("settings.postTypes.table.slug")), escape(t("settings.postTypes.table.singular")), escape(t("settings.postTypes.table.plural")), escape(t("settings.postTypes.table.source")), escape(t("settings.postTypes.table.supports")), escape(t("settings.postTypes.table.archive")), escape(t("settings.postTypes.table.mode")), escape(t("settings.postTypes.table.icon")), escape(createComponent(For, {
117
143
  get each() {
118
144
  return types();
119
145
  },
120
- children: (type) => ssr(_tmpl$5, ssrHydrationKey(), escape(type.slug), escape(type.singularLabel), escape(type.pluralLabel), escape(type.source ?? t("settings.postTypes.sources.admin")), escape((type.supports ?? []).join(", ")), type.hasArchive ? escape(t("common.yes")) : escape(t("common.no")), escape(createComponent(Show, {
146
+ children: (type) => ssr(_tmpl$6, ssrHydrationKey(), escape(type.slug), escape(type.singularLabel), escape(type.pluralLabel), escape(type.source ?? t("settings.postTypes.sources.admin")), escape((type.supports ?? []).join(", ")), type.hasArchive ? escape(t("common.yes")) : escape(t("common.no")), type.singleton ? escape(t("settings.postTypes.table.singleton")) : escape(t("settings.postTypes.table.collection")), escape(type.menuIcon ?? "box"), escape(t("settings.postTypes.table.actions.edit")), escape(createComponent(Show, {
121
147
  get when() {
122
148
  return type.source !== "CORE";
123
149
  },
124
150
  get children() {
125
- return ssr(_tmpl$4, ssrHydrationKey(), escape(t("settings.postTypes.table.actions.remove")));
151
+ return ssr(_tmpl$5, ssrHydrationKey(), escape(t("settings.postTypes.table.actions.remove")));
126
152
  }
127
153
  })))
128
154
  })));
@@ -7,6 +7,7 @@ var layout = {
7
7
  "content": "Conteúdo",
8
8
  "media": "Mídia",
9
9
  "users": "Usuários",
10
+ "menus": "Menus",
10
11
  "settings": "Configurações",
11
12
  "plugins": "Plugins",
12
13
  "themes": "Temas"
@@ -71,6 +72,7 @@ var content = {
71
72
  "list": {
72
73
  "title": "Conteúdo",
73
74
  "description": "Busque, filtre, edite e publique seu conteúdo.",
75
+ "typeNotFound": "Este tipo de conteúdo não foi encontrado.",
74
76
  "columns": {
75
77
  "title": "Título",
76
78
  "type": "Tipo",
@@ -144,6 +146,7 @@ var content = {
144
146
  "choose": "Escolha uma taxonomia no menu de conteúdo.",
145
147
  "notFound": "Taxonomia não encontrada.",
146
148
  "addTerm": "Adicionar novo termo",
149
+ "editTerm": "Editar termo",
147
150
  "name": "Nome",
148
151
  "slug": "Slug",
149
152
  "description": "Descrição",
@@ -291,6 +294,12 @@ var settings = {
291
294
  "revisions": "Revisões"
292
295
  },
293
296
  "hasArchive": "Possui arquivo público (/slug)",
297
+ "singleton": "Singleton (apenas um conteúdo)",
298
+ "icon": "Ícone do sidebar (nome Lucide)",
299
+ "iconHint": "Exemplos: box, package, shopping-bag, file-text",
300
+ "editTitle": "Editar Tipo de Conteúdo",
301
+ "update": "Atualizar",
302
+ "cancel": "Cancelar",
294
303
  "create": "Criar"
295
304
  },
296
305
  "table": {
@@ -300,7 +309,14 @@ var settings = {
300
309
  "source": "Origem",
301
310
  "supports": "Suporta",
302
311
  "archive": "Arquivo",
303
- "actions": { "remove": "Remover" }
312
+ "mode": "Modo",
313
+ "singleton": "Singleton",
314
+ "collection": "Coleção",
315
+ "icon": "Ícone",
316
+ "actions": {
317
+ "edit": "Editar",
318
+ "remove": "Remover"
319
+ }
304
320
  },
305
321
  "sources": {
306
322
  "admin": "Admin",
@@ -379,6 +395,8 @@ var settings = {
379
395
  "new": "Novo grupo de campos",
380
396
  "empty": "Ainda não há grupos de campos personalizados.",
381
397
  "fields": "campos",
398
+ "appliesTo": "Aplicado a",
399
+ "allContentTypes": "Todos os tipos de conteúdo",
382
400
  "edit": "Editar",
383
401
  "active": "Ativo",
384
402
  "inactive": "Inativo"
@@ -388,6 +406,9 @@ var settings = {
388
406
  "editTitle": "Editar grupo de campos",
389
407
  "title": "Nome do grupo",
390
408
  "titlePlaceholder": "Ex.: Detalhes do produto",
409
+ "assignTitle": "Localização",
410
+ "assignDescription": "Escolha o content type onde este grupo de campos estará disponível.",
411
+ "contentType": "Content type",
391
412
  "position": "Posição",
392
413
  "positions": {
393
414
  "normal": "Normal",
@@ -428,6 +449,23 @@ var settings = {
428
449
  "loadError": "Não foi possível carregar os campos personalizados."
429
450
  }
430
451
  };
452
+ var menus = {
453
+ "title": "Menus",
454
+ "description": "Crie e gerencie os menus de navegação usados pelo seu site.",
455
+ "hint": "Os menus são independentes dos content types e podem ser renderizados pelo seu tema.",
456
+ "new": "Novo menu",
457
+ "create": "Criar menu",
458
+ "edit": "Editar menu",
459
+ "name": "Nome",
460
+ "slug": "Slug",
461
+ "items": "Itens do menu (JSON)",
462
+ "itemsHint": "Use uma lista JSON de objetos de menu. O tema controla como eles serão exibidos.",
463
+ "invalidItems": "Os itens do menu precisam ser uma lista JSON válida.",
464
+ "saved": "Menu salvo.",
465
+ "deleted": "Menu excluído.",
466
+ "empty": "Ainda não há menus.",
467
+ "confirmDelete": "Excluir o menu \"{name}\"?"
468
+ };
431
469
  var resources = {
432
470
  "title": "Recursos de conteúdo",
433
471
  "description": "Descrição",
@@ -460,20 +498,61 @@ var access = {
460
498
  "permissions": "Permissões (separadas por vírgula)",
461
499
  "domain": "Domínio"
462
500
  };
463
- var operations = {
464
- "title": "Operações",
465
- "description": "Gerencie webhooks, builds, deployments e eventos.",
466
- "webhooks": "Webhooks",
501
+ var logs = {
502
+ "title": "Logs",
503
+ "description": "Histórico completo das ações realizadas dentro do CMS.",
504
+ "retentionTitle": "Retenção dos logs",
505
+ "retentionDescription": "Logs mais antigos que este período serão removidos automaticamente.",
506
+ "retentionDays": "Manter logs por (dias)",
507
+ "retentionSaved": "Retenção dos logs atualizada.",
508
+ "historyTitle": "Histórico de auditoria",
509
+ "actionFilter": "Filtrar por ação",
510
+ "resourceFilter": "Filtrar por recurso",
511
+ "loading": "Carregando logs…",
512
+ "empty": "Nenhuma ação registrada ainda.",
513
+ "system": "Sistema",
514
+ "columns": {
515
+ "date": "Data",
516
+ "action": "Ação",
517
+ "resource": "Recurso",
518
+ "user": "Usuário",
519
+ "status": "Status",
520
+ "ip": "IP"
521
+ }
522
+ };
523
+ var webhooks = {
524
+ "title": "Webhooks",
525
+ "description": "Envie eventos do CMS para serviços externos com autenticação configurável.",
526
+ "listTitle": "Webhooks configurados",
527
+ "new": "Novo webhook",
528
+ "create": "Criar webhook",
529
+ "edit": "Editar webhook",
530
+ "url": "URL do endpoint",
467
531
  "events": "Eventos",
468
- "secret": "Segredo",
469
- "builds": "Builds",
470
- "deployments": "Deployments",
471
- "createBuild": "Criar build",
472
- "deploy": "Publicar deploy"
532
+ "authentication": "Autenticação",
533
+ "active": "Ativo",
534
+ "token": "Token Bearer",
535
+ "username": "Usuário",
536
+ "password": "Senha",
537
+ "headerName": "Nome do header",
538
+ "apiKeyValue": "Valor da API key",
539
+ "secret": "Segredo HMAC",
540
+ "signatureHeader": "Header da assinatura",
541
+ "keepExisting": "Deixe em branco para manter o valor atual",
542
+ "loading": "Carregando webhooks…",
543
+ "empty": "Nenhum webhook configurado.",
544
+ "auth": {
545
+ "none": "Nenhuma",
546
+ "bearer": "Token Bearer",
547
+ "basic": "Autenticação básica",
548
+ "apiKey": "API key",
549
+ "hmac_sha256": "HMAC SHA-256"
550
+ }
473
551
  };
474
552
  var plugins = {
475
553
  "title": "Plugins",
476
554
  "description": "Gerencie os plugins instalados.",
555
+ "directoryHint": "Detectados automaticamente no diretório plugins/ do projeto. Use a CLI ou o deploy para adicionar extensões.",
477
556
  "columns": {
478
557
  "name": "Nome",
479
558
  "version": "Versão",
@@ -503,6 +582,7 @@ var plugins = {
503
582
  var themes = {
504
583
  "title": "Temas",
505
584
  "description": "Gerencie os temas instalados.",
585
+ "directoryHint": "Detectados automaticamente no diretório themes/ do projeto. Use a CLI ou o deploy para adicionar temas.",
506
586
  "version": "Versão",
507
587
  "active": "Ativo",
508
588
  "status": {
@@ -568,7 +648,9 @@ var common = {
568
648
  "archived": "Arquivado",
569
649
  "locked": "Bloqueado"
570
650
  },
571
- "language": "Idioma"
651
+ "language": "Idioma",
652
+ "refresh": "Atualizar",
653
+ "actions": "Ações"
572
654
  };
573
655
  var activity = {
574
656
  "justNow": "agora mesmo",
@@ -626,9 +708,11 @@ var pt_BR_default = {
626
708
  media,
627
709
  users,
628
710
  settings,
711
+ menus,
629
712
  resources,
630
713
  access,
631
- operations,
714
+ logs,
715
+ webhooks,
632
716
  plugins,
633
717
  themes,
634
718
  login,
@@ -640,4 +724,4 @@ var pt_BR_default = {
640
724
  screenOptions
641
725
  };
642
726
  //#endregion
643
- export { access, activity, adminBar, common, content, dashboard, pt_BR_default as default, footer, helpTabs, layout, login, media, operations, plugins, resources, screenOptions, settings, themes, users };
727
+ export { access, activity, adminBar, common, content, dashboard, pt_BR_default as default, footer, helpTabs, layout, login, logs, media, menus, plugins, resources, screenOptions, settings, themes, users, webhooks };
@@ -7,6 +7,7 @@ var layout = {
7
7
  "content": "Контент",
8
8
  "media": "Медиа",
9
9
  "users": "Пользователи",
10
+ "menus": "Меню",
10
11
  "settings": "Настройки",
11
12
  "plugins": "Плагины",
12
13
  "themes": "Темы"
@@ -122,7 +123,25 @@ var content = {
122
123
  "inspectTypes": "Инспектировать доступные типы",
123
124
  "save": "Сохранить",
124
125
  "saved": "Контент успешно сохранен."
125
- }
126
+ },
127
+ "taxonomy": { "editTerm": "Изменить термин" }
128
+ };
129
+ var menus = {
130
+ "title": "Меню",
131
+ "description": "Создавайте и управляйте меню навигации сайта.",
132
+ "hint": "Меню независимы от типов контента и могут отображаться темой.",
133
+ "new": "Новое меню",
134
+ "create": "Создать меню",
135
+ "edit": "Изменить меню",
136
+ "name": "Название",
137
+ "slug": "Slug",
138
+ "items": "Пункты меню (JSON)",
139
+ "itemsHint": "Используйте JSON-массив объектов пунктов меню.",
140
+ "invalidItems": "Пункты меню должны быть корректным JSON-массивом.",
141
+ "saved": "Меню сохранено.",
142
+ "deleted": "Меню удалено.",
143
+ "empty": "Меню пока нет.",
144
+ "confirmDelete": "Удалить меню \"{name}\"?"
126
145
  };
127
146
  var media = {
128
147
  "title": "Медиатека",
@@ -395,6 +414,7 @@ var ru_default = {
395
414
  layout,
396
415
  dashboard,
397
416
  content,
417
+ menus,
398
418
  media,
399
419
  users,
400
420
  settings,
@@ -407,4 +427,4 @@ var ru_default = {
407
427
  screenOptions
408
428
  };
409
429
  //#endregion
410
- export { activity, adminBar, common, content, dashboard, ru_default as default, footer, helpTabs, layout, login, media, screenOptions, settings, users };
430
+ export { activity, adminBar, common, content, dashboard, ru_default as default, footer, helpTabs, layout, login, media, menus, screenOptions, settings, users };
@@ -7,6 +7,7 @@ var layout = {
7
7
  "content": "Maudhui",
8
8
  "media": "Media",
9
9
  "users": "Watumiaji",
10
+ "menus": "Menyu",
10
11
  "settings": "Mipangilio",
11
12
  "plugins": "Programu-jalizi",
12
13
  "themes": "Mandhari"
@@ -122,7 +123,25 @@ var content = {
122
123
  "inspectTypes": "Chunguza Aina Zinazopatikana",
123
124
  "save": "Hifadhi",
124
125
  "saved": "Maudhui yamehifadhiwa kwa mafanikio."
125
- }
126
+ },
127
+ "taxonomy": { "editTerm": "Hariri neno" }
128
+ };
129
+ var menus = {
130
+ "title": "Menyu",
131
+ "description": "Unda na udhibiti menyu za urambazaji za tovuti yako.",
132
+ "hint": "Menyu ziko huru kutoka aina za maudhui na zinaweza kuonyeshwa na mandhari.",
133
+ "new": "Menyu mpya",
134
+ "create": "Unda menyu",
135
+ "edit": "Hariri menyu",
136
+ "name": "Jina",
137
+ "slug": "Slug",
138
+ "items": "Vipengee vya menyu (JSON)",
139
+ "itemsHint": "Tumia safu ya JSON ya vitu vya menyu.",
140
+ "invalidItems": "Vipengee vya menyu lazima viwe safu halali ya JSON.",
141
+ "saved": "Menyu imehifadhiwa.",
142
+ "deleted": "Menyu imefutwa.",
143
+ "empty": "Hakuna menyu bado.",
144
+ "confirmDelete": "Futa menyu \"{name}\"?"
126
145
  };
127
146
  var media = {
128
147
  "title": "Maktaba ya Media",
@@ -395,6 +414,7 @@ var sw_default = {
395
414
  layout,
396
415
  dashboard,
397
416
  content,
417
+ menus,
398
418
  media,
399
419
  users,
400
420
  settings,
@@ -407,4 +427,4 @@ var sw_default = {
407
427
  screenOptions
408
428
  };
409
429
  //#endregion
410
- export { activity, adminBar, common, content, dashboard, sw_default as default, footer, helpTabs, layout, login, media, screenOptions, settings, users };
430
+ export { activity, adminBar, common, content, dashboard, sw_default as default, footer, helpTabs, layout, login, media, menus, screenOptions, settings, users };
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, 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 "./i18n_DIBvEjfq.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_DCIiRkcO.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BJJWXenY.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
6
6
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
7
7
  import { For, Show, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/settings/TaxonomiesManager.tsx