BreizhGaming / Moar Reactions

// ==UserScript==
// @name         Moar Reactions
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  5 Réactions supplémentaires pour le forum Paladium !
// @license       MIT
// @author       Nvil
// @match        https://paladium-pvp.fr/*
// @grant        none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
(function() {
    'use strict';

    const $ = window.jQuery; //JQuery
    const Pseudo = $('img')[0].alt //Récupération du pseudo

    if ((window.location.href).indexOf("/threads") >= 0) { //S'il s'agit d'une page forum
        const Post = $('.message--post') //Div des posts
        let NBPost = 0 //Nombre de posts

        for (let n = -1; n < Post.length; n++) { //Vérif du nombre de posts
            if ($(Post[NBPost]).attr('data-author').indexOf(Pseudo) == -1) { //Si le message ne vient pas de vous

                const RParent = $('.actionBar-set--external')[NBPost] //Div contenant Réagir
                const Reaction = RParent.firstElementChild //Récupération de Réagir
                $(Reaction).find("span").remove() //Suppression du texte "Réagir"
                $(Reaction).css({"margin": "-1px"}) //Changement du margin de Réagir

                const $R = [] //Array pour stocker les 6 réactions
                for (let i = 0; i < 6; i++) { //Étapes suivantes répétées 6 fois

                    $R.push($(Reaction).clone()) //"Réagir" cloné dans l'Array
                    $(Reaction).remove() //Suppression du "Réagir" original
                    $($R[i]).prependTo($(RParent)) //Prepend de la réaction à RParent

                    const R = $($($R[i])[0]) //R correspond à l'enfant "img" de la réaction

                    R.attr({ //Attributions de valeurs à la réaction
                        'class': R.attr("class").slice(0, -33) + "has-reaction reaction--" + (i + 1), //Valeur de la réaction
                        'href': R.attr("href").slice(0, -1) + (i + 1), //Valeur de la réaction
                        'data-reaction-id': i })//Valeur de la réaction
                    $(R).css("background: url(styles/default/xenforo/reactions/emojione/sprite_sheet_emojione.png) no-repeat 0px '-'+(i-1)*32+'px'") //Mise en place d'une image correspondant à la réaction
                }
            }
            NBPost++; //Passage au post suivant
        }
    }
    if ((window.location.href).indexOf("react&reaction_id") >= 0) {$(".button-text").trigger('click')} //Validation automatique de la réaction (Pour Chrome)
})();