JV Notes de test

Affiche les notes des jeux sur la page de listing

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         JV Notes de test
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Affiche les notes des jeux sur la page de listing
// @author       Shuunen
// @match        http://www.jeuxvideo.com/tests/*/**
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // enlève la colonne de droite
    var col = document.querySelector('.col-right');
    if (col) {
        col.remove();
    }

    // resize la colonne principale
    col = document.querySelector('.col-main');
    if (col) {
        col.style.maxWidth = '100%';
    }

    // affiche les notes pour chaque jeux
    var jeux = document.querySelectorAll('.pres-item-jaq');

    jeux.forEach(function(jeu) {

        var url = jeu.querySelector('a').href;
        var content = jeu.querySelector('.mask-img');

        // enlève les notes déjà présentes
        content.querySelectorAll('.note').forEach(function(note) {
            note.remove();
        });

        fetch(url, {
            credentials: 'same-origin'
        }).then(function(response) {
            return response.text();
        }).then(function(html) {
            var htmlEl = document.createElement("div");
            htmlEl.innerHTML = html;
            var notes = htmlEl.querySelectorAll('.note');
            var note = '';
            if (!notes || !notes.length) {
                note = 'introuvable...';
            } else {
                note = parseInt(notes[0].innerText.split('/')[0]) + parseInt(notes[1].innerText.split('/')[0]);
                note = Math.round(note / 2);
            }
            var fontSize = parseInt((Math.log10(note)+'').split('.')[1].substr(0,2))*1.2 + 10;
            var color = (note > 15 ? 'crimson' : note > 12 ? 'navy' : 'gray');
            var newHtml = '<span class="note" style="font-size:'+ fontSize +'px; color: '+color+'; letter-spacing: -1px; white-space: nowrap; font-weight: 600; padding-left: 10px; margin-top: 15px; display: block; border-left: 4px solid;">';
            newHtml += '<strong>' + note + '</strong><small>&nbsp;/&nbsp;20</small>';
            newHtml += '</span>';
            content.innerHTML += newHtml;
        });

    });

})();