diff --git a/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js b/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js index 919d536..e67406e 100644 --- a/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js +++ b/containers/libreportal/frontend/components/apps/overview/js/overview-manager.js @@ -618,7 +618,13 @@ class OverviewManager { } catch (_) {} return; } - pane.innerHTML = lpLoadingBox('Loading backup center…'); + // Paint the shared header immediately and confine the spinner to the body + // BENEATH the divider — switching to Backups shows the tab's title straight + // away and only the content area swaps in once the (script-heavy) backup + // center finishes loading, instead of blanking the whole pane to a bare + // headerless loader. Mirrors the per-app detail tabs' header-first idiom. + pane.innerHTML = this.renderHeader('backups') + + `
${lpLoadingBox('Loading backup center…')}
`; this._loadBackupCenter(pane, sub); }