Skip to content

Commit 81ad0fb

Browse files
committed
fix(docs[spa]): Re-initialize prompt-copy buttons after SPA navigation
why: prompt-copy.js init ran once on DOMContentLoaded inside an IIFE. After SPA navigation, new prompt blocks lacked markdown-preserving copy. what: - Expose init via window.__promptCopyInit in prompt-copy.js - Call __promptCopyInit from reinit() in spa-nav.js
1 parent 6e16a61 commit 81ad0fb

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

docs/_static/js/prompt-copy.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
});
5454
}
5555

56+
// Expose init for SPA re-initialization (called by spa-nav.js reinit)
57+
window.__promptCopyInit = init;
58+
5659
if (document.readyState === "loading") {
5760
document.addEventListener("DOMContentLoaded", function () {
5861
setTimeout(init, 100);

docs/_static/js/spa-nav.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@
155155
function reinit() {
156156
addCopyButtons();
157157
initScrollSpy();
158+
if (typeof window.__promptCopyInit === "function") window.__promptCopyInit();
158159
var btn = document.querySelector(".content-icon-container .theme-toggle");
159160
if (btn) btn.addEventListener("click", cycleTheme);
160161
}

0 commit comments

Comments
 (0)