84560fbbe45a
fix the Atlas at its closed tree's height so opened folders scroll inside it instead of spilling over the page (v3.0.102)
- time
- 2026-09-29 18:07 UTC · 2 weeks ago
- machine
- Junes-MacBook-Pro.local
- agent
- claude-opus-5-5
- session
- match kepr 2 repo page
- parent
- 520bd4107571
↓ kepr-84560fbb.tar.gzatlas at this save
files changed3 files
package.json+1 −1public/css/kepr.css+4 −1public/js/kepr.js+3 −0package.json+1 −1
@@ -1,6 +1,6 @@11 {22 "name": "kepr",3- "version": "3.0.101",3+ "version": "3.0.102",44 "private": true,55 "type": "module",66 "scripts": {public/css/kepr.css+4 −1
@@ -679,12 +679,15 @@679679 .atlas-filter::placeholder {680680 color: var(--text-faint);681681 }682-/* At most Kepr 2's Atlas height, the tree and the panel each scrolling inside it. */682+/* kepr.js fixes the height at the closed tree's, at most Kepr 2's 520px, and the tree and panel683+ scroll inside it; without it, the whole box scrolls. */683684 .atlas {684685 display: grid;685686 grid-template-columns: minmax(0, 1fr);687+ grid-template-rows: minmax(0, 1fr);686688 gap: 0 20px;687689 max-height: 520px;690+ overflow-y: auto;688691 border-top: 1px solid var(--bg-elevated);689692 border-bottom: 1px solid var(--bg-elevated);690693 }public/js/kepr.js+3 −0
@@ -377,6 +377,9 @@377377 const panel = root.querySelector(".atlas-panel");378378 const folders = [...root.querySelectorAll(".atlas-folder")];379379 const files = [...root.querySelectorAll(".atlas-file")];380+ // Its height is the closed tree's, fixed before any folder opens; opening one scrolls within.381+ root.style.height = `${root.offsetHeight}px`;382+ root.style.overflowY = "hidden";380383 const key = `kepr:atlas:${root.dataset.repo}`;381384 const opened = new Set(remembered(key));382385 // `?open=<folder>` from a file page's breadcrumb unfolds that folder, without remembering it.