ligbox-ops-platform/frontend/assets/modules.js
Ligbox Spec Hub 3a2c64834b Initial import: ligbox-ops-platform + specs + LAPTOP + obsidian merge (CT130)
Source: VM122 /opt + obsidian-infra + LAPTOP
Hub: CT130 spec-hub 10.10.10.130
2026-06-19 17:26:41 +00:00

36 lines
934 B
JavaScript

/** Registry de módulos Desk — Spec 015 */
const DeskModules = {
list: [],
loaded: false,
async load() {
const data = await api('/v1/modules');
this.list = data.modules || [];
this.loaded = true;
return this.list;
},
isEnabled(moduleId) {
const mod = this.list.find((m) => m.id === moduleId);
if (!mod) return true;
return !!mod.enabled;
},
isViewEnabled(view) {
const btn = document.querySelector(`.nav button[data-view="${view}"]`);
if (!btn || btn.hasAttribute('hidden')) return false;
const modId = btn.dataset.module;
if (!modId) return true;
return this.isEnabled(modId);
},
applyVisibility() {
document.querySelectorAll('[data-module]').forEach((el) => {
const modId = el.dataset.module;
if (this.isEnabled(modId)) el.removeAttribute('hidden');
else el.setAttribute('hidden', '');
});
},
};
window.DeskModules = DeskModules;