Use page scrolling for snapshot browser

This commit is contained in:
Mikei386
2026-07-13 20:30:39 +02:00
parent 76c9011df2
commit 2ecdcdf602
8 changed files with 17 additions and 6 deletions
-1
View File
@@ -1 +0,0 @@
16f5c885cf7120e0f402088db4d60c3b0abe9042b9aea6596831b054e8bddad0 urbm-2026.07.13.r007-x86_64-1.txz
+1
View File
@@ -0,0 +1 @@
b5b8d5e650c016cb5811fc411f844155b4162f6be7eaff02481a0e99eb5c44cb urbm-2026.07.13.r008-x86_64-1.txz
+6 -2
View File
@@ -2,13 +2,17 @@
<!DOCTYPE PLUGIN [
<!ENTITY name "urbm">
<!ENTITY author "Michael Roll">
<!ENTITY version "2026.07.13.r007">
<!ENTITY version "2026.07.13.r008">
<!ENTITY pluginURL "https://git.casaderoll.de/michael/URBM/raw/branch/main/dist/urbm.plg">
<!ENTITY packageURL "https://git.casaderoll.de/michael/URBM/raw/branch/main/dist/urbm-&version;-x86_64-1.txz">
<!ENTITY packageSHA256 "16f5c885cf7120e0f402088db4d60c3b0abe9042b9aea6596831b054e8bddad0">
<!ENTITY packageSHA256 "b5b8d5e650c016cb5811fc411f844155b4162f6be7eaff02481a0e99eb5c44cb">
]>
<PLUGIN name="&name;" author="&author;" version="&version;" pluginURL="&pluginURL;" min="7.0.0" support="https://git.casaderoll.de/michael/URBM/issues" icon="urbm.png">
<CHANGES>
### 2026.07.13.r008
- Remove the nested vertical scrollbar from the snapshot repository browser and use the normal Unraid page scroll.
- Keep lazy folder loading and cap deep tree indentation so long paths remain usable on desktop and mobile.
### 2026.07.13.r007
- Extend both dashboard backup timelines from seven to fourteen days.
- Keep axis labels, empty states, hover deltas, and predecessor comparisons consistent with the longer range.
+5 -1
View File
@@ -2,13 +2,17 @@
<!DOCTYPE PLUGIN [
<!ENTITY name "urbm">
<!ENTITY author "Michael Roll">
<!ENTITY version "2026.07.13.r007">
<!ENTITY version "2026.07.13.r008">
<!ENTITY pluginURL "https://git.casaderoll.de/michael/URBM/raw/branch/main/dist/urbm.plg">
<!ENTITY packageURL "https://git.casaderoll.de/michael/URBM/raw/branch/main/dist/urbm-&version;-x86_64-1.txz">
<!ENTITY packageSHA256 "REPLACE_DURING_RELEASE">
]>
<PLUGIN name="&name;" author="&author;" version="&version;" pluginURL="&pluginURL;" min="7.0.0" support="https://git.casaderoll.de/michael/URBM/issues" icon="urbm.png">
<CHANGES>
### 2026.07.13.r008
- Remove the nested vertical scrollbar from the snapshot repository browser and use the normal Unraid page scroll.
- Keep lazy folder loading and cap deep tree indentation so long paths remain usable on desktop and mobile.
### 2026.07.13.r007
- Extend both dashboard backup timelines from seven to fourteen days.
- Keep axis labels, empty states, hover deltas, and predecessor comparisons consistent with the longer range.
+1 -1
View File
@@ -8,7 +8,7 @@ Tag="URBM Unraid Restic Backup Manager backup snapshots restore"
---
<?php
$pluginRoot = '/plugins/urbm';
$urbmVersion = '2026.07.13.r007';
$urbmVersion = '2026.07.13.r008';
$urbmAssetVersion = preg_replace('/[^A-Za-z0-9]/', '', $urbmVersion);
?>
<link rel="stylesheet" href="<?= $pluginRoot ?>/assets/urbm.css?v=<?= $urbmAssetVersion ?>">
+3
View File
@@ -109,6 +109,8 @@
.bu-partial-label { border: 1px solid var(--bu-accent); border-radius: 999px; color: var(--bu-text); display: inline-block; font-size: 11px; font-weight: 700; margin-left: 8px; padding: 2px 7px; vertical-align: middle; }
.bu-inherited-label { border: 1px solid var(--bu-good); border-radius: 999px; color: var(--bu-good); display: inline-block; font-size: 11px; font-weight: 700; margin-left: 8px; padding: 2px 7px; vertical-align: middle; }
.bu-tree { background: var(--bu-input); border: 1px solid var(--bu-border); border-radius: 6px; max-height: 520px; overflow: auto; padding: 6px; }
.bu-snapshot-tree { max-height: none; overflow: visible; }
.bu-snapshot-tree .bu-tree-row { margin-left: min(calc(var(--bu-tree-depth) * 24px), 320px); }
.bu-tree-node { min-width: 0; }
.bu-tree-node + .bu-tree-node { border-top: 1px solid color-mix(in srgb, var(--bu-border) 45%, transparent); }
.bu-tree-row { align-items: center; border-radius: 6px; display: grid; gap: 14px; grid-template-columns: 34px 28px minmax(0, 1fr); margin-left: calc(var(--bu-tree-depth) * 24px); min-height: 48px; padding: 5px 8px; }
@@ -373,4 +375,5 @@ body.bu-dialog-open { overflow: hidden; }
.bu-dialog-panel { grid-template-columns: 1fr; padding: 20px; }
.bu-dialog-actions { flex-direction: column-reverse; }
.bu-dialog-actions .bu-button { width: 100%; }
.bu-snapshot-tree .bu-tree-row { margin-left: min(calc(var(--bu-tree-depth) * 18px), 110px); }
}
+1 -1
View File
@@ -766,7 +766,7 @@
const total=state.snapshotTreeMeta?.total||0;
const loaded=Object.values(state.snapshotTreeChildren).reduce((sum,items)=>sum+items.length,0);
const hint=total?`${Number(total).toLocaleString()} Einträge im Snapshot · ${Number(loaded).toLocaleString()} sichtbare Einträge geladen`:'Struktur noch nicht geladen';
return `<section class="bu-card" style="margin-top:16px"><div class="bu-toolbar"><div><h3>Snapshot ${esc(state.selectedSnapshot.slice(0,12))}</h3><span class="bu-muted">${esc(hint)}</span></div><div class="bu-actions">${button(`Auswahl wiederherstellen (${state.restoreIncludes.length})`,'restore-selected','primary')}</div></div><div class="bu-selection-list">${chosen}</div><div class="bu-tree" role="tree">${body}</div></section>`;
return `<section class="bu-card bu-section-gap bu-snapshot-browser"><div class="bu-toolbar"><div><h3>Snapshot ${esc(state.selectedSnapshot.slice(0,12))}</h3><span class="bu-muted">${esc(hint)} · Der Dateibaum verwendet den Seiten-Scroll.</span></div><div class="bu-actions">${button(`Auswahl wiederherstellen (${state.restoreIncludes.length})`,'restore-selected','primary')}</div></div><div class="bu-selection-list">${chosen}</div><div class="bu-tree bu-snapshot-tree" role="tree">${body}</div></section>`;
}
function renderRestore() {