Compare commits

..

No commits in common. "0b0fe3de40a866338b3d15a77e096659eb49e45b" and "48cb5d9380b21141c2a57a09448674c14a148079" have entirely different histories.

4 changed files with 22 additions and 36 deletions

View File

@ -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 a paired tags/paths row that wraps cleanly. */
plus full-width blocks for tags and paths that wrap cleanly. */
.backup-snapshot-meta {
display: flex;
flex-direction: column;
@ -1398,20 +1398,12 @@
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;
min-width: 0;
padding-top: 13px;
border-top: 1px solid rgba(var(--text-rgb), 0.08);
}
.backup-snapshot-meta .bsm-tags {
display: flex;

View File

@ -109,18 +109,15 @@ Object.assign(BackupPage.prototype, {
${field('When', `<span title="${this.escape(this._fmtFullTime(r.time))}">${this.escape(this._fmtNiceTime(r.time))}</span>`)}
${engineName ? field('Engine', this.escape(engineName)) : ''}
</div>
${otherTags.length || (r.paths && r.paths.length) ? `
<div class="bsm-blocks">
${otherTags.length ? `
<div class="bsm-block">
<span class="bsm-label">Tags</span>
<div class="bsm-tags">${otherTags.map(t => `<span class="backup-snapshot-tag">${this.escape(t)}</span>`).join('')}</div>
</div>` : ''}
${r.paths && r.paths.length ? `
<div class="bsm-block">
<span class="bsm-label">Paths</span>
<ul class="bsm-paths">${r.paths.map(p => `<li><code>${this.escape(p)}</code></li>`).join('')}</ul>
</div>` : ''}
${otherTags.length ? `
<div class="bsm-block">
<span class="bsm-label">Tags</span>
<div class="bsm-tags">${otherTags.map(t => `<span class="backup-snapshot-tag">${this.escape(t)}</span>`).join('')}</div>
</div>` : ''}
${r.paths && r.paths.length ? `
<div class="bsm-block">
<span class="bsm-label">Paths</span>
<ul class="bsm-paths">${r.paths.map(p => `<li><code>${this.escape(p)}</code></li>`).join('')}</ul>
</div>` : ''}
</div>
</div>

View File

@ -129,18 +129,15 @@ class BackupAppCard {
${field('When', `<span title="${this.escape(this._fmtFull(s.time))}">${this.escape(this._fmtNice(s.time))}</span>`)}
${engineName ? field('Engine', this.escape(engineName)) : ''}
</div>
${otherTags.length || (s.paths && s.paths.length) ? `
<div class="bsm-blocks">
${otherTags.length ? `
<div class="bsm-block">
<span class="bsm-label">Tags</span>
<div class="bsm-tags">${otherTags.map(t => `<span class="backup-snapshot-tag">${this.escape(t)}</span>`).join('')}</div>
</div>` : ''}
${s.paths && s.paths.length ? `
<div class="bsm-block">
<span class="bsm-label">Paths</span>
<ul class="bsm-paths">${s.paths.map(p => `<li><code>${this.escape(p)}</code></li>`).join('')}</ul>
</div>` : ''}
${otherTags.length ? `
<div class="bsm-block">
<span class="bsm-label">Tags</span>
<div class="bsm-tags">${otherTags.map(t => `<span class="backup-snapshot-tag">${this.escape(t)}</span>`).join('')}</div>
</div>` : ''}
${s.paths && s.paths.length ? `
<div class="bsm-block">
<span class="bsm-label">Paths</span>
<ul class="bsm-paths">${s.paths.map(p => `<li><code>${this.escape(p)}</code></li>`).join('')}</ul>
</div>` : ''}
</div>
</div>

View File

@ -30,7 +30,7 @@ CFG_TRIVY_HEADSCALE=false
CFG_TRIVY_CATEGORY="security,recommended"
CFG_TRIVY_TITLE="Trivy"
CFG_TRIVY_DESCRIPTION="Vulnerability scanner"
CFG_TRIVY_LONG_DESCRIPTION="Trivy checks the container images behind your installed apps for known vulnerabilities (CVEs)"
CFG_TRIVY_LONG_DESCRIPTION="Trivy checks the container images behind your installed apps for known vulnerabilities (CVEs) and powers the Security view in the App Center Overview. Scanning happens entirely on your box against a locally cached database — nothing about your apps is sent anywhere"
CFG_TRIVY_URL="https://github.com/aquasecurity/trivy"
CFG_TRIVY_ACTIONS="configure|install|restart|shutdown|uninstall"
#