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

53 lines
2.1 KiB
HTML
Executable File

<!-- Topbar Component -->
<div id="topbar-container"></div>
<!-- Main content -->
<div class="main dashboard-main">
<div class="dashboard-stats">
<div class="stat-card">
<div class="stat-number" id="installed-count">0</div>
<div class="stat-label">Installed Apps</div>
</div>
<div class="stat-card disk-stat-card" id="disk-stat-card" role="button" tabindex="0" title="View storage breakdown">
<div class="disk-donut-wrap">
<div class="disk-donut" id="disk-donut"></div>
<div class="disk-percentage" id="disk-percent">0%</div>
</div>
<div class="disk-legend" id="disk-legend"></div>
<div class="chart-label">
<div class="chart-text">Disk Used</div>
</div>
</div>
<div class="stat-card system-info-card">
<div class="system-details">
<div class="system-item">
<span class="system-label">OS:</span>
<span class="system-value" id="system-info">Loading...</span>
</div>
<div class="system-item">
<span class="system-label">Uptime:</span>
<span class="system-value" id="uptime-info">Loading...</span>
</div>
<div class="system-item">
<span class="system-label">Memory:</span>
<span class="system-value" id="memory-info">Loading...</span>
</div>
</div>
<button class="system-refresh-btn" id="system-refresh-btn" aria-label="Refresh system info">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M23 4v6h-6"></path>
<path d="M1 20v-6h6"></path>
<path d="M3.51 9a9 9 0 0 1 14.85-3.36M20.49 15a9 9 0 0 1-14.85 3.36"></path>
</svg>
<div class="system-refresh-tooltip" id="update-countdown"></div>
</button>
</div>
</div>
<!-- Installed Apps Icons -->
<div id="frontpage-apps-section" class="frontpage-apps-section" style="display:none;">
<div id="frontpage-apps-container" class="frontpage-apps-grid"></div>
</div>
</div>