/** * Handles the click event to copy text and toggle the button icon. * @param {PointerEvent} event */ async function handleCopyClick(event) { const btn = event.currentTarget; const url = btn.dataset.shareCopy; try { await globalThis.navigator.clipboard.writeText(url); // Swap UI state const original = btn.innerHTML; btn.innerHTML = ''; setTimeout(() => { btn.innerHTML = original; }, 1500); } catch { // Clipboard API not available } } export function initShare() { const shareButtons = document.querySelectorAll('[data-share-copy]'); shareButtons.forEach(btn => { btn.addEventListener('click', handleCopyClick); }); }