@oktis-works/admin 0.8.4 → 0.8.6

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 (68) hide show
  1. package/dist/client/_astro/{ActivityWidget.ByKRv9-E.js → ActivityWidget.D7_53BGw.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.CDcQtF-_.js → AdminBar.D5HuPXui.js} +1 -1
  3. package/dist/client/_astro/{AtGlanceWidget.BgnDDWbO.js → AtGlanceWidget.Lluw6UBw.js} +3 -10
  4. package/dist/client/_astro/{ContentEditor.CdhqgY1I.js → ContentEditor.BCCGxP1w.js} +1 -1
  5. package/dist/client/_astro/ContentEditor.CeaHUL-i.js +1 -0
  6. package/dist/client/_astro/{ContentTypeWorkspace.DRh2tSis.js → ContentTypeWorkspace.C4hnI9YC.js} +1 -1
  7. package/dist/client/_astro/{DashboardHome.BzbaJOUx.js → DashboardHome.BPOZDPUo.js} +1 -1
  8. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.wCZbNQh3.js → DashboardLayout.astro_astro_type_script_index_0_lang.Bede1aP3.js} +1 -1
  9. package/dist/client/_astro/{FieldGroupEditor.DJJyTLKZ.js → FieldGroupEditor.Dk20Xh8p.js} +1 -1
  10. package/dist/client/_astro/{FieldGroupList.DtsJdk81.js → FieldGroupList.CDIrd2MZ.js} +1 -1
  11. package/dist/client/_astro/{Footer.hklTYEbX.js → Footer.Mwcn7bMK.js} +1 -1
  12. package/dist/client/_astro/{GeneralSettings.DsAiNE-f.js → GeneralSettings.BXI3GeZQ.js} +1 -1
  13. package/dist/client/_astro/{LogsManager.B_KlSIsF.js → LogsManager.BdBSMMEv.js} +1 -1
  14. package/dist/client/_astro/{MediaLibrary.DRijq5qg.js → MediaLibrary.lVfoq1yB.js} +1 -1
  15. package/dist/client/_astro/{MenuManager.B73RzwWS.js → MenuManager.DxIUsXPf.js} +1 -1
  16. package/dist/client/_astro/{PluginManager.C8e99whu.js → PluginManager.FF8-TyV2.js} +1 -1
  17. package/dist/client/_astro/{PostTypesManager.C5P_rgmV.js → PostTypesManager._chJSXyr.js} +1 -1
  18. package/dist/client/_astro/{QuickDraftWidget.Cgklpcnl.js → QuickDraftWidget.Dw44Y1PJ.js} +1 -1
  19. package/dist/client/_astro/{ResourceHubs.CTqijjUu.js → ResourceHubs.CSuTjP2I.js} +1 -1
  20. package/dist/client/_astro/{TaxonomiesManager.BR1fsS45.js → TaxonomiesManager.B__PNKrM.js} +1 -1
  21. package/dist/client/_astro/{TaxonomyTermsManager.m3lSy4r2.js → TaxonomyTermsManager.H_Q5W0d1.js} +1 -1
  22. package/dist/client/_astro/ThemeManager.BBQKudhO.js +176 -0
  23. package/dist/client/_astro/{UserCreateForm.B3vi6lEe.js → UserCreateForm.CsyYRVpM.js} +1 -1
  24. package/dist/client/_astro/{UsersManager.BsQLF4N-.js → UsersManager.BntNgQkZ.js} +1 -1
  25. package/dist/client/_astro/{WebhooksManager.DZOF_Lfa.js → WebhooksManager.CJohMg1N.js} +1 -1
  26. package/dist/client/_astro/{api.s1WYKU5S.js → api.BZGjgltO.js} +1 -1
  27. package/dist/client/_astro/{extensions.CPygai9z.js → extensions.DuW4Htyu.js} +1 -1
  28. package/dist/client/_astro/i18n.DwiedzrR.js +1 -0
  29. 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
  30. package/dist/client/_astro/pt-BR.BLrffzGB.js +1 -0
  31. package/dist/server/chunks/{BaseLayout_Cy8atUSF.mjs → BaseLayout_BipurZxW.mjs} +2 -2
  32. package/dist/server/chunks/{ContentEditor_BdZdK9wv.mjs → ContentEditor_BBwkjIWX.mjs} +2 -2
  33. package/dist/server/chunks/{DashboardLayout_ft-tktMX.mjs → DashboardLayout_D8kl-bRz.mjs} +7 -63
  34. package/dist/server/chunks/{MediaLibrary_CUiDlQm8.mjs → MediaLibrary_Cz3kFOf1.mjs} +2 -2
  35. package/dist/server/chunks/{_id__D2oHDyIs.mjs → _id__BScPz4sZ.mjs} +2 -2
  36. package/dist/server/chunks/{_slug__CLcymx9T.mjs → _slug__DL_9q4IA.mjs} +1 -1
  37. package/dist/server/chunks/{access_CFXYYu4Q.mjs → access_DNBAQK33.mjs} +2 -2
  38. package/dist/server/chunks/{custom-fields_aq4EuIRP.mjs → custom-fields_CNpYcGe5.mjs} +2 -2
  39. package/dist/server/chunks/{edit_o3Bd3iX_.mjs → edit_Do3MYZ3P.mjs} +2 -2
  40. package/dist/server/chunks/{general_C1AHVWeU.mjs → general_CDhVb79L.mjs} +2 -2
  41. package/dist/server/chunks/{i18n_BfgvkkQ3.mjs → i18n_LxatWcFX.mjs} +11 -2
  42. package/dist/server/chunks/{index_C6W9BWXF.mjs → index_B5qrLw5e.mjs} +2 -2
  43. package/dist/server/chunks/{index_BDelhcn6.mjs → index_BJV3c2yL.mjs} +2 -2
  44. package/dist/server/chunks/{index_DontTOa1.mjs → index_C__uorER.mjs} +1 -1
  45. package/dist/server/chunks/{index_C5K7WhaU.mjs → index_DsEvrRuL.mjs} +3 -3
  46. package/dist/server/chunks/{index_DAPZ_T-M.mjs → index_fJc0OyJh.mjs} +2 -2
  47. package/dist/server/chunks/{login_DHRiNXlr.mjs → login_DxOSkfEI.mjs} +1 -1
  48. package/dist/server/chunks/{logs_BZLtXTyB.mjs → logs_DPtocp9R.mjs} +2 -2
  49. package/dist/server/chunks/{menus_DMIv2qoA.mjs → menus_B6zE9lE9.mjs} +2 -2
  50. package/dist/server/chunks/{new_DWH3ap55.mjs → new_5LUbuH-p.mjs} +2 -2
  51. package/dist/server/chunks/{new_C0g2i4sH.mjs → new_BDSIUWTw.mjs} +2 -2
  52. package/dist/server/chunks/{plugins_D6iaKm-L.mjs → plugins_DksxQ4dd.mjs} +2 -2
  53. package/dist/server/chunks/{post-types_BE6GJD5s.mjs → post-types_C7u-dWku.mjs} +2 -2
  54. package/dist/server/chunks/{pt-BR_B8CUDeSz.mjs → pt-BR_DI_b7akz.mjs} +6 -1
  55. package/dist/server/chunks/{taxonomies_B3-LUNES.mjs → taxonomies_CbuDB5MA.mjs} +2 -2
  56. package/dist/server/chunks/{taxonomy_Cj4JjfLF.mjs → taxonomy_QbYqYB7A.mjs} +2 -2
  57. package/dist/server/chunks/themes_BY5zb9V_.mjs +265 -0
  58. package/dist/server/chunks/{upload_DEXcw1bG.mjs → upload_CY8fHFf0.mjs} +2 -2
  59. package/dist/server/chunks/{webhooks_CV5QcQFP.mjs → webhooks_B1c94wgF.mjs} +2 -2
  60. package/dist/server/entry.mjs +24 -24
  61. package/dist/server/virtual_astro_middleware.mjs +1 -1
  62. package/package.json +2 -2
  63. package/dist/client/_astro/AtGlanceWidget.B1GU-QOd.js +0 -1
  64. package/dist/client/_astro/ContentEditor.Dk4pXUkp.js +0 -1
  65. package/dist/client/_astro/ThemeManager.BXeLJM2B.js +0 -116
  66. package/dist/client/_astro/i18n.Cnvng1i8.js +0 -1
  67. package/dist/client/_astro/pt-BR.dxAFMMtn.js +0 -1
  68. 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_DI_b7akz.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
  }
