Files
2026-10-16 03:00:54 +00:00

24 lines
812 B
JavaScript

let statusTimer;
document.querySelectorAll('[data-copy]').forEach(button => {
button.addEventListener('click', async () => {
const source = document.getElementById(button.dataset.copy);
const status = document.getElementById('copy-status');
let message;
try {
await navigator.clipboard.writeText(source.textContent);
message = 'Copied to clipboard.';
} catch {
const range = document.createRange();
range.selectNodeContents(source);
const selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
message = 'Text selected. Press Ctrl+C or ⌘C to copy.';
}
status.textContent = message;
clearTimeout(statusTimer);
statusTimer = setTimeout(() => { status.textContent = ''; }, 3500);
});
});