JFK Icon (Light Mode)

JFK icon, opens faction armoury

// ==UserScript==
// @name         JFK Icon (Light Mode)
// @namespace    http://tampermonkey.net/
// @version      2.2
// @description  JFK icon, opens faction armoury
// @author       psychogenik
// @match        https://www.torn.com/*
// @grant        GM_addStyle
// ==/UserScript==
 
(function() {
    'use strict';
 
    function addCustomIcon() {
        const statusIconsContainer = document.querySelector('ul[class^="status-icons"]'); // Wildcard selector
        if (!statusIconsContainer || document.querySelector('#custom-status-icon')) return;
 
        const newIcon = document.createElement('li');
        newIcon.id = 'custom-status-icon';
        newIcon.className = 'icon';
        newIcon.style.display = 'none'; // Hide until image loads
 
        const newLink = document.createElement('a');
        newLink.href = 'https://www.torn.com/factions.php?step=your&type=1#/tab=armoury';
        newLink.setAttribute('aria-label', 'Custom Icon - Click to open faction armoury');
 
        const iconImg = document.createElement('img');
        iconImg.src = 'https://i.imgur.com/ggPv8NJ.png';
        iconImg.alt = 'Custom Icon';
        iconImg.style.width = '17px';
        iconImg.style.height = '17px';
 
        newLink.appendChild(iconImg);
        newIcon.appendChild(newLink);
        statusIconsContainer.insertBefore(newIcon, statusIconsContainer.firstChild);
 
        iconImg.onload = () => {
            newIcon.style.display = ''; // Show when loaded
        };
    }
 
    const observer = new MutationObserver((mutations, obs) => {
        if (document.querySelector('ul[class^="status-icons"]')) {
            addCustomIcon();
            obs.disconnect();
        }
    }).observe(document.body, { childList: true, subtree: true });
})();