From 3b77f2e5d063e03e38dce92bc35f458c9d767119 Mon Sep 17 00:00:00 2001 From: Peter van Arkel Date: Sat, 23 May 2026 00:46:52 +0200 Subject: [PATCH] (refactor) Unify run progress panels Use a shared Run Progress presentation for dry-runs and normal backup runs so live run feedback is consistent across run types. Keep mode-specific metrics while aligning status, mode, log, and warning layout. Refs #52 --- .../templates/pobsync_backend/base.html | 44 ++++++++- .../partials/run_detail_live.html | 76 ++++++++++++++- .../templates/pobsync_backend/run_detail.html | 12 +++ src/pobsync_backend/tests/test_views.py | 47 +++++++++- src/pobsync_backend/views.py | 93 +++++++++++++++++++ 5 files changed, 265 insertions(+), 7 deletions(-) diff --git a/src/pobsync_backend/templates/pobsync_backend/base.html b/src/pobsync_backend/templates/pobsync_backend/base.html index f538600..d77fcb4 100644 --- a/src/pobsync_backend/templates/pobsync_backend/base.html +++ b/src/pobsync_backend/templates/pobsync_backend/base.html @@ -541,7 +541,7 @@ .status-summary.failed { border-color: #e8b4b4; background: #fff7f7; color: var(--failed); } .status-summary.warning, .status-summary.running { border-color: #e7cf8a; background: #fffaf0; color: var(--running); } - .status-summary.queued { border-color: #b5cdea; background: #eef6ff; color: var(--link); } + .status-summary.queued { border-color: #b5cdea; background: #eef6ff; color: var(--link); } a.status-summary { color: inherit; text-decoration: none; @@ -552,13 +552,22 @@ box-shadow: var(--shadow-sm); transform: translateY(-1px); } - .operator-state { + .operator-state { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; } + .refresh-controls { + align-items: center; + display: flex; + gap: 14px; + justify-content: space-between; + } + .refresh-controls h2 { + margin-bottom: 4px; + } .trend-bars { display: grid; gap: 5px; @@ -837,6 +846,10 @@ .page-header .actions { justify-content: flex-start; } .two-col, .panel-grid { grid-template-columns: 1fr; } + .refresh-controls { + align-items: stretch; + display: grid; + } .dashboard-priority-grid { grid-template-columns: 1fr; } .host-control-grid { grid-template-columns: 1fr; } .schedule-row { grid-template-columns: 1fr; } @@ -922,8 +935,20 @@