diff --git a/templates/artifacts/feed.html b/templates/artifacts/feed.html index fc6d806..447fec0 100644 --- a/templates/artifacts/feed.html +++ b/templates/artifacts/feed.html @@ -59,7 +59,7 @@ - + {% if selected_artifact %}{{ selected_artifact.title }}{% else %}No artifact loaded{% endif %} @@ -126,16 +126,24 @@ applySizes(); + // Per-pane resize bounds. The artifact list may grow much wider than the + // sources sidebar, but is still capped so it can't swallow the preview. + const sizeBounds = { + days: {min: 96, max: 320}, + artifacts: {min: 200, max: 720}, + }; + document.querySelectorAll(".splitter").forEach((splitter) => { splitter.addEventListener("pointerdown", (event) => { const target = splitter.dataset.splitter; const startX = event.clientX; const startWidth = sizes[target]; + const bounds = sizeBounds[target]; splitter.setPointerCapture(event.pointerId); document.body.classList.add("is-resizing"); const move = (moveEvent) => { - sizes[target] = Math.max(96, Math.min(420, startWidth + moveEvent.clientX - startX)); + sizes[target] = Math.max(bounds.min, Math.min(bounds.max, startWidth + moveEvent.clientX - startX)); applySizes(); }; @@ -203,7 +211,10 @@ const actions = document.querySelector("[data-actions]"); if (!actions) return; const previewTitle = actions.querySelector("[data-preview-title]"); - if (previewTitle) previewTitle.textContent = row.dataset.title; + if (previewTitle) { + previewTitle.textContent = row.dataset.title; + previewTitle.title = row.dataset.title; + } actions.querySelectorAll("[data-view]").forEach((link) => { const view = link.dataset.view; link.classList.toggle("selected", view === selectedView); @@ -256,7 +267,10 @@ const actions = document.querySelector("[data-actions]"); if (!actions) return; const previewTitle = actions.querySelector("[data-preview-title]"); - if (previewTitle) previewTitle.textContent = "No artifact loaded"; + if (previewTitle) { + previewTitle.textContent = "No artifact loaded"; + previewTitle.removeAttribute("title"); + } actions.querySelectorAll("[data-view]").forEach((link) => { link.classList.add("disabled"); link.setAttribute("aria-disabled", "true");