// copy-code.js
(function() {
  // Add copy button to all code blocks
  const codeBlocks = document.querySelectorAll('pre, .highlight');

  codeBlocks.forEach(block => {
    // Create copy button
    const btn = document.createElement('button');
    btn.className = 'code-copy-btn';
    btn.textContent = 'copy';
    btn.type = 'button';
    btn.setAttribute('aria-label', 'Copy code');

    // Get code text
    const code = block.querySelector('code');
    const text = code ? code.textContent : block.textContent;

    // Copy on click
    btn.addEventListener('click', async function() {
      try {
        await navigator.clipboard.writeText(text);

        // Show feedback
        const originalText = btn.textContent;
        btn.textContent = 'copied!';
        btn.classList.add('copied');

        setTimeout(() => {
          btn.textContent = originalText;
          btn.classList.remove('copied');
        }, 2000);
      } catch (err) {
        console.error('Failed to copy:', err);
        btn.textContent = 'error';
      }
    });

    // Add button to block
    block.style.position = 'relative';
    block.appendChild(btn);
  });
})();
