Torn Character Model Toggle

Adds a button to toggle character model on both Torn loader and items pages.

// ==UserScript==
// @name         Torn Character Model Toggle
// @namespace    torn_button_test
// @version      1.3
// @license      MIT
// @description  Adds a button to toggle character model on both Torn loader and items pages.
// @author       yoyoYossarian
// @match        https://www.torn.com/loader.php?*
// @match        https://www.torn.com/item.php
// @grant        none
// ==/UserScript==

(function() {
    console.log("Torn Character Model Toggle script loaded");

    function waitForElement(selector, callback) {
        const interval = setInterval(() => {
            const node = document.querySelector(selector);
            if (node) {
                clearInterval(interval);
                callback(node);
            }
        }, 200);
    }

    function toggleCharacterModel() {
        console.log("Button clicked");
        const modelImg = document.querySelector("div[class^='model___'] img");
        if (modelImg) {
            console.log("Model div found:", modelImg.outerHTML);
            const currentSrc = modelImg.getAttribute("src");
            const maleModel = "/images/v2/attack/models/male_model.png";
            const femaleModel = "/images/v2/attack/models/female_model.png";
            
            if (currentSrc.includes("female_model.png")) {
                modelImg.setAttribute("src", maleModel);
                console.log("Character model switched to male");
            } else {
                modelImg.setAttribute("src", femaleModel);
                console.log("Character model switched to female");
            }
        } else {
            console.log("Model div not found");
        }
    }

    function addTestButton(node) {
        const btn = document.createElement("button");
        btn.innerText = "Toggle Model";
        btn.id = "test-button";
        btn.classList.add("torn-btn");
        btn.style.marginLeft = "10px";
        
        btn.addEventListener("click", toggleCharacterModel);
        
        node.insertAdjacentElement("beforeBegin", btn);
        console.log("Toggle Model button added to page");
    }
    
    if (window.location.href.includes("loader.php")) {
        waitForElement('div[class^="bottomSection"]', addTestButton);
    } else if (window.location.href.includes("item.php")) {
        waitForElement("#mainContainer > div.content-wrapper.winter > div.main-items-cont-wrap > div.content-title.m-bottom10", addTestButton);
    }
})();