From 4d54d6a9b0820cf8118921df07b62332d8acb653 Mon Sep 17 00:00:00 2001 From: librelad Date: Tue, 2 Jun 2026 23:29:16 +0100 Subject: [PATCH] feat(webui): unify Overview tab headers as in-content, app-detail style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop the floating fleet header; every Overview tab now renders its heading inside the pane, under the tab strip, in the per-app detail .config-title format (emoji + title + description) — matching the Migrate tab. Introduces a small modular system so the area can't drift: - OV_TAB_META is the single source of truth for each tab's icon/title/blurb. - renderHeader(id) is the only thing that turns it into markup; renderTab() prepends it for the string tabs and mountMigrate() injects it once for the static Migrate pane. Body renderers now only ever produce the body. Retires the now-dead floating-header plumbing: updateHeader(), the ov-backups-active/ov-migrate-active hide toggles + CSS, and the .overview-header rules. The tabbed interface owns the top padding the header used to provide. Backups is the documented exception — it embeds the full BackupPage, which supplies its own header. Co-Authored-By: Claude Opus 4.8 --- .../apps/core/html/apps-unified-layout.html | 20 ++---- .../components/apps/overview/css/overview.css | 26 +++----- .../apps/overview/js/overview-manager.js | 63 +++++++++++-------- 3 files changed, 50 insertions(+), 59 deletions(-) diff --git a/containers/libreportal/frontend/components/apps/core/html/apps-unified-layout.html b/containers/libreportal/frontend/components/apps/core/html/apps-unified-layout.html index f96260f..2494a88 100755 --- a/containers/libreportal/frontend/components/apps/core/html/apps-unified-layout.html +++ b/containers/libreportal/frontend/components/apps/core/html/apps-unified-layout.html @@ -279,14 +279,9 @@
-
-
-

Overview

-

Updates, improvements, and backups across all your apps.

-
- -
- +