librelad d39852aa3d refactor(webui): reorganize into components/ + core/ taxonomy
Final modularization layout (user-chosen): every page is a self-contained
folder under components/<id>/ (controllers + CSS + its html fragment), and all
shared/framework code folds into core/:
  core/kernel  (feature-registry, lifecycle, services, spa)
  core/boot    (auth, system-loader/orchestrator, setup, loaders)
  core/lib     (data-loader, router, helpers, the task kernel, shared modules)
  core/ui      (topbar, modal, notifications, … + topbar.html)
  core/css     (all shared stylesheets)
  core/icons
Top level is now just: components/, core/, themes/, index.html (+ runtime data/).

Every path reference rewritten (index.html, scripts arrays, fetch()/
loadFragment()/loadScript() literals, system-loader + config-manager controller
paths, kernel manifest URL, feature.json, backend FEATURES_DIR). The
/api/features/list endpoint NAME is unchanged (it now scans components/).
Deleted 3 dead files (app-content.html, apps-content.html, html-cache.js).
Verified: 0 stale prefixes, 0 double-rewrites, all JS/JSON valid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: librelad <librelad@digitalangels.vip>
2026-05-30 07:13:52 +01:00

50 lines
2.2 KiB
HTML

<!-- App Updater page shell. Panels are filled by features/updater/updater-page.js.
Page identity hue: --page-updater (teal), set on the root below. -->
<div id="updater-page" class="updater-page admin-page" style="--page: var(--page-updater); --page-rgb: var(--page-updater-rgb);">
<div class="updater-layout">
<aside class="sidebar updater-sidebar">
<div class="sidebar-heading">App Updater</div>
<button class="category active" data-updater-tab="overview">
<span class="cat-ico"></span> Overview
</button>
<button class="category" data-updater-tab="updates">
<span class="cat-ico"></span> Updates
</button>
<button class="category" data-updater-tab="security">
<span class="cat-ico">🛡</span> Security
</button>
<button class="category" data-updater-tab="recovery">
<span class="cat-ico"></span> Recovery
</button>
<button class="category" data-updater-tab="history">
<span class="cat-ico">🗒</span> History
</button>
</aside>
<section class="updater-content">
<header class="updater-header">
<div class="updater-header-icon" aria-hidden="true">
<svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M21 2v6h-6"></path>
<path d="M3 12a9 9 0 0 1 15-6.7L21 8"></path>
<path d="M3 22v-6h6"></path>
<path d="M21 12a9 9 0 0 1-15 6.7L3 16"></path>
</svg>
</div>
<div>
<h1 id="updater-section-title">Overview</h1>
<p id="updater-section-subtitle">Update health, security posture, and recovery readiness at a glance.</p>
</div>
</header>
<div class="updater-panels">
<div class="updater-tabpanel active" id="updater-panel-overview"></div>
<div class="updater-tabpanel" id="updater-panel-updates"></div>
<div class="updater-tabpanel" id="updater-panel-security"></div>
<div class="updater-tabpanel" id="updater-panel-recovery"></div>
<div class="updater-tabpanel" id="updater-panel-history"></div>
</div>
</section>
</div>
</div>