Fix rendering of new rail

This commit is contained in:
2026-05-17 10:36:23 +02:00
parent 3e765aa54f
commit d3e896d74e
8 changed files with 58 additions and 34 deletions
+6 -6
View File
@@ -1,4 +1,4 @@
{{define "headScripts"}}<script src="/_/page/actions.js"></script>{{end}}
{{define "headScripts"}}<script src="/_/page/actions.js"></script><script src="/_/page/right-rail.js" defer></script>{{end}}
{{define "content"}}
{{if .Content}}
@@ -39,12 +39,12 @@
{{if .CanEdit}}
<nav class="actions">
<div class="panel-header">ACTIONS</div>
<button class="btn" onclick="newPage()" title="New page (N)">NEW</button>
<a class="btn" href="?edit" title="Edit page (E)">EDIT</a>
<button class="btn" data-companion-reveal hidden title="Reveal in file manager">REVEAL</button>
<button class="btn btn-block" onclick="newPage()" title="New page (N)">NEW</button>
<a class="btn btn-block" href="?edit" title="Edit page (E)">EDIT</a>
<button class="btn btn-block" data-companion-reveal hidden title="Reveal in file manager">REVEAL</button>
{{if not .IsRoot}}
<button class="btn" onclick="movePage()" title="Move page (M)">MOVE</button>
<button class="btn danger" onclick="deletePage()" title="Delete page">DELETE</button>
<button class="btn btn-block" onclick="movePage()" title="Move page (M)">MOVE</button>
<button class="btn btn-block danger" onclick="deletePage()" title="Delete page">DELETE</button>
{{end}}
</nav>
{{end}}
+17
View File
@@ -0,0 +1,17 @@
document.addEventListener("DOMContentLoaded", function () {
var rail = document.querySelector(".right-rail");
if (!rail) return;
var header = document.querySelector("header");
if (!header) return;
function updateTop() {
if (getComputedStyle(rail).position !== "fixed") {
rail.style.top = "";
return;
}
var rect = header.getBoundingClientRect();
rail.style.top = Math.max(8, rect.bottom + 8) + "px";
}
window.addEventListener("scroll", updateTop, { passive: true });
window.addEventListener("resize", updateTop);
updateTop();
});
+6
View File
@@ -47,5 +47,11 @@ document.addEventListener("DOMContentLoaded", function () {
var open = nav.classList.toggle("is-open");
fab.setAttribute("aria-expanded", open ? "true" : "false");
});
nav.addEventListener("click", function (e) {
if (e.target.tagName === "A") {
nav.classList.remove("is-open");
fab.setAttribute("aria-expanded", "false");
}
});
document.body.appendChild(fab);
});