docs(webui): refresh stale features/ path comments after the components/ rename

Comment-only tidy from the feng-shui audit — no code behavior changes. The
features/ directory was renamed to components/ during modularization, but
several header banners and inline comments still named the old path:

- 6 component module headers (admin/tasks/backup/dashboard/updater/index.js +
  updater/js/updater-page.js) now name their real components/<id>/… path
- core/kernel/js/spa.js + core/tasks/js/task-router.js comments
- backend/routes/features.js doc-banner (drop a components/<id>/ folder …)
- core/update-notifier/css/update-notifier.css header (js/update-notifier.js)

Guarded the rewrite so the LIVE /api/features/list endpoint name (feature-
registry.js sources + backend route) is untouched — only stale 'features/<path>'
directory references were updated.

Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-05-31 00:41:16 +01:00
parent 123f04b03e
commit 164606dc7c
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 -------------------------------------------------------- */