Replace Train with Exercise

Replace "train" with "exercise" on Torn Gym page, to help people suffering with Siderodromophobia

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

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

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         Replace Train with Exercise
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Replace "train" with "exercise" on Torn Gym page, to help people suffering with Siderodromophobia
// @author       hexxeh[2428617]
// @license MIT
// @match        https://www.torn.com/gym.php
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function replaceText(node) {
        if (node.nodeType === Node.TEXT_NODE) {
            node.textContent = node.textContent.replace(/\btrain\b/gi, 'exercise');
        } else if (node.nodeType === Node.ELEMENT_NODE) {
            // Replace text in input fields and buttons
            if (node.tagName === 'BUTTON' || node.tagName === 'INPUT') {
                node.value = node.value.replace(/\btrain\b/gi, 'exercise');
            }
            // Check for child nodes
            node.childNodes.forEach(replaceText);
        }
    }

    // Run replacement after the page fully loads
    window.addEventListener('load', () => {
        replaceText(document.body);
    });

    // Observe changes to the body for dynamic content
    const observer = new MutationObserver(() => {
        replaceText(document.body);
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
})();