Copy Green Text on OpenAI Playground

Create a button that copies the text of all green spans on a page

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==UserScript==
// @name         Copy Green Text on OpenAI Playground
// @version      0.1
// @description  Create a button that copies the text of all green spans on a page
// @match        https://beta.openai.com/playground
// @icon         https://www.google.com/s2/favicons?sz=64&domain=openai.com
// @author       Taylor Bell
// @grant        none
// @license      MIT
// @namespace https://greatest.deepsurf.us/users/999210
// ==/UserScript==

(function() {
    'use strict';

    // Create the button
    window.onload = function() {
        const button = document.createElement('button');
        button.innerText = 'Copy Green Text';

        // Add the specified classes to the button
        button.classList.add('btn', 'btn-sm', 'btn-filled', 'btn-neutral');

        // Add a click event listener to the button
        button.addEventListener('click', async () => {
            // When clicked, get all the green span elements and their text
            const greenSpans = document.querySelectorAll('span[style*="background-color: var(--green"]');
            const greenText = [...greenSpans].map(x => x.innerText).join('');

            // Copy the text to the clipboard
            try {
                await navigator.clipboard.writeText(greenText);
            } catch (err) {
                console.error('Failed to copy text: ', err);
            }
        });

        // Keep checking for the element to append the button to
        const interval = setInterval(() => {
            // Find the element
            const headerActions = document.querySelector('div.pg-header > div.pg-header-section.pg-header-actions');

            // Check if the element exists
            if (headerActions) {
                // Append the button to the page
                headerActions.appendChild(button);

                // Clear the interval
                clearInterval(interval);
            }
        }, 500); // Check every 500ms
    }
})();