diff --git a/containers/libreportal/frontend/components/backup/core/css/backup.css b/containers/libreportal/frontend/components/backup/core/css/backup.css index b4be3a9..fc895c1 100755 --- a/containers/libreportal/frontend/components/backup/core/css/backup.css +++ b/containers/libreportal/frontend/components/backup/core/css/backup.css @@ -1356,7 +1356,7 @@ /* Snapshot detail panel. The shared .task-meta/.meta-item layout forces one nowrap line per item and clips long values (the full date, repo paths) mid-string, so the backup row gets its own label-over-value grid - plus full-width blocks for tags and paths that wrap cleanly. */ + plus a paired tags/paths row that wraps cleanly. */ .backup-snapshot-meta { display: flex; flex-direction: column; @@ -1398,12 +1398,20 @@ border-radius: 4px; word-break: break-all; } +/* Tags and paths sit side by side on one row, dropping to a single column + when the panel is too narrow to give both a readable width. */ +.backup-snapshot-meta .bsm-blocks { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 14px 18px; + padding-top: 13px; + border-top: 1px solid rgba(var(--text-rgb), 0.08); +} .backup-snapshot-meta .bsm-block { display: flex; flex-direction: column; gap: 8px; - padding-top: 13px; - border-top: 1px solid rgba(var(--text-rgb), 0.08); + min-width: 0; } .backup-snapshot-meta .bsm-tags { display: flex; diff --git a/containers/libreportal/frontend/components/backup/snapshots/js/backup-snapshots.js b/containers/libreportal/frontend/components/backup/snapshots/js/backup-snapshots.js index bf8067d..6036b18 100644 --- a/containers/libreportal/frontend/components/backup/snapshots/js/backup-snapshots.js +++ b/containers/libreportal/frontend/components/backup/snapshots/js/backup-snapshots.js @@ -109,15 +109,18 @@ Object.assign(BackupPage.prototype, { ${field('When', `${this.escape(this._fmtNiceTime(r.time))}`)} ${engineName ? field('Engine', this.escape(engineName)) : ''} - ${otherTags.length ? ` -
${this.escape(p)}${this.escape(p)}${this.escape(p)}${this.escape(p)}