Fluffy_Stick_JV

Utiliser les stickers intégrés JVC rapidement.

当前为 2025-09-07 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

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

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Fluffy_Stick_JV
// @author       ImThatGuy, Atlantis
// @description  Utiliser les stickers intégrés JVC rapidement.
// @namespace    Fluffy_Stick_JV
// @match        *://www.jeuxvideo.com/forums/42-*
// @match        *://www.jeuxvideo.com/forums/1-*
// @match        *://www.jeuxvideo.com/forums/0-*
// @match        *://www.jeuxvideo.com/recherche/forums/0-*
// @require      https://code.jquery.com/jquery-3.6.0.min.js
// @require      https://cdnjs.cloudflare.com/ajax/libs/tipso/1.0.8/tipso.min.js
// @version      0.4.3.v795
// @icon         https://image.jeuxvideo.com/stickers/p/1jnh
// @license      MIT
// ==/UserScript==

/* icon         https://image.noelshack.com/fichiers-xs/2023/12/6/1679774117-1jnh.png */

/*
StickersJVC.
Code de base par ImThatGuy (2018-2020)

*/

//attendre_le_dom_JVC_2.0_a_larrache
let tentatives = 0;
(function check() {
    const el = document.querySelector('.messageEditor__containerEdit');
    if (el) {
        initmainstart();
    } else if (++tentatives < 6) {
        setTimeout(check, 500);
    }
})();


