const copyIcon = `
`;
const checkIcon = `
`;
document.querySelectorAll(".prose pre").forEach((pre) => {
const code = pre.querySelector("code");
if (!code) return;
const button = document.createElement("button");
button.type = "button";
button.className = "copy-code-button";
button.setAttribute("aria-label", "Copy code");
button.title = "Copy code";
button.innerHTML = copyIcon;
button.addEventListener("click", async () => {
try {
await navigator.clipboard.writeText(code.textContent ?? "");
button.dataset.copied = "true";
button.setAttribute("aria-label", "Code copied");
button.title = "Copied";
button.innerHTML = checkIcon;
window.setTimeout(() => {
delete button.dataset.copied;
button.setAttribute("aria-label", "Copy code");
button.title = "Copy code";
button.innerHTML = copyIcon;
}, 1800);
} catch {
button.setAttribute("aria-label", "Could not copy code");
button.title = "Could not copy";
}
});
pre.append(button);
});