@oktis-works/admin 0.8.4 → 0.8.5

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 (67) hide show
  1. package/dist/client/_astro/{ActivityWidget.ByKRv9-E.js → ActivityWidget.SssZqlfP.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.CDcQtF-_.js → AdminBar.DtWm_tDd.js} +1 -1
  3. package/dist/client/_astro/AtGlanceWidget.BzDzj2Lq.js +1 -0
  4. package/dist/client/_astro/{AtGlanceWidget.BgnDDWbO.js → AtGlanceWidget.CcLDKP7o.js} +1 -1
  5. package/dist/client/_astro/{ContentEditor.CdhqgY1I.js → ContentEditor.CNA7JBbp.js} +1 -1
  6. package/dist/client/_astro/ContentEditor.CutKwMm-.js +1 -0
  7. package/dist/client/_astro/{ContentTypeWorkspace.DRh2tSis.js → ContentTypeWorkspace.SB9uynFI.js} +1 -1
  8. package/dist/client/_astro/{DashboardHome.BzbaJOUx.js → DashboardHome.Dj9gSA9K.js} +1 -1
  9. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.wCZbNQh3.js → DashboardLayout.astro_astro_type_script_index_0_lang.CfOuV5xf.js} +1 -1
  10. package/dist/client/_astro/{FieldGroupEditor.DJJyTLKZ.js → FieldGroupEditor.B8cWiMkK.js} +1 -1
  11. package/dist/client/_astro/{FieldGroupList.DtsJdk81.js → FieldGroupList.NzlvEkxI.js} +1 -1
  12. package/dist/client/_astro/{Footer.hklTYEbX.js → Footer.BeG1b1Qu.js} +1 -1
  13. package/dist/client/_astro/{GeneralSettings.DsAiNE-f.js → GeneralSettings.BTJXWQbd.js} +1 -1
  14. package/dist/client/_astro/{LogsManager.B_KlSIsF.js → LogsManager.C1i7O4ex.js} +1 -1
  15. package/dist/client/_astro/{MediaLibrary.DRijq5qg.js → MediaLibrary.BB7X1JdP.js} +1 -1
  16. package/dist/client/_astro/{MenuManager.B73RzwWS.js → MenuManager.BA52Fxa9.js} +1 -1
  17. package/dist/client/_astro/{PluginManager.C8e99whu.js → PluginManager.C4NTmAIB.js} +1 -1
  18. package/dist/client/_astro/{PostTypesManager.C5P_rgmV.js → PostTypesManager.F5rqadfC.js} +1 -1
  19. package/dist/client/_astro/{QuickDraftWidget.Cgklpcnl.js → QuickDraftWidget.BC1JfCFh.js} +1 -1
  20. package/dist/client/_astro/{ResourceHubs.CTqijjUu.js → ResourceHubs.CNm-qJe9.js} +1 -1
  21. package/dist/client/_astro/{TaxonomiesManager.BR1fsS45.js → TaxonomiesManager.e5bigMud.js} +1 -1
  22. package/dist/client/_astro/{TaxonomyTermsManager.m3lSy4r2.js → TaxonomyTermsManager.B2oWdmwg.js} +1 -1
  23. package/dist/client/_astro/ThemeManager.51RSLO2K.js +176 -0
  24. package/dist/client/_astro/{UserCreateForm.B3vi6lEe.js → UserCreateForm.CbJ88Um1.js} +1 -1
  25. package/dist/client/_astro/{UsersManager.BsQLF4N-.js → UsersManager.Bt-QRa3f.js} +1 -1
  26. package/dist/client/_astro/{WebhooksManager.DZOF_Lfa.js → WebhooksManager.Cc4uxSB8.js} +1 -1
  27. package/dist/client/_astro/{api.s1WYKU5S.js → api.BZGjgltO.js} +1 -1
  28. package/dist/client/_astro/{extensions.CPygai9z.js → extensions.DuW4Htyu.js} +1 -1
  29. package/dist/client/_astro/{i18n.Cnvng1i8.js → i18n.CAsBwuBv.js} +1 -1
  30. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.Di9uRFih.js → login.astro_astro_type_script_index_0_lang.D4N79ggo.js} +1 -1
  31. package/dist/client/_astro/{pt-BR.dxAFMMtn.js → pt-BR.evIaYCbD.js} +1 -1
  32. package/dist/server/chunks/{BaseLayout_Cy8atUSF.mjs → BaseLayout_8LDKIZRE.mjs} +1 -1
  33. package/dist/server/chunks/{ContentEditor_BdZdK9wv.mjs → ContentEditor_CF4g69qF.mjs} +2 -2
  34. package/dist/server/chunks/{DashboardLayout_ft-tktMX.mjs → DashboardLayout_1dGTmjBY.mjs} +3 -3
  35. package/dist/server/chunks/{MediaLibrary_CUiDlQm8.mjs → MediaLibrary_BGEv2tuu.mjs} +2 -2
  36. package/dist/server/chunks/{_id__D2oHDyIs.mjs → _id__CHyoGLx5.mjs} +2 -2
  37. package/dist/server/chunks/{_slug__CLcymx9T.mjs → _slug__fZUF-evB.mjs} +1 -1
  38. package/dist/server/chunks/{access_CFXYYu4Q.mjs → access_CZwJgKVS.mjs} +2 -2
  39. package/dist/server/chunks/{custom-fields_aq4EuIRP.mjs → custom-fields_BiLwtkE6.mjs} +2 -2
  40. package/dist/server/chunks/{edit_o3Bd3iX_.mjs → edit_gF41oHu5.mjs} +2 -2
  41. package/dist/server/chunks/{general_C1AHVWeU.mjs → general_RNmE9Odw.mjs} +2 -2
  42. package/dist/server/chunks/{i18n_BfgvkkQ3.mjs → i18n_CL8yeGqZ.mjs} +11 -1
  43. package/dist/server/chunks/{index_C5K7WhaU.mjs → index_0zbqqOet.mjs} +3 -3
  44. package/dist/server/chunks/{index_DontTOa1.mjs → index_BvKgOhSI.mjs} +1 -1
  45. package/dist/server/chunks/{index_DAPZ_T-M.mjs → index_D0WxS8af.mjs} +2 -2
  46. package/dist/server/chunks/{index_C6W9BWXF.mjs → index_D6HXZwF4.mjs} +2 -2
  47. package/dist/server/chunks/{index_BDelhcn6.mjs → index_DbOwOxbW.mjs} +2 -2
  48. package/dist/server/chunks/{login_DHRiNXlr.mjs → login_BxK_UPkj.mjs} +1 -1
  49. package/dist/server/chunks/{logs_BZLtXTyB.mjs → logs_DJcX9u3X.mjs} +2 -2
  50. package/dist/server/chunks/{menus_DMIv2qoA.mjs → menus_BhScD9TM.mjs} +2 -2
  51. package/dist/server/chunks/{new_DWH3ap55.mjs → new_FEhweoE3.mjs} +2 -2
  52. package/dist/server/chunks/{new_C0g2i4sH.mjs → new_tZ30VWxq.mjs} +2 -2
  53. package/dist/server/chunks/{plugins_D6iaKm-L.mjs → plugins_CnesKU_P.mjs} +2 -2
  54. package/dist/server/chunks/{post-types_BE6GJD5s.mjs → post-types_Dsnp6CER.mjs} +2 -2
  55. package/dist/server/chunks/{pt-BR_B8CUDeSz.mjs → pt-BR_BTeK5Tkj.mjs} +6 -0
  56. package/dist/server/chunks/{taxonomies_B3-LUNES.mjs → taxonomies_CMZ40EHt.mjs} +2 -2
  57. package/dist/server/chunks/{taxonomy_Cj4JjfLF.mjs → taxonomy_a4PgNXwG.mjs} +2 -2
  58. package/dist/server/chunks/themes_B3HVVvly.mjs +265 -0
  59. package/dist/server/chunks/{upload_DEXcw1bG.mjs → upload_CJgAy49n.mjs} +2 -2
  60. package/dist/server/chunks/{webhooks_CV5QcQFP.mjs → webhooks_SZs8Lit8.mjs} +2 -2
  61. package/dist/server/entry.mjs +24 -24
  62. package/dist/server/virtual_astro_middleware.mjs +1 -1
  63. package/package.json +1 -1
  64. package/dist/client/_astro/AtGlanceWidget.B1GU-QOd.js +0 -1
  65. package/dist/client/_astro/ContentEditor.Dk4pXUkp.js +0 -1
  66. package/dist/client/_astro/ThemeManager.BXeLJM2B.js +0 -116
  67. package/dist/server/chunks/themes_0m05U9fI.mjs +0 -131
