Fix copy-path button

This commit is contained in:
Guillaume Gomez 2024-04-16 23:55:32 +02:00
parent ad18fe08de
commit ec754cf201
2 changed files with 12 additions and 25 deletions

View File

@ -1627,24 +1627,27 @@ a.tooltip:hover::after {
color: var(--copy-path-button-color);
background: var(--main-background-color);
height: 34px;
width: 33px;
margin-left: 10px;
padding: 0;
padding-left: 2px;
border: 0;
width: 33px;
line-height: 0;
font-size: 0;
}
#copy-path:before {
#copy-path::before {
filter: var(--copy-path-img-filter);
content: url('clipboard-24048e6d87f63d07.svg');
width: 19px;
height: 18px;
}
#copy-path:hover:before {
#copy-path:hover::before {
filter: var(--copy-path-img-hover-filter);
}
#copy-path.clicked::before {
/* Checkmark <https://www.svgrepo.com/svg/335033/checkmark> */
content: url('data:image/svg+xml,<svg viewBox="-1 -1 23 23" xmlns="http://www.w3.org/2000/svg" \
fill="black" height="18px">\
<g><path d="M9 19.414l-6.707-6.707 1.414-1.414L9 16.586 20.293 5.293l1.414 1.414"></path>\
</g></svg>');
}
@keyframes rotating {
from {

View File

@ -1797,31 +1797,15 @@ href="https://doc.rust-lang.org/${channel}/rustdoc/read-documentation/search.htm
document.execCommand("copy");
document.body.removeChild(el);
// There is always one children, but multiple childNodes.
but.children[0].style.display = "none";
let tmp;
if (but.childNodes.length < 2) {
tmp = document.createTextNode("✓");
but.appendChild(tmp);
} else {
onEachLazy(but.childNodes, e => {
if (e.nodeType === Node.TEXT_NODE) {
tmp = e;
return true;
}
});
tmp.textContent = "✓";
}
but.classList.add("clicked");
if (reset_button_timeout !== null) {
window.clearTimeout(reset_button_timeout);
}
function reset_button() {
tmp.textContent = "";
reset_button_timeout = null;
but.children[0].style.display = "";
but.classList.remove("clicked");
}
reset_button_timeout = window.setTimeout(reset_button, 1000);