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
3 files package.json+1 −1public/css/kepr.css+4 −1public/js/kepr.js+3 −0
package.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": {

view file

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 }

view file

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.

view file