Merge claude/1

This commit is contained in:
librelad 2026-05-31 00:41:16 +01:00
commit d84a4bf709
10 changed files with 11 additions and 11 deletions

View File

@ -12,9 +12,9 @@ const FEATURES_DIR = path.join(__dirname, '..', '..', 'frontend', 'components');
Walks frontend/components/<id>/ and returns one entry per directory that
contains a feature.json the WebUI's page manifest, discovered from the
folders themselves (exactly how /api/themes/list discovers themes). Drop a
features/<id>/ folder in and its page appears; delete it and the page is
components/<id>/ folder in and its page appears; delete it and the page is
gone no central edit. The navigation kernel fetches this and falls back to
the checked-in features/manifest.dev.json if the API is unavailable.
the checked-in components/manifest.dev.json if the API is unavailable.
Each feature.json declares: id, routes[], optional module (self-registering
index.js), optional handler (legacy fallback method), navId, nav{}, and order

View File

@ -1,4 +1,4 @@
// features/admin/index.js — the whole Admin area as one feature module.
// components/admin/index.js — the whole Admin area as one feature module.
//
// Admin owns every /admin* sub-route: /admin & /admin/dashboard (overview
// board), /admin/config/<cat> (config-form pages), /admin/system[/<sub>]

View File

@ -1,4 +1,4 @@
// features/backup/index.js — Backup Center as a self-contained feature module.
// components/backup/index.js — Backup Center as a self-contained feature module.
//
// FIRST page migrated to the feature-module contract (docs/frontend-modularization.md).
// The kernel drives mount()/unmount() for the /backup route instead of

View File

@ -1,4 +1,4 @@
// features/dashboard/index.js — the landing Dashboard as a feature module.
// components/dashboard/index.js — the landing Dashboard as a feature module.
//
// dashboard.js exposes bare global functions (loadInstalledApps,
// loadDashboardData live in dashboard.js / data-loader.js, both eager core

View File

@ -1,4 +1,4 @@
// features/tasks/index.js — the Tasks page as a feature module.
// components/tasks/index.js — the Tasks page as a feature module.
//
// window.tasksManager is a system-loader singleton (its "task-system" component
// loads all task scripts, starts the shared SSE bus, then news TasksManager).

View File

@ -1,4 +1,4 @@
// features/updater/index.js — App Updater feature module.
// components/updater/index.js — App Updater feature module.
//
// Per-app version tracking + CVE/security scanning + disaster-recovery
// (snapshot-before-update and rollback). Built in the same shape as the backup

View File

@ -1,4 +1,4 @@
// features/updater/updater-page.js — App Updater controller.
// components/updater/js/updater-page.js — App Updater controller.
//
// Surfaces, per installed app: version state (current -> available), security
// posture (CVEs by severity), and disaster-recovery readiness (a snapshot is

View File

@ -256,7 +256,7 @@ class LibrePortalSPAClean {
// (The dashboard data-reload that used to live here is now folded into the
// dashboard feature module's mount(), so it fires exactly once per
// navigation. See features/dashboard/index.js.)
// navigation. See components/dashboard/index.js.)
this.isLoading = true;
//console.log('🧭 Navigating to:', path);

View File

@ -69,7 +69,7 @@ class TaskRouter {
case 'tool':
return await this.actions.runTool(params.appName, params.toolName, params.toolArgs, params.toolLabel);
// App Updater (features/updater) — version/CVE refresh + update/rollback,
// App Updater (components/updater) — version/CVE refresh + update/rollback,
// each routed to the locked-down `libreportal updater` CLI as a task.
case 'updater_check':
return await this.actions.updaterCheck();

View File

@ -1,5 +1,5 @@
/* Update Notifier topbar badge, dashboard banner, and details panel.
Driven by js/components/update-notifier.js. Colours come from the active
Driven by js/update-notifier.js. Colours come from the active
theme tokens (with safe fallbacks) so it tracks every palette. */
/* ---- Topbar badge -------------------------------------------------------- */