@@ -875,7 +879,6 @@ var dashboard = {
875
879
  "mediaDesc": "Files in the library",
876
880
  "users": "Users",
877
881
  "usersDesc": "Total / Active / Inactive",
878
- "version": "Version",
879
882
  "storage": "Storage",
880
883
  "quickDraft": {
881
884
  "title": "Quick Draft",
@@ -1660,6 +1663,12 @@ var themes = {
1660
1663
  "deactivateError": "Could not deactivate the theme.",
1661
1664
  "installError": "Could not install the theme.",
1662
1665
  "uninstallError": "Could not uninstall the theme.",
1666
+ "reload": "Reload",
1667
+ "configTitle": "Settings",
1668
+ "configClose": "Hide settings",
1669
+ "configSave": "Save settings",
1670
+ "configSaved": "Settings saved.",
1671
+ "configError": "Could not save the theme settings.",
1663
1672
  "empty": "No themes installed."
1664
1673
  };
1665
1674
  var login = {
@@ -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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_D8kl-bRz.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_Cz3kFOf1.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 { t as $$DashboardLayout } from "./DashboardLayout_ft-tktMX.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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,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_LxatWcFX.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_D8kl-bRz.mjs";
6
+ import { t as ContentEditor } from "./ContentEditor_BBwkjIWX.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,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_LxatWcFX.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_D8kl-bRz.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,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_BipurZxW.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_D8kl-bRz.mjs";
5
+ import { t as ContentEditor } from "./ContentEditor_BBwkjIWX.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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";
@@ -50,7 +50,6 @@ var dashboard = {
50
50
  "mediaDesc": "Arquivos na biblioteca",
51
51
  "users": "Usuários",
52
52
  "usersDesc": "Total / Ativos / Inativos",
53
- "version": "Versão",
54
53
  "storage": "Armazenamento",
55
54
  "quickDraft": {
56
55
  "title": "Rascunho rápido",
@@ -466,6 +465,12 @@ var themes = {
466
465
  "deactivateError": "Não foi possível desativar o tema.",
467
466
  "installError": "Não foi possível instalar o tema.",
468
467
  "uninstallError": "Não foi possível desinstalar o tema.",
468
+ "reload": "Sincronizar",
469
+ "configTitle": "Configurações",
470
+ "configClose": "Ocultar configurações",
471
+ "configSave": "Salvar configurações",
472
+ "configSaved": "Configurações salvas.",
473
+ "configError": "Não foi possível salvar as configurações do tema.",
469
474
  "empty": "Nenhum tema instalado."
470
475
  };
471
476
  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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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_D8kl-bRz.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_Cz3kFOf1.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_LxatWcFX.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_D8kl-bRz.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";