This script shows an approximate "minimum to value" value on the cartola website
// ==UserScript==
// @name Cartola
// @namespace http://tampermonkey.net/
// @version 1.0
// @description This script shows an approximate "minimum to value" value on the cartola website
// @author HenriqueM
// @match https://cartola.globo.com/
// @icon https://www.google.com/s2/favicons?sz=64&domain=globo.com
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
function mostrarMinimo() {
// Seleciona todos os elementos que possuem o atributo "card-atleta"
const elementos = document.querySelectorAll('[card-atleta]');
// Obtém o objeto "jogadores" armazenado na LocalStorage
const jogadoresLocalStorage = localStorage.getItem('jogadores');
let jogadores = {};
// Verifica se há algum objeto armazenado
if (jogadoresLocalStorage) {
jogadores = JSON.parse(jogadoresLocalStorage);
}
// Itera sobre os elementos encontrados
elementos.forEach(elemento => {
// Busca a div com a classe "cartola-atletas__card" dentro do elemento atual
const divCartola = elemento.querySelector('.cartola-atletas__card');
// Verifica se a div foi encontrada
if (divCartola) {
// Busca o elemento <estrela-atleta-favorito> dentro da div
const estrelaAtleta = divCartola.querySelector('estrela-atleta-favorito');
// Verifica se o elemento foi encontrado e se possui o atributo "atletaid"
if (estrelaAtleta && estrelaAtleta.hasAttribute('atletaid')) {
// Obtém o valor do atributo "atletaid"
const atletaId = estrelaAtleta.getAttribute('atletaid');
// Verifica se há um jogador correspondente na LocalStorage
if (jogadores[atletaId] && jogadores[atletaId].pm) {
// Busca a div com a classe "small-collapse" dentro do elemento atual
const divSmallCollapse = divCartola.querySelector('.small-collapse');
// Verifica se a div foi encontrada
if (divSmallCollapse) {
// Busca a div com a classe "cartola-atletas__scout--minval" dentro da div "small-collapse"
const divScoutMinval = divSmallCollapse.querySelector('.cartola-atletas__scout--minval');
// Verifica se a div foi encontrada
if (divScoutMinval) {
// Substitui o conteúdo da div pelo valor de "pm"
divScoutMinval.textContent = jogadores[atletaId].pm;
}
}
}
}
}
});
}
// Realiza a chamada AJAX para a URL fornecida
fetch('https://pb89hpsof3.execute-api.us-east-1.amazonaws.com/prod/escalar/rodadas_anteriores/10')
.then(response => {
// Verifica se a resposta da requisição foi bem-sucedida (status code 200)
if (response.ok) {
// Converte a resposta para JSON
return response.json();
}
// Se a resposta não for bem-sucedida, lança um erro
throw new Error('Erro ao carregar os dados');
})
.then(data => {
// Verifica se a propriedade "jogadores" está presente no objeto retornado
if (data && data.jogadores) {
// Armazena o objeto "jogadores" na LocalStorage
localStorage.setItem('jogadores', JSON.stringify(data.jogadores));
console.log('Objeto "jogadores" armazenado na LocalStorage.');
// ---------
new MutationObserver(() => {
mostrarMinimo();
console.log("callback that runs when observer is triggered");
}).observe(document.querySelector(".cartola-atletas__listagem"), {
subtree: true,
childList: true,
});
} else {
console.log('Objeto "jogadores" não encontrado na resposta.');
}
})
.catch(error => {
console.error('Erro:', error);
});
})();