@@ -90,7 +90,7 @@ async function loadLocale(locale) {
90
90
  "./locales/it.json": () => import("./it_DEDC6yxf.mjs"),
91
91
  "./locales/ja.json": () => import("./ja_BRQi6rW3.mjs"),
92
92
  "./locales/pl.json": () => import("./pl_CKanAk0F.mjs"),
93
- "./locales/pt-BR.json": () => import("./pt-BR_B8CUDeSz.mjs"),
93
+ "./locales/pt-BR.json": () => import("./pt-BR_BTeK5Tkj.mjs"),
94
94
  "./locales/ru.json": () => import("./ru_CuNXt2MB.mjs"),
95
95
  "./locales/sw.json": () => import("./sw_RLMWPkos.mjs"),
96
96
  "./locales/tr.json": () => import("./tr_Dz8pqyTZ.mjs"),
@@ -709,6 +709,7 @@ var ApiClient = class {
709
709
  name: String(theme["name"] ?? ""),
710
710
  version: theme["version"] ? String(theme["version"]) : void 0,
711
711
  status: String(theme["status"] ?? "INSTALLED"),
712
+ config: theme["config"] ?? {},
712
713
  manifest: theme["manifest"] ?? null
713
714
  }));
714
715
  }
@@ -718,6 +719,9 @@ var ApiClient = class {
718
719
  async deactivateTheme(id) {
719
720
  return this.request("POST", `/api/v1/themes/${id}/deactivate`);
720
721
  }
722
+ async updateThemeConfig(id, config) {
723
+ return this.request("PATCH", `/api/v1/themes/${id}/config`, { config });
724
+ }
721
725
  async installTheme(data) {
722
726
  return this.request("POST", "/api/v1/themes/install", data);
723
727
  }
@@ -1660,6 +1664,12 @@ var themes = {
1660
1664
  "deactivateError": "Could not deactivate the theme.",
1661
1665
  "installError": "Could not install the theme.",
1662
1666
  "uninstallError": "Could not uninstall the theme.",
1667
+ "reload": "Reload",
1668
+ "configTitle": "Settings",
1669
+ "configClose": "Hide settings",
1670
+ "configSave": "Save settings",
1671
+ "configSaved": "Settings saved.",
1672
+ "configError": "Could not save the theme settings.",
1663
1673
  "empty": "No themes installed."
1664
1674
  };
1665
1675
  var login = {
@@ -1,9 +1,9 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { c as Pagination, d as Table, i as Card, l as Select, n as Badge, o as Input, r as Button, t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
6
- import { t as ContentEditor } from "./ContentEditor_BdZdK9wv.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { c as Pagination, d as Table, i as Card, l as Select, n as Badge, o as Input, r as Button, t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
+ import { t as ContentEditor } from "./ContentEditor_CF4g69qF.mjs";
7
7
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
8
8
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
9
9
  import { Show, createMemo, createSignal, onMount } from "solid-js";
@@ -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, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
6
6
  //#region src/pages/settings/index.astro
7
7
  var settings_exports = /* @__PURE__ */ __exportAll({
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { a as For2, c as Pagination, l as Select, m as onMount, n as Badge, o as Input, p as createSignal, r as Button, t as $$DashboardLayout, u as Show2 } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { a as For2, c as Pagination, l as Select, m as onMount, n as Badge, o as Input, p as createSignal, r as Button, t as $$DashboardLayout, u as Show2 } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  //#region src/components/apps/users/UsersManager.tsx
@@ -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_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { createComponent, escape, ssr, ssrHydrationKey } from "solid-js/web";
7
7
  import { For, Show, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/dashboard/DashboardHome.tsx
@@ -1,9 +1,9 @@
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 } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
6
- import { t as MediaLibrary } from "./MediaLibrary_CUiDlQm8.mjs";
6
+ import { t as MediaLibrary } from "./MediaLibrary_BGEv2tuu.mjs";
7
7
  //#region src/pages/media/index.astro
8
8
  var media_exports = /* @__PURE__ */ __exportAll({
9
9
  default: () => $$Index,
@@ -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, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
- import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_Cy8atUSF.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_8LDKIZRE.mjs";
5
5
  //#region src/pages/login.astro
6
6
  var login_exports = /* @__PURE__ */ __exportAll({
7
7
  default: () => $$Login,
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createSignal, onMount } from "solid-js";
@@ -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_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.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/menus/MenuManager.tsx
@@ -1,8 +1,8 @@
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 } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
5
- import { t as ContentEditor } from "./ContentEditor_BdZdK9wv.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
5
+ import { t as ContentEditor } from "./ContentEditor_CF4g69qF.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  //#region src/pages/content/[type]/new.astro
8
8
  var new_exports = /* @__PURE__ */ __exportAll({
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createSignal, onMount } from "solid-js";
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, createSignal, onMount } from "solid-js";
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createMemo, createSignal, onMount } from "solid-js";
@@ -466,6 +466,12 @@ var themes = {
466
466
  "deactivateError": "Não foi possível desativar o tema.",
467
467
  "installError": "Não foi possível instalar o tema.",
468
468
  "uninstallError": "Não foi possível desinstalar o tema.",
469
+ "reload": "Sincronizar",
470
+ "configTitle": "Configurações",
471
+ "configClose": "Ocultar configurações",
472
+ "configSave": "Salvar configurações",
473
+ "configSaved": "Configurações salvas.",
474
+ "configError": "Não foi possível salvar as configurações do tema.",
469
475
  "empty": "Nenhum tema instalado."
470
476
  };
471
477
  var login = {
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
8
8
  import { For, Show, createSignal, onMount } from "solid-js";
@@ -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, p as addAttribute, 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_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createSignal, onMount } from "solid-js";
@@ -0,0 +1,265 @@
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_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
+ import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
+ import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
+ import { For, Show, createSignal, onMount } from "solid-js";
9
+ //#region src/components/apps/themes/ThemeManager.tsx
10
+ var _tmpl$ = [
11
+ "<div",
12
+ " class=\"theme-manager\"><div class=\"theme-toolbar\"><p class=\"page-hint\">",
13
+ "</p><button class=\"btn btn-refresh\"",
14
+ ">",
15
+ "</button></div><!--$-->",
16
+ "<!--/--><!--$-->",
17
+ "<!--/--><!--$-->",
18
+ "<!--/--><style>\n .theme-toolbar {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 1rem;\n margin-bottom: 1.25rem;\n }\n .page-hint {\n margin: 0;\n color: var(--color-muted);\n font-size: 0.8125rem;\n }\n .btn-refresh {\n flex-shrink: 0;\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-preview__img {\n display: block;\n width: 100%;\n border-radius: var(--radius-md);\n border: 1px solid var(--color-border);\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 .config-panel {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n padding: 1rem;\n background: var(--color-muted-soft, rgba(0, 0, 0, 0.03));\n border-radius: var(--radius-md);\n }\n .config-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n .config-label {\n font-size: 0.75rem;\n font-weight: 600;\n color: var(--color-text);\n }\n .config-color {\n height: 2.25rem;\n padding: 0.15rem;\n }\n .config-actions {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n }\n .config-saved {\n font-size: 0.75rem;\n color: var(--color-success);\n }\n .theme-actions {\n margin-top: 0.5rem;\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n }\n .btn-secondary {\n background: transparent;\n color: var(--color-text);\n border: 1px solid var(--color-border);\n }\n .btn-danger {\n background: transparent;\n color: var(--color-error);\n border: 1px solid var(--color-error);\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>"
19
+ ];
20
+ var _tmpl$2 = [
21
+ "<div",
22
+ " class=\"alert alert-error\">",
23
+ "</div>"
24
+ ];
25
+ var _tmpl$3 = ["<div", " class=\"skeleton\">Loading...</div>"];
26
+ var _tmpl$4 = [
27
+ "<div",
28
+ " class=\"themes-grid\"><!--$-->",
29
+ "<!--/--><!--$-->",
30
+ "<!--/--></div>"
31
+ ];
32
+ var _tmpl$5 = [
33
+ "<img",
34
+ " class=\"theme-preview__img\"",
35
+ " alt loading=\"lazy\">"
36
+ ];
37
+ var _tmpl$6 = [
38
+ "<span",
39
+ " class=\"config-saved\">",
40
+ "</span>"
41
+ ];
42
+ var _tmpl$7 = [
43
+ "<div",
44
+ " class=\"config-panel\"><!--$-->",
45
+ "<!--/--><div class=\"config-actions\"><button class=\"btn\"",
46
+ ">",
47
+ "</button><!--$-->",
48
+ "<!--/--></div></div>"
49
+ ];
50
+ var _tmpl$8 = [
51
+ "<button",
52
+ " class=\"btn btn-secondary\"",
53
+ ">",
54
+ "</button>"
55
+ ];
56
+ var _tmpl$9 = [
57
+ "<div",
58
+ " class=\"",
59
+ "\"><div class=\"theme-preview\"><!--$-->",
60
+ "<!--/--><!--$-->",
61
+ "<!--/--></div><div class=\"theme-info\"><h3>",
62
+ "</h3><p class=\"theme-version\"><!--$-->",
63
+ "<!--/-->: <!--$-->",
64
+ "<!--/--></p><p class=\"theme-status\"><span class=\"",
65
+ "\">",
66
+ "</span></p><!--$-->",
67
+ "<!--/--></div><!--$-->",
68
+ "<!--/--><div class=\"theme-actions\"><button class=\"",
69
+ "\"",
70
+ ">",
71
+ "</button><!--$-->",
72
+ "<!--/--><button class=\"btn btn-danger\"",
73
+ ">",
74
+ "</button></div></div>"
75
+ ];
76
+ var _tmpl$0 = [
77
+ "<div",
78
+ " class=\"theme-badge active-badge\">",
79
+ "</div>"
80
+ ];
81
+ var _tmpl$1 = [
82
+ "<p",
83
+ " class=\"theme-desc\">",
84
+ "</p>"
85
+ ];
86
+ var _tmpl$10 = [
87
+ "<div",
88
+ " class=\"config-field\"><label class=\"config-label\" for=\"",
89
+ "\">",
90
+ "</label><!--$-->",
91
+ "<!--/--></div>"
92
+ ];
93
+ var _tmpl$11 = [
94
+ "<textarea",
95
+ " id=\"",
96
+ "\" class=\"input\" rows=\"3\"",
97
+ "></textarea>"
98
+ ];
99
+ var _tmpl$12 = [
100
+ "<select",
101
+ " id=\"",
102
+ "\" class=\"input\"",
103
+ ">",
104
+ "</select>"
105
+ ];
106
+ var _tmpl$13 = [
107
+ "<option",
108
+ ">",
109
+ "</option>"
110
+ ];
111
+ var _tmpl$14 = [
112
+ "<input",
113
+ " id=\"",
114
+ "\" type=\"checkbox\"",
115
+ ">"
116
+ ];
117
+ var _tmpl$15 = [
118
+ "<input",
119
+ " id=\"",
120
+ "\" type=\"color\" class=\"input config-color\"",
121
+ ">"
122
+ ];
123
+ var _tmpl$16 = [
124
+ "<input",
125
+ " id=\"",
126
+ "\"",
127
+ " class=\"input\"",
128
+ ">"
129
+ ];
130
+ var _tmpl$17 = [
131
+ "<div",
132
+ " class=\"empty-state\">",
133
+ "</div>"
134
+ ];
135
+ function ThemeManager() {
136
+ const { t } = useTranslation();
137
+ const [themes, setThemes] = createSignal([]);
138
+ const [loading, setLoading] = createSignal(true);
139
+ const [error, setError] = createSignal(null);
140
+ const [toggling, setToggling] = createSignal(null);
141
+ const [openConfig, setOpenConfig] = createSignal(null);
142
+ const [configDraft, setConfigDraft] = createSignal({});
143
+ const [configSaving, setConfigSaving] = createSignal(false);
144
+ const [configSaved, setConfigSaved] = createSignal(false);
145
+ onMount(async () => {
146
+ await loadThemes();
147
+ });
148
+ async function loadThemes() {
149
+ setError(null);
150
+ try {
151
+ setLoading(true);
152
+ const data = await apiClient.getThemes();
153
+ setThemes(data);
154
+ } catch {
155
+ setError(t("themes.loadError"));
156
+ } finally {
157
+ setLoading(false);
158
+ }
159
+ }
160
+ /** Preview do manifesto: URL absoluta, path absoluto ou arquivo do tema. */
161
+ function previewUrl(theme) {
162
+ const raw = theme.manifest?.preview ?? theme.manifest?.screenshots?.[0];
163
+ if (!raw || typeof raw !== "string") return null;
164
+ if (/^(https?:)?\/\//.test(raw) || raw.startsWith("/")) return raw;
165
+ return `/themes/${encodeURIComponent(theme.name)}/${raw}`;
166
+ }
167
+ function configFields(theme) {
168
+ return (theme.manifest?.settings ?? []).filter((field) => Boolean(field) && typeof field.name === "string");
169
+ }
170
+ function optionValue(option) {
171
+ return typeof option === "string" ? option : option.value;
172
+ }
173
+ function optionLabel(option) {
174
+ return typeof option === "string" ? option : option.label ?? option.value;
175
+ }
176
+ const getStatusLabel = (status) => {
177
+ switch (status) {
178
+ case "ACTIVE": return t("themes.status.active");
179
+ case "INSTALLED": return t("themes.status.installed");
180
+ case "INACTIVE": return t("themes.status.inactive");
181
+ default: return status;
182
+ }
183
+ };
184
+ const getStatusClass = (status) => {
185
+ switch (status) {
186
+ case "ACTIVE": return "status-active";
187
+ case "INSTALLED": return "status-installed";
188
+ case "INACTIVE": return "status-inactive";
189
+ default: return "";
190
+ }
191
+ };
192
+ return ssr(_tmpl$, ssrHydrationKey(), escape(t("themes.directoryHint")), ssrAttribute("disabled", loading(), true), escape(t("themes.reload")), error() && ssr(_tmpl$2, ssrHydrationKey(), escape(error())), loading() && _tmpl$3[0] + ssrHydrationKey() + _tmpl$3[1], !loading() && ssr(_tmpl$4, ssrHydrationKey(), escape(createComponent(For, {
193
+ get each() {
194
+ return themes();
195
+ },
196
+ children: (theme) => {
197
+ const fields = configFields(theme);
198
+ const preview = previewUrl(theme);
199
+ return ssr(_tmpl$9, ssrHydrationKey(), `theme-card ${theme.status === "ACTIVE" ? "active" : ""}`, escape(createComponent(Show, {
200
+ when: preview,
201
+ get children() {
202
+ return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("src", escape(preview, true), false));
203
+ }
204
+ })), theme.status === "ACTIVE" && ssr(_tmpl$0, 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$1, ssrHydrationKey(), escape(theme.manifest.description)), escape(createComponent(Show, {
205
+ get when() {
206
+ return memo(() => openConfig() === theme.id)() && fields.length > 0;
207
+ },
208
+ get children() {
209
+ return ssr(_tmpl$7, ssrHydrationKey(), escape(createComponent(For, {
210
+ each: fields,
211
+ children: (field) => ssr(_tmpl$10, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, escape(field.label || field.name), field.type === "textarea" ? ssr(_tmpl$11, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, ssrAttribute("value", escape(String(configDraft()[field.name] ?? ""), true), false)) : field.type === "select" ? ssr(_tmpl$12, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, ssrAttribute("value", escape(String(configDraft()[field.name] ?? ""), true), false), escape(createComponent(For, {
212
+ get each() {
213
+ return field.options ?? [];
214
+ },
215
+ children: (option) => ssr(_tmpl$13, ssrHydrationKey() + ssrAttribute("value", escape(optionValue(option), true), false), escape(optionLabel(option)))
216
+ }))) : field.type === "checkbox" ? ssr(_tmpl$14, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, ssrAttribute("checked", Boolean(configDraft()[field.name]), true)) : field.type === "color" ? ssr(_tmpl$15, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, ssrAttribute("value", escape(String(configDraft()[field.name] ?? "#000000"), true), false)) : ssr(_tmpl$16, ssrHydrationKey(), `cfg-${escape(theme.id, true)}-${escape(field.name, true)}`, ssrAttribute("type", field.type === "number" ? "number" : "text", false), ssrAttribute("value", escape(String(configDraft()[field.name] ?? ""), true), false)))
217
+ })), ssrAttribute("disabled", configSaving(), true), escape(t("themes.configSave")), escape(createComponent(Show, {
218
+ get when() {
219
+ return configSaved();
220
+ },
221
+ get children() {
222
+ return ssr(_tmpl$6, ssrHydrationKey(), escape(t("themes.configSaved")));
223
+ }
224
+ })));
225
+ }
226
+ })), `btn ${toggling() === theme.id ? "btn-loading" : ""}`, ssrAttribute("disabled", toggling() !== null, true), theme.status === "ACTIVE" ? escape(t("themes.deactivate")) : escape(t("themes.activate")), escape(createComponent(Show, {
227
+ get when() {
228
+ return fields.length > 0;
229
+ },
230
+ get children() {
231
+ return ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("disabled", toggling() !== null, true), openConfig() === theme.id ? escape(t("themes.configClose")) : escape(t("themes.configTitle")));
232
+ }
233
+ })), ssrAttribute("disabled", toggling() !== null, true), escape(t("themes.uninstall")));
234
+ }
235
+ })), themes().length === 0 && ssr(_tmpl$17, ssrHydrationKey(), escape(t("themes.empty")))));
236
+ }
237
+ //#endregion
238
+ //#region src/pages/themes.astro
239
+ var themes_exports = /* @__PURE__ */ __exportAll({
240
+ default: () => $$Themes,
241
+ file: () => $$file,
242
+ url: () => $$url
243
+ });
244
+ createAstro("https://astro.build");
245
+ var $$Themes = createComponent$1(($$result, $$props, $$slots) => {
246
+ const Astro = $$result.createAstro($$props, $$slots);
247
+ Astro.self = $$Themes;
248
+ const { t } = Astro.locals;
249
+ return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, { "title": t("themes.title") }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PageHeader", PageHeader, {
250
+ "title": t("themes.title"),
251
+ "description": t("themes.description")
252
+ })}${renderComponent($$result, "ThemeManager", ThemeManager, {
253
+ "client:load": true,
254
+ "client:component-hydration": "load",
255
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/themes/ThemeManager.tsx",
256
+ "client:component-export": "ThemeManager"
257
+ })}` })}`;
258
+ }, "/home/runner/work/cms/cms/apps/admin/src/pages/themes.astro", void 0);
259
+ var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/themes.astro";
260
+ var $$url = "/themes";
261
+ //#endregion
262
+ //#region \0virtual:astro:page:src/pages/themes@_@astro
263
+ var page = () => themes_exports;
264
+ //#endregion
265
+ export { page };
@@ -1,9 +1,9 @@
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 } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
6
- import { t as MediaLibrary } from "./MediaLibrary_CUiDlQm8.mjs";
6
+ import { t as MediaLibrary } from "./MediaLibrary_BGEv2tuu.mjs";
7
7
  //#region src/pages/media/upload.astro
8
8
  var upload_exports = /* @__PURE__ */ __exportAll({
9
9
  default: () => $$Upload,
@@ -1,8 +1,8 @@
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 "./i18n_BfgvkkQ3.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_CL8yeGqZ.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_1dGTmjBY.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createSignal, onCleanup, onMount } from "solid-js";