/*jshint multistr: true */
function initmainstart() {
    'use strict';

    // IMPORT CSS
    $('head').append('<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/tipso/1.0.8/tipso.min.css"/>');

    // Current div
    var currentDiv = localStorage.getItem('stickersjvc-div');
    //valeur_a_check
    const valeursachecker = ['hap', 'noel', 'autres', 'brid', 'rex', 'fluffy', 'grukk','lamma', 'bud', 'euro', 'larspon'];
    currentDiv = valeursachecker.includes(currentDiv) ? currentDiv : 'brid';
    // LISTS
    var _stickers_hap = [
        "https://image.jeuxvideo.com/stickers/p/1kki",
        "https://image.jeuxvideo.com/stickers/p/1kkn",
        "https://image.jeuxvideo.com/stickers/p/1lmk",
        "https://image.jeuxvideo.com/stickers/p/1kkl",
        "https://image.jeuxvideo.com/stickers/p/1lmh",
        "https://image.jeuxvideo.com/stickers/p/1ljr",
        "https://image.jeuxvideo.com/stickers/p/1kkh",
        "https://image.jeuxvideo.com/stickers/p/1kkk",
        "https://image.jeuxvideo.com/stickers/p/1lmn",
        "https://image.jeuxvideo.com/stickers/p/1ljm",
        "https://image.jeuxvideo.com/stickers/p/1ljl",
        "https://image.jeuxvideo.com/stickers/p/1kkm",
        "https://image.jeuxvideo.com/stickers/p/1rzw",
        "https://image.jeuxvideo.com/stickers/p/1kkj",
        "https://image.jeuxvideo.com/stickers/p/1kkg",
        "https://image.jeuxvideo.com/stickers/p/1ljq"
    ];
    var _stickers_noel = [
        "https://image.jeuxvideo.com/stickers/p/1kkr",
        "https://image.jeuxvideo.com/stickers/p/1kko",
        "https://image.jeuxvideo.com/stickers/p/1kkp",
        "https://image.jeuxvideo.com/stickers/p/1ljj",
        "https://image.jeuxvideo.com/stickers/p/1ljn",
        "https://image.jeuxvideo.com/stickers/p/1kkq",
        "https://image.jeuxvideo.com/stickers/p/1kks",
        "https://image.jeuxvideo.com/stickers/p/1ljo",
        "https://image.jeuxvideo.com/stickers/p/1ljp",
        "https://image.jeuxvideo.com/stickers/p/1kkt",
        "https://image.jeuxvideo.com/stickers/p/1lmm",
        "https://image.jeuxvideo.com/stickers/p/1kku",
        "https://image.jeuxvideo.com/stickers/p/1kkv",
        "https://image.jeuxvideo.com/stickers/p/1mqw",
        "https://image.jeuxvideo.com/stickers/p/1rzs",
        "https://image.jeuxvideo.com/stickers/p/1mqz",
        "https://image.jeuxvideo.com/stickers/p/1nu9",
        "https://image.jeuxvideo.com/stickers/p/1kkg"
    ];
    var _stickers_autres = [
        "https://image.jeuxvideo.com/stickers/p/1lmj",
        "https://image.jeuxvideo.com/stickers/p/1nua",
        "https://image.jeuxvideo.com/stickers/p/1nub",
        "https://image.jeuxvideo.com/stickers/p/1mqv",
        "https://image.jeuxvideo.com/stickers/p/1nu7",
        "https://image.jeuxvideo.com/stickers/p/1lmi",
        "https://image.jeuxvideo.com/stickers/p/1lml",
        "https://image.jeuxvideo.com/stickers/p/1lmo",
        "https://image.jeuxvideo.com/stickers/p/1lmp",
        "https://image.jeuxvideo.com/stickers/p/1mqx",
        "https://image.jeuxvideo.com/stickers/p/1mqy",
        "https://image.jeuxvideo.com/stickers/p/1mr0",
        "https://image.jeuxvideo.com/stickers/p/1mr1",
        "https://image.jeuxvideo.com/stickers/p/1nu6",
        "https://image.jeuxvideo.com/stickers/p/1nu8"
    ];
    var _stickers_brid = [
        "https://image.jeuxvideo.com/stickers/p/1jnd",
        "https://image.jeuxvideo.com/stickers/p/1jnc",
        "https://image.jeuxvideo.com/stickers/p/1jne",
        "https://image.jeuxvideo.com/stickers/p/1jnf",
        "https://image.jeuxvideo.com/stickers/p/1jng",
        "https://image.jeuxvideo.com/stickers/p/1jnh",
        "https://image.jeuxvideo.com/stickers/p/1jni",
        "https://image.jeuxvideo.com/stickers/p/1jnj"
    ];
    var _stickers_rex = [
        "https://image.jeuxvideo.com/stickers/p/1lm9",
        "https://image.jeuxvideo.com/stickers/p/1lma",
        "https://image.jeuxvideo.com/stickers/p/1lmb",
        "https://image.jeuxvideo.com/stickers/p/1lmc",
        "https://image.jeuxvideo.com/stickers/p/1lmd",
        "https://image.jeuxvideo.com/stickers/p/1lme",
        "https://image.jeuxvideo.com/stickers/p/1lmf",
        "https://image.jeuxvideo.com/stickers/p/1lmg"
    ];
    var _stickers_fluffy = [
        "https://image.jeuxvideo.com/stickers/p/1kl8",
        "https://image.jeuxvideo.com/stickers/p/1klb",
        "https://image.jeuxvideo.com/stickers/p/1kl9",
        "https://image.jeuxvideo.com/stickers/p/1kl7",
        "https://image.jeuxvideo.com/stickers/p/1kl5",
        "https://image.jeuxvideo.com/stickers/p/1kl6",
        "https://image.jeuxvideo.com/stickers/p/1kl2",
        "https://image.jeuxvideo.com/stickers/p/1kl1",
        "https://image.jeuxvideo.com/stickers/p/1kl3",
        "https://image.jeuxvideo.com/stickers/p/1kky",
        "https://image.jeuxvideo.com/stickers/p/1kkz",
        "https://image.jeuxvideo.com/stickers/p/1kla",
        "https://image.jeuxvideo.com/stickers/p/1kl4",
        "https://image.jeuxvideo.com/stickers/p/1kl0"
    ];
    var _stickers_grukk = [
        "https://image.jeuxvideo.com/stickers/p/1lgg",
        "https://image.jeuxvideo.com/stickers/p/1lgb",
        "https://image.jeuxvideo.com/stickers/p/1lga",
        "https://image.jeuxvideo.com/stickers/p/1lgc",
        "https://image.jeuxvideo.com/stickers/p/1lgd",
        "https://image.jeuxvideo.com/stickers/p/1lge",
        "https://image.jeuxvideo.com/stickers/p/1lgf",
        "https://image.jeuxvideo.com/stickers/p/1lgh"
    ];
    var _stickers_lamma = [
        "https://image.jeuxvideo.com/stickers/p/1kgx",
        "https://image.jeuxvideo.com/stickers/p/1kgv",
        "https://image.jeuxvideo.com/stickers/p/1kgw",
        "https://image.jeuxvideo.com/stickers/p/1kgy",
        "https://image.jeuxvideo.com/stickers/p/1kgu",
        "https://image.jeuxvideo.com/stickers/p/1kh0",
        "https://image.jeuxvideo.com/stickers/p/1kh1",
        "https://image.jeuxvideo.com/stickers/p/1kgz"
    ];
    var _stickers_bud = [
        "https://image.jeuxvideo.com/stickers/p/zuc",
        "https://image.jeuxvideo.com/stickers/p/zu2",
        "https://image.jeuxvideo.com/stickers/p/zu6",
        "https://image.jeuxvideo.com/stickers/p/zu7",
        "https://image.jeuxvideo.com/stickers/p/zu8",
        "https://image.jeuxvideo.com/stickers/p/zu9",
        "https://image.jeuxvideo.com/stickers/p/zua",
        "https://image.jeuxvideo.com/stickers/p/zub",
        "https://image.jeuxvideo.com/stickers/p/1f88",
        "https://image.jeuxvideo.com/stickers/p/1f89",
        "https://image.jeuxvideo.com/stickers/p/1f8a",
        "https://image.jeuxvideo.com/stickers/p/1f8b",
        "https://image.jeuxvideo.com/stickers/p/1f8d",
        "https://image.jeuxvideo.com/stickers/p/1f8e",
        "https://image.jeuxvideo.com/stickers/p/1f8f"
    ];
    var _stickers_euro = [
        "https://image.jeuxvideo.com/stickers/p/1n1m",
        "https://image.jeuxvideo.com/stickers/p/1n1n",
        "https://image.jeuxvideo.com/stickers/p/1n1t",
        "https://image.jeuxvideo.com/stickers/p/1n1q",
        "https://image.jeuxvideo.com/stickers/p/1n1s",
        "https://image.jeuxvideo.com/stickers/p/1n1o"
    ];
    var _stickers_larspon = [
        "https://image.jeuxvideo.com/stickers/p/1lt9",
        "https://image.jeuxvideo.com/stickers/p/1lte",
        "https://image.jeuxvideo.com/stickers/p/1ltd",
        "https://image.jeuxvideo.com/stickers/p/1li4",
        "https://image.jeuxvideo.com/stickers/p/1jc3-fr",
        "https://image.jeuxvideo.com/stickers/p/1li5",
        "https://image.jeuxvideo.com/stickers/p/1n2d",
        "https://image.jeuxvideo.com/stickers/p/1n2i",
        "https://image.jeuxvideo.com/stickers/p/1n2j",
        "https://image.jeuxvideo.com/stickers/p/1n2m"
    ];




    // FUNCTIONS
    function getCode(element) {
        return element.attr("src").split('/')[5];
    }


    // MAIN APPEND
    var newStickers = $('<div id="intstickersbloc" style="position: relative">\
                        <div id="hap" class="new-stickers"></div>\
                        <div id="noel" class="new-stickers"></div>\
                        <div id="autres" class="new-stickers"></div>\
                        <div id="brid" class="new-stickers"></div>\
                        <div id="rex" class="new-stickers"></div>\
                        <div id="fluffy" class="new-stickers"></div>\
                        <div id="grukk" class="new-stickers"></div>\
                        <div id="lamma" class="new-stickers"></div>\
                        <div id="bud" class="new-stickers"></div>\
                        <div id="euro" class="new-stickers"></div>\
                        <div id="larspon" class="new-stickers"></div>\
                        <div id="updown" class="new-stickers"></div>\
                      </div>');
    // Choisir position haut bas
    if (localStorage.getItem('stickersjvc-layout') === 'bottom') {
        newStickers.insertAfter('.messageEditor__buttonEdit');
        newStickers.css('order', 6);
        newStickers.children('.new-stickers').addClass('bottom');
    } else {
        newStickers.insertBefore('.messageEditor__edit');
    }


    // HIDES
    $(".new-stickers").each(function() {
        if ( $(this).attr("id") != currentDiv ) {
            $(this).hide();
        }
    });

    // APPENDS
    const buttonsGroup3 = document.querySelectorAll(".buttonsEditor > .buttonsEditor__group")[2];
    //bouton_html
    buttonsGroup3.insertAdjacentHTML("beforeend", `
        <button class="buttonsEditor__button"
            type="button"
            title="Stickers intégrés"
            id="old-stickjvc"
            style="width: 0.7em;">
                <span style="font-size: 1.1em; position: relative; bottom: 0.075em;">s</span>
        </button>
    `);
    document.getElementById("old-stickjvc").addEventListener('click', function handleClick() {
        loadstickersfull(); //chargement du script premier click
    }, { once: true });

    //_Hide_Show__
    $(".new-stickers#"+currentDiv).hide(0);

    $("#old-stickjvc").click(function() {
        if ( $(".new-stickers").is(":visible") ) {
            $(this).removeClass("active");
            $(".new-stickers#"+currentDiv).hide(80);
        } else {
          setTimeout(() => {
            $(this).addClass("active");
            $(".new-stickers#"+currentDiv).show(80);
            $(".new-stickers").css("overflow", "auto");
            // Lazy-load initial
            $(".new-stickers#" + currentDiv).find('img:not([src])').each(function() {
                $(this).attr('src', $(this).attr('data-src'));
            });
          }, 50);
        }
    });

    function loadstickersfull() {
        $(".new-stickers").append('<div code="hap" class="cat-stickers" title="Hap"></div>\
                                   <div code="noel" class="cat-stickers" title="Noel"></div>\
                                   <div code="autres" class="cat-stickers" title="Autres"></div>\
                                   <div code="brid" class="cat-stickers" title="Bridgely"></div>\
                                   <div code="rex" class="cat-stickers" title="Rex ryder"></div>\
                                   <div code="fluffy" class="cat-stickers" title="Fluffy"></div>\
                                   <div code="grukk" class="cat-stickers" title="Grukk"></div>\
                                   <div code="lamma" class="cat-stickers" title="Lama"></div>\
                                   <div code="bud" class="cat-stickers" title="Bud"></div>\
                                   <div code="euro" class="cat-stickers" title="Euro"></div>\
                                   <div code="larspon" class="cat-stickers" title="Larry & Sponsos"></div>\
                                   <div code="updown" class="cat-stickers" title="Descendre-Monter Panneau"></div>');

        // AJOUT STICKERS
        for (var i = 0; i < _stickers_hap.length; i++) {
            $(".new-stickers#hap").append('<img data-src="'+_stickers_hap[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_noel.length; i++) {
            $(".new-stickers#noel").append('<img data-src="'+_stickers_noel[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_autres.length; i++) {
            $(".new-stickers#autres").append('<img data-src="'+_stickers_autres[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_brid.length; i++) {
            $(".new-stickers#brid").append('<img data-src="'+_stickers_brid[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_rex.length; i++) {
            $(".new-stickers#rex").append('<img data-src="'+_stickers_rex[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_fluffy.length; i++) {
            $(".new-stickers#fluffy").append('<img data-src="'+_stickers_fluffy[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_grukk.length; i++) {
            $(".new-stickers#grukk").append('<img data-src="'+_stickers_grukk[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_lamma.length; i++) {
            $(".new-stickers#lamma").append('<img data-src="'+_stickers_lamma[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_bud.length; i++) {
            $(".new-stickers#bud").append('<img data-src="'+_stickers_bud[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_euro.length; i++) {
            $(".new-stickers#euro").append('<img data-src="'+_stickers_euro[i]+'" class="stickers-script">');
        }
        for (var i = 0; i < _stickers_larspon.length; i++) {
            $(".new-stickers#larspon").append('<img data-src="'+_stickers_larspon[i]+'" class="stickers-script">');
        }

        // Bloque le menu clic droit
        $('.stickers-script').on('contextmenu', e => e.preventDefault());

        // LISTENERS
        function stickersEvent() {
            $(".stickers-script").click(function() {
                // Get sticker code
                var code = getCode( $(this) );
                var $textarea = jQuery('#bloc-formulaire-forum #message_topic, #message');
                var caretPos = $textarea[0].selectionStart;
                var textAreaTxt = $textarea.val();

                var sticker = "[[sticker:p/"+code+"]]";
                sticker = (caretPos > 0 && textAreaTxt[caretPos - 1] !== ' ' ? " " : "") + sticker + " ";
                //* !!!! FONCTION SIMULE REACT
                var finalText = textAreaTxt.substring(0, caretPos) + sticker + textAreaTxt.substring(caretPos);
                Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype, "value")
                  .set.call($textarea[0], finalText);
                $textarea[0].dispatchEvent(new Event("input", { bubbles: true }));
                $textarea.focus();
                //*/
                //fonction JVC (elle marche mal en ce moment)
                /*
                let editor = jvc.getMessageEditor('#bloc-formulaire-forum #message_topic') || jvc.getMessageEditor('#message');
                editor.insertText(sticker);
                */
            });
        }
        stickersEvent();

        $(".cat-stickers").not('[code="updown"]').click(function() {
            var id = $(this).attr("code");
            // Sauvegarde du choix dans le localStorage
            localStorage.setItem('stickersjvc-div', id);

            // Lazy-load : remplace les data-src (new durée cache)
            $(".new-stickers#" + id).find('img:not([src])').each(function () {
                const realSrc = $(this).attr('data-src');
                if (realSrc) $(this).attr('src', realSrc);
            });

            $(".new-stickers").each(function() {
                if ( $(this).attr("id") == id ) {
                    $(this).show();
                    if (currentDiv != id) {
                        $("#"+currentDiv).hide();
                        currentDiv = id;
                    }
                }
            });
        });

        // Change position haut bas
        $('.cat-stickers[code="updown"]').on('click', e => {
            e.preventDefault();
            const bloc = $('#intstickersbloc');
            const isBottom = localStorage.getItem('stickersjvc-layout') === 'bottom';
            localStorage.setItem('stickersjvc-layout', isBottom ? 'top' : 'bottom');
            if (isBottom) {
                bloc.insertBefore('.messageEditor__edit').css('order', '').children('.new-stickers').removeClass('bottom');
            } else {
                bloc.insertAfter('.messageEditor__buttonEdit').css('order', 6).children('.new-stickers').addClass('bottom');
            }
        });

        // NICE SCROLL
        var lastScrollTop = 0;
        $(".new-stickers").scroll(function() {
            var st = $(this).scrollTop();
            // Masquer dès qu'on commence à descendre
            if (st > lastScrollTop) {
                $(".cat-stickers").hide();
            }
            // Afficher seulement si on est revenu tout en haut
            else if (st === 0) {
                $(".cat-stickers").show();
            }
            // Mise à jour du dernier scroll pour détecter la direction
            lastScrollTop = st;
        });

        // TOOLTIPS
        $(document).ready(function() {
            $(".cat-stickers").not('[code="updown"]').each(function() {
                $(this).tipso({
                    delay: 0,
                    speed: 120,
                    background: "rgba(0, 0, 0, 0.7)",
                    size: 'tiny',
                    content: '<b>'+$(this).attr("title")+'</b>',
                    width: null,
                    maxWidth: "150px"
                });
            });
        });
    }

    // CSS
    const css = [];
    // Styles spécifiques chromium (non Firefox)
    if (!navigator.userAgent.includes("Firefox")) {
        css.push(
            `.new-stickers::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.2); background-color: #f7f7f7; }`,
            `.new-stickers::-webkit-scrollbar { width: 9px; background-color: #F5F5F5; }`,
            `.new-stickers::-webkit-scrollbar-thumb { background-color: #ccc; }`
        );
    }

    css.push(
        `.stickers-script { height: 50px; width: 50px; cursor: pointer; padding: 2px; }`,

        `.cat-stickers:hover { border: none; }`,
        `.cat-stickers[code="hap"] { left: 5px; background-image: url('https://image.jeuxvideo.com/stickers/p/1kki'); }`,
        `.cat-stickers[code="noel"] { left: 30px; background-image: url('https://image.jeuxvideo.com/stickers/p/1kkr'); }`,
        `.cat-stickers[code="autres"] { left: 55px; background-image: url('https://image.jeuxvideo.com/stickers/p/1mqv'); }`,
        `.cat-stickers[code="brid"] { left: 80px; background-image: url('https://image.jeuxvideo.com/stickers/p/1jnh'); }`,
        `.cat-stickers[code="rex"] { left: 105px; background-image: url('https://image.jeuxvideo.com/stickers/p/1lme'); }`,
        `.cat-stickers[code="fluffy"] { left: 130px; background-image: url('https://image.jeuxvideo.com/stickers/p/st/1kl8'); }`,
        `.cat-stickers[code="grukk"] { left: 155px; background-image: url('https://image.jeuxvideo.com/stickers/p/1lgg'); }`,
        `.cat-stickers[code="lamma"] { left: 180px; background-image: url('https://image.jeuxvideo.com/stickers/p/1kgx'); }`,
        `.cat-stickers[code="bud"] { left: 205px; background-image: url('https://image.jeuxvideo.com/stickers/p/1f8a'); }`,
        `.cat-stickers[code="euro"] { left: 230px; background-image: url('https://image.jeuxvideo.com/stickers/p/1n1m'); }`,
        `.cat-stickers[code="larspon"] { left: 255px; background-image: url('https://image.jeuxvideo.com/stickers/p/1lte'); }`,
        //`.cat-stickers[code="updown"] { left: 280px; filter: saturate(0%); background-image: url('https://images.emojiterra.com/google/noto-emoji/unicode-16.0/color/128px/2195.png'); }`,
        `.cat-stickers[code="updown"] { left: 280px; filter: saturate(0%) opacity(0.9); background-size: 120%; background-image: url(https://images.emojiterra.com/microsoft/fluent-emoji/15.1/128px/2195_color.png); }`,

        `.script-title { font-family: 'robotoboldcondensed', Arial, Helvetica, sans-serif; text-transform: uppercase; font-size: 0.75rem; color: #656574; }`,

        //`.new-stickers { padding: 2px; height: 85px; transition: background-color 0.1s; overflow: auto; text-align: center; padding-top: 22px; scroll-behavior: smooth; }`,
        `.new-stickers { padding: 2px; height: 85px; transition: background-color 0.1s; overflow: auto; text-align: center; padding-top: 24px; scroll-behavior: smooth; }`,

        `.new-stickers:not(.bottom) { border-bottom: 1px solid var(--jv-border-color); }`,
        `.new-stickers.bottom { border-top: 1px solid var(--jv-border-color); }`,

        //`.cat-stickers { position: absolute; top: 4px; background-color: #E6E6E6; box-shadow: 0px 2px 2px #e0e0e0; border: 1px solid #ccc; border-radius: 50px; height: 18px; width: 18px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center center; }`,
        `.cat-stickers { position: absolute; top: 3px; background-color: rgba(217, 217, 217, 0.55); box-shadow: 0px 2px 2px rgba(87, 87, 87, 0.4); border: 1px solid rgba(141, 141, 141, 0.45); border-radius: 50px; height: 18px; width: 18px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center center; }`,

        `.stickers-script:hover { background-color: rgba(185, 185, 185, 0.5); border-radius: 3px; }`,

        `.cat-stickers:hover { box-shadow: 0px 2px 8px #b5b5b5; }`
    );

    // Insertion CSS
    const style = document.createElement('style');
    style.id = 'stickersoldcss';
    style.textContent = css.join('\n');
    document.head.appendChild(style);

    //Simuler animation previs COMME sur le forum
    //Tactile ou PC
    const deviceEventType = 'ontouchstart' in window ? 'click' : 'mouseover';
    //Simuler animation previs sur le fofo
    document.querySelector('#bloc-formulaire-forum .messageEditor__containerPreview')?.addEventListener(deviceEventType, (e) => {
        if ( e.target.classList.contains('message__sticker') && e.target.src.includes('/p/st/')) {
            //Remplace le lien statique (st) en lien anime
            e.target.src = e.target.src.replace('/p/st/', '/p/');
        }
    });
}