diff --git a/containers/libreportal/frontend/components/backup/core/js/backup-page.js b/containers/libreportal/frontend/components/backup/core/js/backup-page.js index 73153cf..444248f 100644 --- a/containers/libreportal/frontend/components/backup/core/js/backup-page.js +++ b/containers/libreportal/frontend/components/backup/core/js/backup-page.js @@ -127,7 +127,10 @@ class BackupPage { if (refreshBtn.classList.contains('is-refreshing')) return; refreshBtn.classList.add('is-refreshing'); const done = () => refreshBtn.classList.remove('is-refreshing'); - this.refreshAll().then(() => this.render()).then(done, done); + // Hold the spin for a beat even when the refetch is instant (local + // data) so the click always registers as a visible pulse. + const minSpin = new Promise((r) => setTimeout(r, 450)); + Promise.all([this.refreshAll().then(() => this.render()), minSpin]).then(done, done); return; }