fix(nav): open lightbox when following a search-result link

apply() read the [data-open-slug] marker off the parsed doc after
replaceWith() had already reparented #content (and the marker) into the
live document, so openSlug came back null and the plate viewer never
opened. Read it off the newContent node instead, before the swap.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016h9VwM3YfMpDxaP8KzXcaR
This commit is contained in:
2026-08-30 11:09:44 +02:00
co-authored by Claude Sonnet 5
parent fc3f45fd65
commit 783f59acaa
+3 -2
View File
@@ -508,6 +508,9 @@
const newContent = doc.getElementById('content');
const oldContent = document.getElementById('content');
// Read the marker off newContent — replaceWith() reparents that node into
// the live document, so `doc` no longer contains it afterwards.
const openSlug = newContent?.querySelector('[data-open-slug]')?.dataset.openSlug || null;
if (newContent && oldContent) oldContent.replaceWith(newContent);
const newData = doc.getElementById('roux-data');
@@ -515,8 +518,6 @@
try { POSTS = JSON.parse(newData.textContent) || []; lbBuilt = false; } catch {}
}
const openSlug = doc.querySelector('[data-open-slug]')?.dataset.openSlug || null;
document.title = doc.title;
syncHeadMeta(doc);
if (push) history.pushState({ url: abs, slug: openSlug || undefined }, '', abs);