@oktis-works/admin 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/client/_astro/{ActivityWidget.DmhtX3Xm.js → ActivityWidget.CedrZ3yN.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.DKoQ5M3w.js → AdminBar.CkfSUzJJ.js} +1 -1
  3. package/dist/client/_astro/{ApiKeysManager.BaPrAyqm.js → ApiKeysManager.ChCtr3J2.js} +1 -1
  4. package/dist/client/_astro/{AtGlanceWidget.zlWIhmzI.js → AtGlanceWidget.DMrAc7qb.js} +1 -1
  5. package/dist/client/_astro/{CommentsManager.DROGQRli.js → CommentsManager.CtiI8mwU.js} +1 -1
  6. package/dist/client/_astro/ContentEditor.BQTSumnU.js +1 -0
  7. package/dist/client/_astro/{ContentEditor.ChA5r0aE.js → ContentEditor.Bl295osh.js} +1 -1
  8. package/dist/client/_astro/{ContentTypeWorkspace.Dj9dP14a.js → ContentTypeWorkspace.xZAsn-ok.js} +1 -1
  9. package/dist/client/_astro/{DashboardHome.Dn6_pJuX.js → DashboardHome.B7PYDcS1.js} +1 -1
  10. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.NiobGnWg.js → DashboardLayout.astro_astro_type_script_index_0_lang.BFY8jBwE.js} +1 -1
  11. package/dist/client/_astro/{FieldGroupEditor.CiFoYYb2.js → FieldGroupEditor.BsV0u51p.js} +1 -1
  12. package/dist/client/_astro/{FieldGroupList.CdN99hvU.js → FieldGroupList.CXyFKdsR.js} +1 -1
  13. package/dist/client/_astro/{FieldRenderer.DYMREsip.js → FieldRenderer.2TxRD88c.js} +1 -1
  14. package/dist/client/_astro/{Footer.VGpnxqkW.js → Footer.BKD9_ctB.js} +1 -1
  15. package/dist/client/_astro/{GeneralSettings.mQ7FyhM-.js → GeneralSettings.Di8ILdOl.js} +1 -1
  16. package/dist/client/_astro/{LogsManager.BUJ7baOa.js → LogsManager.WBGR0Ci2.js} +1 -1
  17. package/dist/client/_astro/{MediaLibrary.DMvI8KXX.js → MediaLibrary.B5ozN2R7.js} +1 -1
  18. package/dist/client/_astro/{MenuManager._4YgarRt.js → MenuManager.9UORktNs.js} +1 -1
  19. package/dist/client/_astro/{Modal.DbBPpkbR.js → Modal.CPaZJlDP.js} +1 -1
  20. package/dist/client/_astro/PluginManager._RYLLtJI.js +112 -0
  21. package/dist/client/_astro/{PostTypesManager.CifIQbeV.js → PostTypesManager.B6dDnCOy.js} +1 -1
  22. package/dist/client/_astro/{QuickDraftWidget.CsG3_wS2.js → QuickDraftWidget.DCVYrBPm.js} +1 -1
  23. package/dist/client/_astro/{ResourceHubs.DedTFbiz.js → ResourceHubs.Cd0KB4Rx.js} +1 -1
  24. package/dist/client/_astro/{TaxonomiesManager.JqBPU1pf.js → TaxonomiesManager.9I03xqrR.js} +1 -1
  25. package/dist/client/_astro/{TaxonomyTermsManager.BLGRLt8p.js → TaxonomyTermsManager.btLVdHr-.js} +1 -1
  26. package/dist/client/_astro/{ThemeCustomizer.DrSQPj4W.js → ThemeCustomizer.CXg9hm9t.js} +1 -1
  27. package/dist/client/_astro/ThemeManager.BfQh8JJa.js +144 -0
  28. package/dist/client/_astro/{UserCreateForm.C54wZYbf.js → UserCreateForm.BAd11jYs.js} +1 -1
  29. package/dist/client/_astro/{UsersManager.BYTWz2I8.js → UsersManager.gkehfvoP.js} +1 -1
  30. package/dist/client/_astro/{WebhooksManager.DeJ_f1Gk.js → WebhooksManager.BCilUaGs.js} +1 -1
  31. package/dist/client/_astro/{api.flUgn70U.js → api.B03e8F6d.js} +1 -1
  32. package/dist/client/_astro/{extensions.DtuT3Phu.js → extensions.EzvpwBZm.js} +1 -1
  33. package/dist/client/_astro/{i18n.CBexpqud.js → i18n.LMZI7jyc.js} +1 -1
  34. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.COYjmQTY.js → login.astro_astro_type_script_index_0_lang.BUOUZuDy.js} +1 -1
  35. package/dist/client/_astro/{pt-BR.DlIhl4_A.js → pt-BR.CfJP86YC.js} +1 -1
  36. package/dist/client/_astro/{store.CYzqtRKs.js → store.DJjOMYcw.js} +1 -1
  37. package/dist/server/chunks/{404_BxFvEXYq.mjs → 404_CIlW8Cz9.mjs} +1 -1
  38. package/dist/server/chunks/{BaseLayout_BTzlA_Yr.mjs → BaseLayout_DdN9Gl3i.mjs} +1 -1
  39. package/dist/server/chunks/{ContentEditor_DStZ4RZE.mjs → ContentEditor_GenRIOIJ.mjs} +3 -3
  40. package/dist/server/chunks/{DashboardLayout_PXoRmnBH.mjs → DashboardLayout_BY4AqWC6.mjs} +2 -2
  41. package/dist/server/chunks/{FieldRenderer_BlZgS0Im.mjs → FieldRenderer_pM3Tq7vY.mjs} +2 -2
  42. package/dist/server/chunks/{MediaLibrary_D7vu5VMd.mjs → MediaLibrary_woj8kWSK.mjs} +2 -2
  43. package/dist/server/chunks/{Modal_I_mBEOz2.mjs → Modal_BQZlVP1o.mjs} +1 -1
  44. package/dist/server/chunks/{_id__DFFoFesR.mjs → _id__CIrIQBGk.mjs} +2 -2
  45. package/dist/server/chunks/{_slug__DBH2w1la.mjs → _slug__DP5cppSD.mjs} +1 -1
  46. package/dist/server/chunks/{access_D1rk89Sh.mjs → access_Cr1RkoC8.mjs} +3 -3
  47. package/dist/server/chunks/{api-keys_BqhmvOer.mjs → api-keys_DxCfUQiR.mjs} +3 -3
  48. package/dist/server/chunks/{comments_D_ta2fip.mjs → comments_CDCO_DTQ.mjs} +2 -2
  49. package/dist/server/chunks/{custom-fields_Cl8P-rrK.mjs → custom-fields_DUby1Cd7.mjs} +2 -2
  50. package/dist/server/chunks/{customize_DgtzmFmz.mjs → customize_DITLWxTB.mjs} +2 -2
  51. package/dist/server/chunks/{edit_DTk4qFj5.mjs → edit_6xBPrb1J.mjs} +2 -2
  52. package/dist/server/chunks/{general_B-fEXuQn.mjs → general_CA6aT6cZ.mjs} +2 -2
  53. package/dist/server/chunks/{i18n_BmAxDr2Q.mjs → i18n_BBVOgA0q.mjs} +5 -32
  54. package/dist/server/chunks/{index_DXsKda1J.mjs → index_1C4PfYEy.mjs} +2 -2
  55. package/dist/server/chunks/{index_DI8jAAVQ.mjs → index_CO2SvpwW.mjs} +1 -1
  56. package/dist/server/chunks/{index_BcVtYp1L.mjs → index_Cn92C8CO.mjs} +2 -2
  57. package/dist/server/chunks/{index_BKjRvOw4.mjs → index_D2ypKpAG.mjs} +3 -3
  58. package/dist/server/chunks/{index_BXnSMGRk.mjs → index_D_AiNQGl.mjs} +2 -2
  59. package/dist/server/chunks/{login_BGPEB2l4.mjs → login_vyj4WhBt.mjs} +1 -1
  60. package/dist/server/chunks/{logs_XjDk7dqi.mjs → logs_BjuW-do3.mjs} +2 -2
  61. package/dist/server/chunks/{menus_Kqym4CNK.mjs → menus_CPi_m-b8.mjs} +2 -2
  62. package/dist/server/chunks/{new_Dnp7PIHP.mjs → new_BlENJv6A.mjs} +2 -2
  63. package/dist/server/chunks/{new_BiikYmvu.mjs → new_D_pNdD5e.mjs} +2 -2
  64. package/dist/server/chunks/plugins_sYgOSowJ.mjs +150 -0
  65. package/dist/server/chunks/{post-types_Dr4t-TYB.mjs → post-types_Bm8olePm.mjs} +2 -2
  66. package/dist/server/chunks/{pt-BR_DH_fNjEo.mjs → pt-BR_DYDMLZu_.mjs} +4 -19
  67. package/dist/server/chunks/{taxonomies_B0YzIdmD.mjs → taxonomies_DbsqX_QZ.mjs} +2 -2
  68. package/dist/server/chunks/{taxonomy_CCWZ58qQ.mjs → taxonomy_ByKdjp9j.mjs} +3 -3
  69. package/dist/server/chunks/{themes_C7G3LcIz.mjs → themes_BKAM_crI.mjs} +27 -129
  70. package/dist/server/chunks/{upload_BT3ud_vb.mjs → upload_CE4Lbc1u.mjs} +2 -2
  71. package/dist/server/chunks/{webhooks_CWW0L8EK.mjs → webhooks_CpruP30e.mjs} +2 -2
  72. package/dist/server/entry.mjs +28 -28
  73. package/dist/server/virtual_astro_middleware.mjs +1 -1
  74. package/package.json +1 -1
  75. package/dist/client/_astro/ContentEditor.CtCFQb14.js +0 -1
  76. package/dist/client/_astro/PluginManager.BozI4gXB.js +0 -136
  77. package/dist/client/_astro/ThemeManager.Csu39Xjr.js +0 -176
  78. package/dist/server/chunks/plugins_C6qX0SAE.mjs +0 -179
