@oktis-works/admin 0.4.20 → 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 (135) hide show
  1. package/dist/client/_astro/{ActivityWidget.BbEtaaM-.js → ActivityWidget.DPHDSR70.js} +2 -2
  2. package/dist/client/_astro/AdminBar.Cfe6Btfm.js +253 -0
  3. package/dist/client/_astro/{AtGlanceWidget.C1hpeDlx.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.CGou4voc.css → DashboardLayout.cOPI1C7I.css} +1 -1
  12. package/dist/client/_astro/{Footer.rUGgtlfI.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.O-AlzgHd.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.BQq07lEn.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_DS7flRjR.mjs → ContentEditor_Dat_38Nz.mjs} +7 -27
  50. package/dist/server/chunks/{DashboardLayout_09DepSVn.mjs → DashboardLayout_DsYrIyKK.mjs} +15 -15
  51. package/dist/server/chunks/{MediaLibrary_Xs09kLza.mjs → MediaLibrary_BmYgO6Lm.mjs} +2 -2
  52. package/dist/server/chunks/{_slug__l8CTaLpP.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_Dp7DHJ0M.mjs → custom-fields_Dp_CVTYc.mjs} +110 -7
  56. package/dist/server/chunks/{edit_hSCrM2Gq.mjs → edit_BaSFaTjX.mjs} +2 -2
  57. package/dist/server/chunks/{es-ES_dBEm2FNw.mjs → es-ES_DD40B9Zr.mjs} +22 -2
  58. package/dist/server/chunks/{general_Ct9MU7b-.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_BqFK0MIW.mjs → i18n_BJJWXenY.mjs} +114 -56
  61. package/dist/server/chunks/{index_DQ5pFuPN.mjs → index_1F1_RTJb.mjs} +2 -2
  62. package/dist/server/chunks/{index_Cv2j9xC_.mjs → index_B4nb6VH_.mjs} +2 -2
  63. package/dist/server/chunks/{index_uv0IHg8r.mjs → index_Bck2SDPK.mjs} +2 -2
  64. package/dist/server/chunks/{index_B77wdzK2.mjs → index_DA7KSBNI.mjs} +1 -1
  65. package/dist/server/chunks/{index_CBfRX_VO.mjs → index_DCsZz61C.mjs} +3 -3
  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_XOnqlHm3.mjs → new_CSaDDm4Z.mjs} +2 -2
  72. package/dist/server/chunks/{new_DpJfTahF.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_DziideHh.mjs → post-types_B9aran6P.mjs} +2 -2
  76. package/dist/server/chunks/{pt-BR_CBnqy3xP.mjs → pt-BR_C4s8qQI4.mjs} +82 -12
  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_Bc6xPaKp.mjs → taxonomies_BoQfQyXo.mjs} +2 -2
  80. package/dist/server/chunks/{taxonomy_Cv4_KTTL.mjs → taxonomy_IQtZsy_i.mjs} +30 -15
  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_CB_L9tkU.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 +77 -50
  89. package/dist/server/virtual_astro_middleware.mjs +1 -1
  90. package/package.json +1 -1
  91. package/dist/client/_astro/AdminBar.CU2eba2D.js +0 -253
  92. package/dist/client/_astro/ContentEditor.Bc5Jq8Dv.js +0 -1
  93. package/dist/client/_astro/ContentEditor.DvpaqJBD.js +0 -3
  94. package/dist/client/_astro/ContentTypeWorkspace.DakVi21h.js +0 -1
  95. package/dist/client/_astro/CustomFieldsManager.B7WOTvb7.js +0 -3
  96. package/dist/client/_astro/DashboardHome.CUfuLLDH.js +0 -1
  97. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.Dpnx6U2l.js +0 -4
  98. package/dist/client/_astro/FieldTypePicker.Cyfzqug-.js +0 -1
  99. package/dist/client/_astro/GeneralSettings.C4mnJ7P2.js +0 -1
  100. package/dist/client/_astro/MediaLibrary.2geQYfXB.js +0 -1
  101. package/dist/client/_astro/PluginManager.D3pm88iu.js +0 -93
  102. package/dist/client/_astro/PostTypesManager.Cyhr3VEJ.js +0 -1
  103. package/dist/client/_astro/QuickDraftWidget.CPljoS31.js +0 -17
  104. package/dist/client/_astro/ResourceHubs.DpCJERsJ.js +0 -1
  105. package/dist/client/_astro/TaxonomiesManager.P3bc-fnu.js +0 -1
  106. package/dist/client/_astro/TaxonomyTermsManager.BxP9gwm7.js +0 -1
  107. package/dist/client/_astro/ThemeManager.3MUOwqex.js +0 -129
  108. package/dist/client/_astro/UserCreateForm.C3RiEJEa.js +0 -1
  109. package/dist/client/_astro/UsersManager.DR9XR3FX.js +0 -1
  110. package/dist/client/_astro/api.25OAsWO0.js +0 -1
  111. package/dist/client/_astro/ar.CwC9hXB9.js +0 -1
  112. package/dist/client/_astro/custom-fields.IjuRIdAC.css +0 -1
  113. package/dist/client/_astro/es-ES.qNcd-cVX.js +0 -1
  114. package/dist/client/_astro/extensions.Bj86CHnv.js +0 -1
  115. package/dist/client/_astro/he.DfZ0ZzM-.js +0 -1
  116. package/dist/client/_astro/i18n.C24_pkIi.js +0 -1
  117. package/dist/client/_astro/it.PFmLQj2s.js +0 -1
  118. package/dist/client/_astro/ja.CMi5cD8g.js +0 -1
  119. package/dist/client/_astro/pl.CRExzLlj.js +0 -1
  120. package/dist/client/_astro/pt-BR.BPvwNpKR.js +0 -1
  121. package/dist/client/_astro/ru.CWV-tkZ3.js +0 -1
  122. package/dist/client/_astro/src.Cq47pnsg.js +0 -1
  123. package/dist/client/_astro/sw.B5x6GU4s.js +0 -1
  124. package/dist/client/_astro/tr.BzxCGQu8.js +0 -1
  125. package/dist/client/_astro/uk.DJHMwNRU.js +0 -1
  126. package/dist/client/_astro/yo.DNw_hOnW.js +0 -1
  127. package/dist/client/_astro/zh-CN.Bs7H6Unx.js +0 -1
  128. package/dist/server/chunks/FieldTypePicker_CXwpmcQ3.mjs +0 -79
  129. package/dist/server/chunks/ResourceHubs_Dwb0xyPZ.mjs +0 -453
  130. package/dist/server/chunks/access_D93W5BWD.mjs +0 -34
  131. package/dist/server/chunks/operations_0sYvzzNC.mjs +0 -34
  132. package/dist/server/chunks/plugins_Clk92l6Q.mjs +0 -156
  133. package/dist/server/chunks/resources_dPTDnpAf.mjs +0 -34
  134. package/dist/server/chunks/themes_BRtDtEK7.mjs +0 -155
  135. /package/dist/server/chunks/{BaseLayout_m8b8Eemd.mjs → BaseLayout_C_gR8Xx3.mjs} +0 -0
