Chess.com Agrega Titulo

Agrega Titulos de liga y enlaces a perfiles de jugadores en chess.com!

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

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

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

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.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name         Chess.com Agrega Titulo
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Agrega Titulos de liga y enlaces a perfiles de jugadores en chess.com!
// @author Alexander Martínez González
// @include      https://www.chess.com/*
// @grant        none
// @run-at       document-body
// ==/UserScript==

(function() {
    'use strict';

    const targetUsernames = ["Username", "Username", "Username"];

    function addGMTagToUser(usernameElement) {
        // Create the element to insert
        const newElement = document.createElement('a');
        newElement.href = 'https://www.chess.com/members/titled-players';
        newElement.target = '_blank';
        newElement.className = 'user-chess-title-component';
        newElement.textContent = 'CM';

        // Check if the new element is already present
        const existingElement = usernameElement.previousElementSibling;
        if (existingElement && existingElement.classList.contains('user-chess-title-component')) {
            return; // Skip this iteration if the element is already present
        }

        // Insert the new element before the username element
        usernameElement.parentNode.insertBefore(newElement.cloneNode(true), usernameElement);

        // Modify the profile card h1 element
        const profileH1 = usernameElement.closest('.profile-card-username');
        if (profileH1) {
            profileH1.innerHTML = `
                <a href="https://www.chess.com/members/titled-players" class="profile-card-chesstitle " v-tooltip="Candidate Master">
                    CM
                </a>
                ${usernameElement.textContent.trim()}
            `;
        }
    }

    function addGMTag() {
        const usernameElements = document.querySelectorAll('.user-username-component.user-username-white.user-username-link.user-tagline-username');

        usernameElements.forEach(usernameElement => {
            const username = usernameElement.textContent.trim();
            if (targetUsernames.includes(username)) {
                addGMTagToUser(usernameElement);
            }
        });
    }

    setInterval(() => {
        addGMTag();
    }, 100);

})();