@@ -90,7 +90,7 @@ async function loadLocale(locale) {
90
90
  "./locales/it.json": () => import("./it_CMLpQyoj.mjs"),
91
91
  "./locales/ja.json": () => import("./ja_CYRz0pHv.mjs"),
92
92
  "./locales/pl.json": () => import("./pl_BuXVPvU1.mjs"),
93
- "./locales/pt-BR.json": () => import("./pt-BR_DH_fNjEo.mjs"),
93
+ "./locales/pt-BR.json": () => import("./pt-BR_DYDMLZu_.mjs"),
94
94
  "./locales/ru.json": () => import("./ru_C56ltukG.mjs"),
95
95
  "./locales/sw.json": () => import("./sw_Dhw0GAgD.mjs"),
96
96
  "./locales/tr.json": () => import("./tr_zELRy7A-.mjs"),
@@ -788,9 +788,6 @@ var ApiClient = class {
788
788
  async installTheme(data) {
789
789
  return this.request("POST", "/api/v1/themes/install", data);
790
790
  }
791
- async uninstallTheme(id) {
792
- await this.request("DELETE", `/api/v1/themes/${id}`);
793
- }
794
791
  async getPlugins() {
795
792
  return (await this.request("GET", "/api/v1/plugins")).map((plugin) => ({
796
793
  id: String(plugin["id"] ?? ""),
@@ -805,15 +802,6 @@ var ApiClient = class {
805
802
  async getAdminExtensions() {
806
803
  return this.request("GET", "/api/v1/plugins/extensions");
807
804
  }
808
- async activatePlugin(id, tenantId) {
809
- return this.request("POST", `/api/v1/plugins/${id}/activate`, { tenantId });
810
- }
811
- async deactivatePlugin(id, tenantId) {
812
- return this.request("POST", `/api/v1/plugins/${id}/deactivate`, { tenantId });
813
- }
814
- async uninstallPlugin(id) {
815
- await this.request("DELETE", `/api/v1/plugins/${id}`);
816
- }
817
805
  /** Estado de runtime dos plugins (WP2) — por escopo platform/tenant. */
818
806
  async getPluginsRuntime() {
819
807
  return this.request("GET", "/api/v1/plugins/runtime");
@@ -1388,14 +1376,13 @@ var apiKeys = {
1388
1376
  };
1389
1377
  var plugins = {
1390
1378
  "title": "Plugins",
1391
- "description": "Manage installed plugins.",
1392
- "directoryHint": "Detected automatically from the project's plugins/ directory. Use the CLI or deploy files to add extensions.",
1379
+ "description": "View installed plugins.",
1380
+ "directoryHint": "Detected automatically from the project's plugins/ directory. To install, update or activate a plugin, place its files in plugins/ and restart the server (okcms start, pm2 or docker).",
1393
1381
  "columns": {
1394
1382
  "name": "Name",
1395
1383
  "version": "Version",
1396
1384
  "status": "Status",
1397
- "enabled": "Enabled for tenant",
1398
- "actions": "Actions"
1385
+ "enabled": "Enabled for tenant"
1399
1386
  },
1400
1387
  "status": {
1401
1388
  "active": "Active",
@@ -1405,8 +1392,6 @@ var plugins = {
1405
1392
  "missing": "Missing",
1406
1393
  "loadFailed": "Load failed"
1407
1394
  },
1408
- "activate": "Activate",
1409
- "deactivate": "Deactivate",
1410
1395
  "install": "Install plugin",
1411
1396
  "uninstall": "Uninstall",
1412
1397
  "confirmUninstall": "Uninstall {name}?",
@@ -1414,14 +1399,9 @@ var plugins = {
1414
1399
  "version": "Version",
1415
1400
  "manifest": "Manifest (JSON)",
1416
1401
  "loadError": "Could not load plugins.",
1417
- "activateError": "Could not activate the plugin.",
1418
- "deactivateError": "Could not deactivate the plugin.",
1419
1402
  "installError": "Could not install the plugin.",
1420
1403
  "uninstallError": "Could not uninstall the plugin.",
1421
1404
  "empty": "No plugins installed.",
1422
- "selectTenant": "Select tenant",
1423
- "selectTenantPlaceholder": "Choose a tenant to activate/deactivate for",
1424
- "hideSelector": "Hide selector",
1425
1405
  "enabledForTenant": "Active for this tenant",
1426
1406
  "enabledYes": "Yes",
1427
1407
  "enabledNo": "No"
@@ -1440,21 +1420,14 @@ var themes = {
1440
1420
  "activate": "Activate",
1441
1421
  "deactivate": "Deactivate",
1442
1422
  "install": "Install theme",
1443
- "uninstall": "Uninstall",
1444
- "confirmUninstall": "Uninstall {name}?",
1445
1423
  "name": "Theme name",
1446
1424
  "manifest": "Manifest (JSON)",
1447
1425
  "loadError": "Could not load themes.",
1448
1426
  "activateError": "Could not activate the theme.",
1449
1427
  "deactivateError": "Could not deactivate the theme.",
1428
+ "deactivateBlocked": "At least one theme must remain active.",
1450
1429
  "installError": "Could not install the theme.",
1451
- "uninstallError": "Could not uninstall the theme.",
1452
1430
  "reload": "Reload",
1453
- "configTitle": "Settings",
1454
- "configClose": "Hide settings",
1455
- "configSave": "Save settings",
1456
- "configSaved": "Settings saved.",
1457
- "configError": "Could not save the theme settings.",
1458
1431
  "empty": "No themes installed."
1459
1432
  };
1460
1433
  var notFound = {
@@ -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_PXoRmnBH.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
6
- import { t as MediaLibrary } from "./MediaLibrary_D7vu5VMd.mjs";
6
+ import { t as MediaLibrary } from "./MediaLibrary_woj8kWSK.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_PXoRmnBH.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.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_BmAxDr2Q.mjs";
5
- import { c as Button, d as Input, h as Show2, m as Select, p as Pagination, s as Badge, t as $$DashboardLayout, u as For2, v as createSignal, y as onMount } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { c as Button, d as Input, h as Show2, m as Select, p as Pagination, s as Badge, t as $$DashboardLayout, u as For2, v as createSignal, y as onMount } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  //#region src/components/apps/users/UsersManager.jsx
@@ -1,10 +1,10 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as useTranslation, r as apiClient } from "./i18n_BmAxDr2Q.mjs";
5
- import { c as Button, d as Input, g as Table, i as ActionLinksSlot, l as Card, m as Select, n as emptyExtensionsState, o as PluginComponentHost, p as Pagination, r as loadExtensions, s as Badge, t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { c as Button, d as Input, g as Table, i as ActionLinksSlot, l as Card, m as Select, n as emptyExtensionsState, o as PluginComponentHost, p as Pagination, r as loadExtensions, s as Badge, t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
7
- import { t as ContentEditor } from "./ContentEditor_DStZ4RZE.mjs";
7
+ import { t as ContentEditor } from "./ContentEditor_GenRIOIJ.mjs";
8
8
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
9
9
  import { Show, createMemo, createSignal, onMount } from "solid-js";
10
10
  //#region src/components/content/ContentList.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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.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.jsx
@@ -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_BTzlA_Yr.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_DdN9Gl3i.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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.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.jsx
@@ -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_PXoRmnBH.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
6
- import { t as ContentEditor } from "./ContentEditor_DStZ4RZE.mjs";
6
+ import { t as ContentEditor } from "./ContentEditor_GenRIOIJ.mjs";
7
7
  //#region src/pages/content/[type]/new.astro
8
8
  var new_exports = /* @__PURE__ */ __exportAll({
9
9
  default: () => $$New,
@@ -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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
8
8
  import { For, Show, createSignal, onMount } from "solid-js";
@@ -0,0 +1,150 @@
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_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
+ import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
7
+ import { createComponent, escape, ssr, ssrHydrationKey } from "solid-js/web";
8
+ import { For, createSignal, onMount } from "solid-js";
9
+ //#region src/components/apps/plugins/PluginManager.tsx
10
+ var _tmpl$ = [
11
+ "<div",
12
+ " class=\"plugin-manager\"><p class=\"page-hint\">",
13
+ "</p><!--$-->",
14
+ "<!--/--><!--$-->",
15
+ "<!--/--><!--$-->",
16
+ "<!--/--><style>\n .page-hint {\n margin: 0 0 1.25rem;\n color: var(--color-muted);\n font-size: 0.8125rem;\n }\n .badge-enabled {\n display: inline-block;\n margin-left: 0.5rem;\n padding: 0.125rem 0.375rem;\n font-size: 0.625rem;\n font-weight: 600;\n text-transform: uppercase;\n background: var(--color-success-soft);\n color: var(--color-success);\n border-radius: var(--radius-full);\n }\n .enabled-badge {\n color: var(--color-success);\n font-weight: 500;\n }\n .disabled-badge {\n color: var(--color-muted);\n font-weight: 500;\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 .status-quarantined {\n background: var(--color-warning-soft);\n color: var(--color-warning);\n }\n .status-missing {\n background: var(--color-error-soft);\n color: var(--color-error);\n }\n .status-load-failed {\n background: var(--color-error-soft);\n color: var(--color-error);\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>"
17
+ ];
18
+ var _tmpl$2 = [
19
+ "<div",
20
+ " class=\"alert alert-error\">",
21
+ "</div>"
22
+ ];
23
+ var _tmpl$3 = ["<div", " class=\"skeleton\">Loading...</div>"];
24
+ var _tmpl$4 = [
25
+ "<div",
26
+ " class=\"plugins-table-container\"><table class=\"table\"><thead><tr><th>",
27
+ "</th><th>",
28
+ "</th><th>",
29
+ "</th><th>",
30
+ "</th></tr></thead><tbody>",
31
+ "</tbody></table><!--$-->",
32
+ "<!--/--></div>"
33
+ ];
34
+ var _tmpl$5 = [
35
+ "<tr",
36
+ " class=\"plugin-row\"><td class=\"plugin-name\"><strong>",
37
+ "</strong><!--$-->",
38
+ "<!--/--><!--$-->",
39
+ "<!--/--></td><td>",
40
+ "</td><td><span class=\"",
41
+ "\">",
42
+ "</span></td><td>",
43
+ "</td></tr>"
44
+ ];
45
+ var _tmpl$6 = [
46
+ "<span",
47
+ " class=\"plugin-description\">",
48
+ "</span>"
49
+ ];
50
+ var _tmpl$7 = [
51
+ "<span",
52
+ " class=\"badge-enabled\">",
53
+ "</span>"
54
+ ];
55
+ var _tmpl$8 = [
56
+ "<span",
57
+ " class=\"enabled-badge\">",
58
+ "</span>"
59
+ ];
60
+ var _tmpl$9 = [
61
+ "<span",
62
+ " class=\"disabled-badge\">",
63
+ "</span>"
64
+ ];
65
+ var _tmpl$0 = [
66
+ "<div",
67
+ " class=\"empty-state\">",
68
+ "</div>"
69
+ ];
70
+ function PluginManager() {
71
+ const { t } = useTranslation();
72
+ const [plugins, setPlugins] = createSignal([]);
73
+ const [loading, setLoading] = createSignal(true);
74
+ const [error, setError] = createSignal(null);
75
+ onMount(async () => {
76
+ await loadPlugins();
77
+ });
78
+ async function loadPlugins() {
79
+ try {
80
+ setLoading(true);
81
+ const data = await apiClient.getPlugins();
82
+ setPlugins(data);
83
+ } catch {
84
+ setError(t("plugins.loadError"));
85
+ } finally {
86
+ setLoading(false);
87
+ }
88
+ }
89
+ const getStatusLabel = (status) => {
90
+ switch (status) {
91
+ case "ACTIVE":
92
+ case "ACTIVATED": return t("plugins.status.active");
93
+ case "INSTALLED": return t("plugins.status.installed");
94
+ case "INACTIVE":
95
+ case "DEACTIVATED": return t("plugins.status.inactive");
96
+ case "QUARANTINED": return t("plugins.status.quarantined");
97
+ case "MISSING": return t("plugins.status.missing");
98
+ case "LOAD_FAILED": return t("plugins.status.loadFailed");
99
+ default: return status;
100
+ }
101
+ };
102
+ const getStatusClass = (status) => {
103
+ switch (status) {
104
+ case "ACTIVE":
105
+ case "ACTIVATED": return "status-active";
106
+ case "INSTALLED": return "status-installed";
107
+ case "INACTIVE":
108
+ case "DEACTIVATED": return "status-inactive";
109
+ case "QUARANTINED": return "status-quarantined";
110
+ case "MISSING": return "status-missing";
111
+ case "LOAD_FAILED": return "status-load-failed";
112
+ default: return "";
113
+ }
114
+ };
115
+ return ssr(_tmpl$, ssrHydrationKey(), escape(t("plugins.directoryHint")), error() && ssr(_tmpl$2, ssrHydrationKey(), escape(error())), loading() && _tmpl$3[0] + ssrHydrationKey() + _tmpl$3[1], !loading() && !error() && ssr(_tmpl$4, ssrHydrationKey(), escape(t("plugins.columns.name")), escape(t("plugins.columns.version")), escape(t("plugins.columns.status")), escape(t("plugins.columns.enabled")), escape(createComponent(For, {
116
+ get each() {
117
+ return plugins();
118
+ },
119
+ children: (plugin) => ssr(_tmpl$5, ssrHydrationKey(), escape(plugin.name), plugin.manifest?.description && ssr(_tmpl$6, ssrHydrationKey(), escape(plugin.manifest.description)), plugin.enabled && ssr(_tmpl$7, ssrHydrationKey(), escape(t("plugins.enabledForTenant"))), escape(plugin.version), `status-badge ${escape(getStatusClass(plugin.status), true)}`, escape(getStatusLabel(plugin.status)), plugin.enabled ? ssr(_tmpl$8, ssrHydrationKey(), escape(t("plugins.enabledYes"))) : ssr(_tmpl$9, ssrHydrationKey(), escape(t("plugins.enabledNo"))))
120
+ })), plugins().length === 0 && ssr(_tmpl$0, ssrHydrationKey(), escape(t("plugins.empty")))));
121
+ }
122
+ //#endregion
123
+ //#region src/pages/plugins.astro
124
+ var plugins_exports = /* @__PURE__ */ __exportAll({
125
+ default: () => $$Plugins,
126
+ file: () => $$file,
127
+ url: () => $$url
128
+ });
129
+ createAstro("https://astro.build");
130
+ var $$Plugins = createComponent$1(($$result, $$props, $$slots) => {
131
+ const Astro = $$result.createAstro($$props, $$slots);
132
+ Astro.self = $$Plugins;
133
+ const { t } = Astro.locals;
134
+ return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, { "title": t("plugins.title") }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "PageHeader", PageHeader, {
135
+ "title": t("plugins.title"),
136
+ "description": t("plugins.description")
137
+ })}${renderComponent($$result, "PluginManager", PluginManager, {
138
+ "client:load": true,
139
+ "client:component-hydration": "load",
140
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/plugins/PluginManager.tsx",
141
+ "client:component-export": "PluginManager"
142
+ })}` })}`;
143
+ }, "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro", void 0);
144
+ var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/plugins.astro";
145
+ var $$url = "/plugins";
146
+ //#endregion
147
+ //#region \0virtual:astro:page:src/pages/plugins@_@astro
148
+ var page = () => plugins_exports;
149
+ //#endregion
150
+ export { page };
@@ -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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
7
7
  import { t as FloatingPanel } from "./FloatingPanel_BtB-nNBT.mjs";
8
8
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
@@ -485,14 +485,13 @@ var apiKeys = {
485
485
  };
486
486
  var plugins = {
487
487
  "title": "Plugins",
488
- "description": "Gerencie os plugins instalados.",
489
- "directoryHint": "Detectados automaticamente no diretório plugins/ do projeto. Use a CLI ou o deploy para adicionar extensões.",
488
+ "description": "Visualize os plugins instalados.",
489
+ "directoryHint": "Detectados automaticamente no diretório plugins/ do projeto. Para instalar, atualizar ou ativar um plugin, coloque os arquivos em plugins/ e reinicie o servidor (okcms start, pm2 ou docker).",
490
490
  "columns": {
491
491
  "name": "Nome",
492
492
  "version": "Versão",
493
493
  "status": "Status",
494
- "enabled": "Ativo no tenant",
495
- "actions": "Ações"
494
+ "enabled": "Ativo no tenant"
496
495
  },
497
496
  "status": {
498
497
  "active": "Ativo",
@@ -502,8 +501,6 @@ var plugins = {
502
501
  "missing": "Ausente",
503
502
  "loadFailed": "Falha ao carregar"
504
503
  },
505
- "activate": "Ativar",
506
- "deactivate": "Desativar",
507
504
  "install": "Instalar plugin",
508
505
  "uninstall": "Desinstalar",
509
506
  "confirmUninstall": "Desinstalar {name}?",
@@ -511,14 +508,9 @@ var plugins = {
511
508
  "version": "Versão",
512
509
  "manifest": "Manifesto (JSON)",
513
510
  "loadError": "Não foi possível carregar os plugins.",
514
- "activateError": "Não foi possível ativar o plugin.",
515
- "deactivateError": "Não foi possível desativar o plugin.",
516
511
  "installError": "Não foi possível instalar o plugin.",
517
512
  "uninstallError": "Não foi possível desinstalar o plugin.",
518
513
  "empty": "Nenhum plugin instalado.",
519
- "selectTenant": "Selecionar tenant",
520
- "selectTenantPlaceholder": "Escolha um tenant para ativar/desativar",
521
- "hideSelector": "Ocultar seletor",
522
514
  "enabledForTenant": "Ativo para este tenant",
523
515
  "enabledYes": "Sim",
524
516
  "enabledNo": "Não"
@@ -537,21 +529,14 @@ var themes = {
537
529
  "activate": "Ativar",
538
530
  "deactivate": "Desativar",
539
531
  "install": "Instalar tema",
540
- "uninstall": "Desinstalar",
541
- "confirmUninstall": "Desinstalar {name}?",
542
532
  "name": "Nome do tema",
543
533
  "manifest": "Manifesto (JSON)",
544
534
  "loadError": "Não foi possível carregar os temas.",
545
535
  "activateError": "Não foi possível ativar o tema.",
546
536
  "deactivateError": "Não foi possível desativar o tema.",
537
+ "deactivateBlocked": "É necessário manter pelo menos um tema ativo.",
547
538
  "installError": "Não foi possível instalar o tema.",
548
- "uninstallError": "Não foi possível desinstalar o tema.",
549
539
  "reload": "Sincronizar",
550
- "configTitle": "Configurações",
551
- "configClose": "Ocultar configurações",
552
- "configSave": "Salvar configurações",
553
- "configSaved": "Configurações salvas.",
554
- "configError": "Não foi possível salvar as configurações do tema.",
555
540
  "empty": "Nenhum tema instalado."
556
541
  };
557
542
  var notFound = {
@@ -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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.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,9 +1,9 @@
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_BmAxDr2Q.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_PXoRmnBH.mjs";
6
- import { n as expandCloneFields, t as FieldRenderer } from "./FieldRenderer_BlZgS0Im.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BBVOgA0q.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BY4AqWC6.mjs";
6
+ import { n as expandCloneFields, t as FieldRenderer } from "./FieldRenderer_pM3Tq7vY.mjs";
7
7
  import { t as PageHeader } from "./PageHeader_CRpzf5xU.mjs";
8
8
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
9
9
  import { For, Show, createSignal, onMount } from "solid-js";