@@ -1,156 +0,0 @@
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_BqFK0MIW.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_09DepSVn.mjs";
6
- import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
- import { For, Show, createSignal, onMount } from "solid-js";
8
- //#region src/components/apps/plugins/PluginManager.tsx
9
- var _tmpl$ = [
10
- "<form",
11
- " class=\"card plugin-install-form\"><input class=\"input\" required",
12
- "><input class=\"input\" required",
13
- "><textarea class=\"input\" required rows=\"5\"",
14
- "></textarea><button class=\"btn btn-primary\" type=\"submit\">",
15
- "</button></form>"
16
- ];
17
- var _tmpl$2 = [
18
- "<div",
19
- " class=\"plugin-manager\"><div class=\"page-header\"><h2>",
20
- "</h2><p class=\"page-description\">",
21
- "</p><button class=\"btn btn-primary\" type=\"button\">",
22
- "</button></div><!--$-->",
23
- "<!--/--><!--$-->",
24
- "<!--/--><!--$-->",
25
- "<!--/--><!--$-->",
26
- "<!--/--><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 .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>"
27
- ];
28
- var _tmpl$3 = [
29
- "<div",
30
- " class=\"alert alert-error\">",
31
- "</div>"
32
- ];
33
- var _tmpl$4 = ["<div", " class=\"skeleton\">Loading...</div>"];
34
- var _tmpl$5 = [
35
- "<div",
36
- " class=\"plugins-table-container\"><table class=\"table\"><thead><tr><th>",
37
- "</th><th>",
38
- "</th><th>",
39
- "</th><th>",
40
- "</th></tr></thead><tbody>",
41
- "</tbody></table><!--$-->",
42
- "<!--/--></div>"
43
- ];
44
- var _tmpl$6 = [
45
- "<tr",
46
- " class=\"plugin-row\"><td class=\"plugin-name\"><strong>",
47
- "</strong><!--$-->",
48
- "<!--/--></td><td>",
49
- "</td><td><span class=\"",
50
- "\">",
51
- "</span></td><td><button class=\"",
52
- "\"",
53
- ">",
54
- "</button><button class=\"btn btn-sm btn-danger\" type=\"button\">",
55
- "</button></td></tr>"
56
- ];
57
- var _tmpl$7 = [
58
- "<span",
59
- " class=\"plugin-description\">",
60
- "</span>"
61
- ];
62
- var _tmpl$8 = [
63
- "<div",
64
- " class=\"empty-state\">",
65
- "</div>"
66
- ];
67
- function PluginManager() {
68
- const { t } = useTranslation();
69
- const [plugins, setPlugins] = createSignal([]);
70
- const [loading, setLoading] = createSignal(true);
71
- const [error, setError] = createSignal(null);
72
- const [toggling, setToggling] = createSignal(null);
73
- const [installForm, setInstallForm] = createSignal({
74
- name: "",
75
- version: "",
76
- manifest: "{}"
77
- });
78
- const [showInstall, setShowInstall] = createSignal(false);
79
- onMount(async () => {
80
- await loadPlugins();
81
- });
82
- async function loadPlugins() {
83
- try {
84
- setLoading(true);
85
- const data = await apiClient.getPlugins();
86
- setPlugins(data);
87
- } catch {
88
- setError(t("plugins.loadError"));
89
- } finally {
90
- setLoading(false);
91
- }
92
- }
93
- const isActive = (plugin) => plugin.status === "ACTIVE" || plugin.status === "ACTIVATED";
94
- const getStatusLabel = (status) => {
95
- switch (status) {
96
- case "ACTIVE":
97
- case "ACTIVATED": return t("plugins.status.active");
98
- case "INSTALLED": return t("plugins.status.installed");
99
- case "INACTIVE":
100
- case "DEACTIVATED": return t("plugins.status.inactive");
101
- default: return status;
102
- }
103
- };
104
- const getStatusClass = (status) => {
105
- switch (status) {
106
- case "ACTIVE":
107
- case "ACTIVATED": return "status-active";
108
- case "INSTALLED": return "status-installed";
109
- case "INACTIVE":
110
- case "DEACTIVATED": return "status-inactive";
111
- default: return "";
112
- }
113
- };
114
- return ssr(_tmpl$2, ssrHydrationKey(), escape(t("plugins.title")), escape(t("plugins.description")), escape(t("plugins.install")), escape(createComponent(Show, {
115
- get when() {
116
- return showInstall();
117
- },
118
- get children() {
119
- return ssr(_tmpl$, ssrHydrationKey(), ssrAttribute("placeholder", escape(t("plugins.name"), true), false) + ssrAttribute("value", escape(installForm().name, true), false), ssrAttribute("placeholder", escape(t("plugins.version"), true), false) + ssrAttribute("value", escape(installForm().version, true), false), ssrAttribute("placeholder", escape(t("plugins.manifest"), true), false) + ssrAttribute("value", escape(installForm().manifest, true), false), escape(t("common.save")));
120
- }
121
- })), error() && ssr(_tmpl$3, ssrHydrationKey(), escape(error())), loading() && _tmpl$4[0] + ssrHydrationKey() + _tmpl$4[1], !loading() && !error() && ssr(_tmpl$5, ssrHydrationKey(), escape(t("plugins.columns.name")), escape(t("plugins.columns.version")), escape(t("plugins.columns.status")), escape(t("plugins.columns.actions")), escape(createComponent(For, {
122
- get each() {
123
- return plugins();
124
- },
125
- children: (plugin) => ssr(_tmpl$6, ssrHydrationKey(), escape(plugin.name), plugin.manifest?.description && ssr(_tmpl$7, 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")), escape(t("plugins.uninstall")))
126
- })), plugins().length === 0 && ssr(_tmpl$8, ssrHydrationKey(), escape(t("plugins.empty")))));
127
- }
128
- //#endregion
129
- //#region src/pages/plugins.astro
130
- var plugins_exports = /* @__PURE__ */ __exportAll({
131
- default: () => $$Plugins,
132
- file: () => $$file,
133
- url: () => $$url
134
- });
135
- createAstro("https://astro.build");
136
- var $$Plugins = createComponent$1(($$result, $$props, $$slots) => {
137
- const Astro = $$result.createAstro($$props, $$slots);
138
- Astro.self = $$Plugins;
139
- const { t } = Astro.locals;
140
- return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
141
- "title": t("plugins.title"),
142
- "description": t("plugins.description")
143
- }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PluginManager", PluginManager, {
144
- "client:load": true,
145
- "client:component-hydration": "load",
146
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/plugins/PluginManager.tsx",
147
- "client:component-export": "PluginManager"
148
- })}` })}`;
149
- }, "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro", void 0);
150
- var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro";
151
- var $$url = "/plugins";
152
- //#endregion
153
- //#region \0virtual:astro:page:src/pages/plugins@_@astro
154
- var page = () => plugins_exports;
155
- //#endregion
156
- export { page };
@@ -1,34 +0,0 @@
1
- import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
- import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
- import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_09DepSVn.mjs";
5
- import { n as ContentResourcesManager } from "./ResourceHubs_Dwb0xyPZ.mjs";
6
- //#region src/pages/settings/resources.astro
7
- var resources_exports = /* @__PURE__ */ __exportAll({
8
- default: () => $$Resources,
9
- file: () => $$file,
10
- url: () => $$url
11
- });
12
- createAstro("https://astro.build");
13
- var $$Resources = createComponent(($$result, $$props, $$slots) => {
14
- const Astro = $$result.createAstro($$props, $$slots);
15
- Astro.self = $$Resources;
16
- const { t } = Astro.locals;
17
- return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
18
- "title": t("resources.title"),
19
- "data-astro-cid-uyu3y4l4": true
20
- }, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="settings-page" data-astro-cid-uyu3y4l4><div class="page-header" data-astro-cid-uyu3y4l4><h2 data-astro-cid-uyu3y4l4>${t("resources.title")}</h2><p data-astro-cid-uyu3y4l4>${t("resources.description")}</p></div>${renderComponent($$result, "ContentResourcesManager", ContentResourcesManager, {
21
- "client:load": true,
22
- "data-astro-cid-uyu3y4l4": true,
23
- "client:component-hydration": "load",
24
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/settings/ResourceHubs.tsx",
25
- "client:component-export": "ContentResourcesManager"
26
- })}</div>` })}`;
27
- }, "/home/runner/work/cms/cms/apps/admin/src/pages/settings/resources.astro", void 0);
28
- var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/settings/resources.astro";
29
- var $$url = "/settings/resources";
30
- //#endregion
31
- //#region \0virtual:astro:page:src/pages/settings/resources@_@astro
32
- var page = () => resources_exports;
33
- //#endregion
34
- export { page };
@@ -1,155 +0,0 @@
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_BqFK0MIW.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_09DepSVn.mjs";
6
- import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
- import { For, Show, createSignal, onMount } from "solid-js";
8
- //#region src/components/apps/themes/ThemeManager.tsx
9
- var _tmpl$ = [
10
- "<form",
11
- " class=\"card theme-install-form\"><input class=\"input\" required",
12
- "><input class=\"input\" required",
13
- "><textarea class=\"input\" required rows=\"5\"",
14
- "></textarea><button class=\"btn btn-primary\" type=\"submit\">",
15
- "</button></form>"
16
- ];
17
- var _tmpl$2 = [
18
- "<div",
19
- " class=\"theme-manager\"><div class=\"page-header\"><h2>",
20
- "</h2><p class=\"page-description\">",
21
- "</p><button class=\"btn btn-primary\" type=\"button\">",
22
- "</button></div><!--$-->",
23
- "<!--/--><!--$-->",
24
- "<!--/--><!--$-->",
25
- "<!--/--><!--$-->",
26
- "<!--/--><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 .theme-install-form {\n display: grid;\n gap: 0.75rem;\n margin-bottom: 1.5rem;\n }\n .themes-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\n gap: 1.5rem;\n }\n .theme-card {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: var(--radius-lg);\n padding: 1.5rem;\n display: flex;\n flex-direction: column;\n gap: 1rem;\n transition: all 0.2s;\n }\n .theme-card:hover {\n border-color: var(--color-primary);\n box-shadow: var(--shadow-md);\n }\n .theme-card.active {\n border-color: var(--color-primary);\n box-shadow: 0 0 0 1px var(--color-primary), var(--shadow-md);\n }\n .theme-preview {\n position: relative;\n }\n .theme-badge {\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n background: var(--color-primary);\n color: var(--color-primary-contrast);\n padding: 0.25rem 0.5rem;\n border-radius: var(--radius-full);\n font-size: 0.625rem;\n font-weight: 700;\n text-transform: uppercase;\n }\n .theme-info {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n }\n .theme-info h3 {\n margin: 0;\n font-size: 1.125rem;\n font-weight: 600;\n }\n .theme-version {\n margin: 0;\n font-size: 0.75rem;\n color: var(--color-muted);\n }\n .theme-desc {\n margin: 0;\n font-size: 0.8125rem;\n color: var(--color-text);\n line-height: 1.5;\n }\n .theme-status {\n display: flex;\n align-items: center;\n gap: 0.5rem;\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.625rem;\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 .theme-actions {\n margin-top: 0.5rem;\n }\n .empty-state {\n grid-column: 1 / -1;\n padding: 3rem;\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>"
27
- ];
28
- var _tmpl$3 = [
29
- "<div",
30
- " class=\"alert alert-error\">",
31
- "</div>"
32
- ];
33
- var _tmpl$4 = ["<div", " class=\"skeleton\">Loading...</div>"];
34
- var _tmpl$5 = [
35
- "<div",
36
- " class=\"themes-grid\"><!--$-->",
37
- "<!--/--><!--$-->",
38
- "<!--/--></div>"
39
- ];
40
- var _tmpl$6 = [
41
- "<div",
42
- " class=\"",
43
- "\"><div class=\"theme-preview\">",
44
- "</div><div class=\"theme-info\"><h3>",
45
- "</h3><p class=\"theme-version\"><!--$-->",
46
- "<!--/-->: <!--$-->",
47
- "<!--/--></p><p class=\"theme-status\"><span class=\"",
48
- "\">",
49
- "</span></p><!--$-->",
50
- "<!--/--></div><div class=\"theme-actions\"><button class=\"",
51
- "\"",
52
- ">",
53
- "</button><button class=\"btn btn-danger\" type=\"button\">",
54
- "</button></div></div>"
55
- ];
56
- var _tmpl$7 = [
57
- "<div",
58
- " class=\"theme-badge active-badge\">",
59
- "</div>"
60
- ];
61
- var _tmpl$8 = [
62
- "<p",
63
- " class=\"theme-desc\">",
64
- "</p>"
65
- ];
66
- var _tmpl$9 = [
67
- "<div",
68
- " class=\"empty-state\">",
69
- "</div>"
70
- ];
71
- function ThemeManager() {
72
- const { t } = useTranslation();
73
- const [themes, setThemes] = createSignal([]);
74
- const [loading, setLoading] = createSignal(true);
75
- const [error, setError] = createSignal(null);
76
- const [toggling, setToggling] = createSignal(null);
77
- const [installForm, setInstallForm] = createSignal({
78
- name: "",
79
- version: "",
80
- manifest: "{}"
81
- });
82
- const [showInstall, setShowInstall] = createSignal(false);
83
- onMount(async () => {
84
- await loadThemes();
85
- });
86
- async function loadThemes() {
87
- try {
88
- setLoading(true);
89
- const data = await apiClient.getThemes();
90
- setThemes(data);
91
- } catch {
92
- setError(t("themes.loadError"));
93
- } finally {
94
- setLoading(false);
95
- }
96
- }
97
- const getStatusLabel = (status) => {
98
- switch (status) {
99
- case "ACTIVE": return t("themes.status.active");
100
- case "INSTALLED": return t("themes.status.installed");
101
- case "INACTIVE": return t("themes.status.inactive");
102
- default: return status;
103
- }
104
- };
105
- const getStatusClass = (status) => {
106
- switch (status) {
107
- case "ACTIVE": return "status-active";
108
- case "INSTALLED": return "status-installed";
109
- case "INACTIVE": return "status-inactive";
110
- default: return "";
111
- }
112
- };
113
- return ssr(_tmpl$2, ssrHydrationKey(), escape(t("themes.title")), escape(t("themes.description")), escape(t("themes.install")), escape(createComponent(Show, {
114
- get when() {
115
- return showInstall();
116
- },
117
- get children() {
118
- return ssr(_tmpl$, ssrHydrationKey(), ssrAttribute("placeholder", escape(t("themes.name"), true), false) + ssrAttribute("value", escape(installForm().name, true), false), ssrAttribute("placeholder", escape(t("themes.version"), true), false) + ssrAttribute("value", escape(installForm().version, true), false), ssrAttribute("placeholder", escape(t("themes.manifest"), true), false) + ssrAttribute("value", escape(installForm().manifest, true), false), escape(t("common.save")));
119
- }
120
- })), error() && ssr(_tmpl$3, ssrHydrationKey(), escape(error())), loading() && _tmpl$4[0] + ssrHydrationKey() + _tmpl$4[1], !loading() && !error() && ssr(_tmpl$5, ssrHydrationKey(), escape(createComponent(For, {
121
- get each() {
122
- return themes();
123
- },
124
- children: (theme) => ssr(_tmpl$6, ssrHydrationKey(), `theme-card ${theme.status === "ACTIVE" ? "active" : ""}`, theme.manifest?.name && ssr(_tmpl$7, ssrHydrationKey(), escape(t("themes.active"))), escape(theme.name), escape(t("themes.version")), escape(theme.version), `status-badge ${escape(getStatusClass(theme.status), true)}`, escape(getStatusLabel(theme.status)), theme.manifest?.description && ssr(_tmpl$8, ssrHydrationKey(), escape(theme.manifest.description)), `btn ${toggling() === theme.id ? "btn-loading" : ""}`, ssrAttribute("disabled", toggling() !== null, true), theme.status === "ACTIVE" ? escape(t("themes.deactivate")) : escape(t("themes.activate")), escape(t("themes.uninstall")))
125
- })), themes().length === 0 && ssr(_tmpl$9, ssrHydrationKey(), escape(t("themes.empty")))));
126
- }
127
- //#endregion
128
- //#region src/pages/themes.astro
129
- var themes_exports = /* @__PURE__ */ __exportAll({
130
- default: () => $$Themes,
131
- file: () => $$file,
132
- url: () => $$url
133
- });
134
- createAstro("https://astro.build");
135
- var $$Themes = createComponent$1(($$result, $$props, $$slots) => {
136
- const Astro = $$result.createAstro($$props, $$slots);
137
- Astro.self = $$Themes;
138
- const { t } = Astro.locals;
139
- return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
140
- "title": t("themes.title"),
141
- "description": t("themes.description")
142
- }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "ThemeManager", ThemeManager, {
143
- "client:load": true,
144
- "client:component-hydration": "load",
145
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/themes/ThemeManager.tsx",
146
- "client:component-export": "ThemeManager"
147
- })}` })}`;
148
- }, "/home/runner/work/cms/cms/apps/admin/src/pages/themes.astro", void 0);
149
- var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/themes.astro";
150
- var $$url = "/themes";
151
- //#endregion
152
- //#region \0virtual:astro:page:src/pages/themes@_@astro
153
- var page = () => themes_exports;
154
- //#endregion
155
- export { page };