napHiwka / Copy Link

// ==UserScript==
// @name        Copy Link
// @namespace   https://scriptblox.com/
// @icon        data:image/png;base64,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
// @version     2.0
//
// @match       https://scriptblox.com/*
// @grant       GM_setClipboard
//
// @author      napHiwka
// @description Extract and copy the HTTP/HTTPS URL from the scripts code block.
// @run-at      document-end
// @license     MIT
// ==/UserScript==

(() => {
  'use strict';
  const host = document.documentElement.appendChild(document.createElement('div'));
  host.style.cssText = 'position:fixed;top:0;left:0;pointer-events:none;z-index:9999;';
  const root = host.attachShadow({
    mode: 'closed'
  });

  const SVG = '<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.71 1.71M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>';
  const button = root.appendChild(document.createElement('button'));
  button.type = 'button';
  button.innerHTML = `${SVG}Copy HTTP Link`;
  button.style.cssText = 'display:none;position:fixed;pointer-events:auto;box-sizing:border-box;margin:0;padding:6px 10px;border:none;white-space:nowrap;cursor:pointer;align-items:center;justify-content:center;gap:6px;';

  const findCopy = () => [...document.querySelectorAll('button')].find(b => /^copy( script)?$/i.test(b.textContent.trim()));
  const findEdited = c => [...(c?.parentElement?.children || [])].find(e => e.tagName == 'SPAN' && /^Edited By:/i.test(e.textContent.trim()));

  let busy = false,
    baseWidth = 0,
    lastCopy = null;
  const setStatus = msg => {
    busy = true;
    button.textContent = msg;
    setTimeout(() => {
      busy = false;
      button.innerHTML = `${SVG}Copy HTTP Link`;
      update();
    }, 1200);
  };

  const update = () => {
    const copy = findCopy();
    const edited = findEdited(copy);

    if (!copy || !edited) {
      button.style.display = 'none';
      return;
    }

    if (copy !== lastCopy) {
      lastCopy = copy;
      const s = getComputedStyle(copy);
      for (const p of ['font', 'color', 'background', 'border', 'borderRadius', 'boxShadow', 'transition']) {
        button.style[p] = s[p];
      }
    }
    button.style.display = 'inline-flex';

    if (!busy) {
      button.style.width = 'auto';
      baseWidth = button.getBoundingClientRect().width;
    }
    button.style.width = `${baseWidth}px`;

    const mr = `${baseWidth + 24}px`;
    if (edited.style.marginRight !== mr) edited.style.marginRight = mr;

    const e = edited.getBoundingClientRect(),
      c = copy.getBoundingClientRect();
    button.style.left = `${e.right + 8}px`;
    button.style.top = `${c.top}px`;
    button.style.height = `${c.height}px`;
  };

  button.onclick = async event => {
    event.preventDefault();
    event.stopPropagation();
    if (busy) return;

    const copy = findCopy();
    if (!copy) return;

    const code = (copy.closest('.divide-y') || document).querySelector('pre code')?.textContent || '';

    // Ignore any discord links (gg, com, app, io, me, etc.)
    const url = (code.match(/https?:\/\/[^\s"'`<>()[\]]+/gi) || [])
      .map(u => u.replace(/[.,;:!?]+$/, ''))
      .find(u => !/\/\/(?:[a-z0-9-]+\.)?discord(?:app)?\./i.test(u));

    if (!url) return setStatus('No URL');

    try {
      typeof GM_setClipboard == 'function' ? GM_setClipboard(url) : await navigator.clipboard.writeText(url);
      setStatus('Copied!');
    }
    catch {
      setStatus('Failed');
    }
  };

  setInterval(update, 250);
  ['scroll', 'resize'].forEach(e => addEventListener(e, update, {
    passive: true,
    capture: true
  }));
  update();
})();