From 7dbeb307c9bac03f26e52620fce72b08ed1982f3 Mon Sep 17 00:00:00 2001 From: librelad Date: Thu, 28 May 2026 18:20:21 +0100 Subject: [PATCH] ux(backup): drop the "Backup all apps" header action on Dashboard and Migrate The primary header button defaulted to "Backup all apps" on every tab that wasn't Locations/Configuration, so it showed on Dashboard and Migrate where it isn't wanted (Dashboard backs up via the status-grid tiles; Migrate is about moving hosts, not backing up). Keep it on the Backups tab and hide the header action entirely on Dashboard and Migrate. Co-Authored-By: Claude Opus 4.7 Signed-off-by: librelad --- .../frontend/js/components/backup/backup-page.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/containers/libreportal/frontend/js/components/backup/backup-page.js b/containers/libreportal/frontend/js/components/backup/backup-page.js index 30c72ca..20aa75b 100644 --- a/containers/libreportal/frontend/js/components/backup/backup-page.js +++ b/containers/libreportal/frontend/js/components/backup/backup-page.js @@ -559,6 +559,7 @@ class BackupPage { // Switching tabs always closes the export dropdown. this.toggleExportMenu(false); if (this.currentTab === 'locations') { + btn.style.display = ''; btn.innerHTML = ` @@ -569,6 +570,7 @@ class BackupPage { btn.dataset.intent = 'add-location'; btn.removeAttribute('aria-haspopup'); } else if (this.currentTab === 'configuration') { + btn.style.display = ''; btn.innerHTML = ` @@ -582,7 +584,8 @@ class BackupPage { `; btn.dataset.intent = 'export-menu'; btn.setAttribute('aria-haspopup', 'menu'); - } else { + } else if (this.currentTab === 'backups') { + btn.style.display = ''; btn.innerHTML = ` @@ -593,6 +596,10 @@ class BackupPage { `; btn.dataset.intent = 'backup-all'; btn.removeAttribute('aria-haspopup'); + } else { + // Dashboard and Migrate have no header primary action. + btn.style.display = 'none'; + btn.removeAttribute('aria-haspopup'); } }