Fluffy_Stick_JV

StickersJVC vous permet d'utiliser les stickers JVC rapidement.

当前为 2023-11-21 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴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_edit_New_Atlantis
// @description  StickersJVC vous permet d'utiliser les stickers JVC rapidement.
// @namespace    Fluffy_Stick_JV
// @match        *://www.jeuxvideo.com/messages-prives/nouveau.php*
// @match        *://www.jeuxvideo.com/messages-prives/message.php*
// @match        *://www.jeuxvideo.com/forums/42-*
// @match        *://www.jeuxvideo.com/forums/1-*
// @match        *://www.jeuxvideo.com/forums/0-*
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require      https://cdnjs.cloudflare.com/ajax/libs/tipso/1.0.8/tipso.min.js
// @grant        GM_addStyle
// @version      0.4.3_v101
// @icon         https://image.jeuxvideo.com/stickers/p/1jnh
// @license      MIT
// ==/UserScript==

/*
StickersJVC. 2018-2023.
Code de base par ImThatGuy

*/


//___Dependance__jquery__________________

(function($, window, document, undefined) {

  'use strict';

  var plugin = 'nuContextMenu';

  var defaults = {
    hideAfterClick: false,
    contextMenuClass: 'nu-context-menu',
    activeClass: 'active'
  };

  var nuContextMenu = function(container, options) {
    this.container = $(container);
    this.options = $.extend({}, defaults, options);
    this._defaults = defaults;
    this._name = plugin;
    this.init();
  };

  $.extend(nuContextMenu.prototype, {
    init: function() {

      if (this.options.items) {
        this.items = $(this.options.items);
      }

      if (this._buildContextMenu()) {
        this._bindEvents();
        this._menuVisible = this._menu.hasClass(this.options.activeClass);
      }
    },

    _getCallback: function() {
      return ((this.options.callback && typeof this.options.callback ===
      'function') ? this.options.callback : function() {});
    },

    _buildContextMenu: function() {

      // Create context menu
      this._menu = $('<div>')
      .addClass(this.options.contextMenuClass)
      .append('<ul>');

      var menuArray = this.options.menu,
      menuList = this._menu.children('ul');

      // Create menu items
      $.each(menuArray, function(index, element) {

        var item;

        if (element !== null && typeof element !==
          'object') {
          return;
          }

          if (element.name === 'void') {
            item = $('<hr>');
            menuList.append(item);
            return;
          }

          item = $('<li>')
          .attr('data-key', element.name)
          .text(' ' + element.title);

          if (element.icon) {
            var icon = $('<i>')
            .addClass('fa fa-' + element.icon.toString());
            item.prepend(icon);
          }

          menuList.append(item);

      });

      $('body')
      .append(this._menu);

      return true;

    },

    _pDefault: function(event) {
      event.preventDefault();
      event.stopPropagation();
      return false;
    },

    _contextMenu: function(event) {

      event.preventDefault();

      // Store the value of this
      // So it can be used in the listItem click event
      var _this = this;
      var element = event.target;

      if (this._menuVisible || this.options.disable) {
        return false;
      }

      var callback = this._getCallback();
      var listItems = this._menu.children('ul')
      .children('li');

      listItems.off()
      .on('click', function() {

        var key = $(this)
        .attr('data-key');
        callback(key, element);
        if (_this.options.hideAfterClick) {
          _this.closeMenu();
        }
      });

      this.openMenu();
      this._menu.css({
        'top': event.pageY + 'px',
        'left': event.pageX + 'px'
      });

      return true;
    },

    _onMouseDown: function(event) {
      // Remove menu if clicked outside
      if (!$(event.target)
        .parents('.' + this.options.contextMenuClass)
        .length) {
        this.closeMenu();
        }
    },

    _bindEvents: function() {

      if (this.items) {
        // Make it possible to bind to dynamically created items
        this.container.on('contextmenu', this.options.items,
                          $.proxy(this._contextMenu,
                                  this));
      } else {
        this.container.on('contextmenu', $.proxy(this._contextMenu,
                                                 this));
      }

      // Remove menu on click
      $(document)
      .on('mousedown', $.proxy(this._onMouseDown, this));

    },

    disable: function() {
      this.options.disable = true;
      return true;
    },

    destroy: function() {
      if (this.items) {
        this.container.off('contextmenu', this.options.items);
      } else {
        this.container.off('contextmenu');
      }
      this._menu.remove();
      return true;
    },

    openMenu: function() {
      this._menu.addClass(this.options.activeClass);
      this._menuVisible = true;
      return true;
    },

    closeMenu: function() {
      this._menu.removeClass(this.options.activeClass);
      this._menuVisible = false;
      return true;
    }

  });

  $.fn[plugin] = function(options) {
    var args = Array.prototype.slice.call(arguments, 1);

    return this.each(function() {
      var item = $(this),
                     instance = item.data(plugin);
                     if (!instance) {
                       item.data(plugin, new nuContextMenu(this, options));
                     } else {
                       if (typeof options === 'string' && options[0] !== '_' &&
                         options !== 'init') {
                         instance[options].apply(instance, args);
                         }
                     }
    });
  };

})(jQuery, window, document);

//Script_Stickers_Script_______

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

    const version = "0.4.3";
    console.log("[StickersJVC version "+version+"]");

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

    // Current div
    //var currentDiv = "fluffy";
    var currentDiv = localStorage.getItem('currentDiv');
    currentDiv = currentDiv || "fluffy";
    // LISTS
    var _stickers_hap = [
        "http://image.jeuxvideo.com/stickers/p/1kki",
        "http://image.jeuxvideo.com/stickers/p/1kkn",
        "http://image.jeuxvideo.com/stickers/p/1lmk",
        "http://image.jeuxvideo.com/stickers/p/1kkl",
        "http://image.jeuxvideo.com/stickers/p/1lmh",
        "http://image.jeuxvideo.com/stickers/p/1ljr",
        "http://image.jeuxvideo.com/stickers/p/1kkh",
        "http://image.jeuxvideo.com/stickers/p/1kkk",
        "http://image.jeuxvideo.com/stickers/p/1lmn",
        "http://image.jeuxvideo.com/stickers/p/1ljm",
        "http://image.jeuxvideo.com/stickers/p/1ljq",
        "http://image.jeuxvideo.com/stickers/p/1ljl",
        "http://image.jeuxvideo.com/stickers/p/1kkm",
        "http://image.jeuxvideo.com/stickers/p/1kkj",
        "http://image.jeuxvideo.com/stickers/p/1kkg"

    ];
    var _stickers_noel = [
        "http://image.jeuxvideo.com/stickers/p/1kkr",
        "http://image.jeuxvideo.com/stickers/p/1kko",
        "http://image.jeuxvideo.com/stickers/p/1kkg",
        "http://image.jeuxvideo.com/stickers/p/1kkp",
        "http://image.jeuxvideo.com/stickers/p/1ljj",
        "http://image.jeuxvideo.com/stickers/p/1ljn",
        "http://image.jeuxvideo.com/stickers/p/1kkq",
        "http://image.jeuxvideo.com/stickers/p/1kks",
        "http://image.jeuxvideo.com/stickers/p/1ljo",
        "http://image.jeuxvideo.com/stickers/p/1ljp",
        "http://image.jeuxvideo.com/stickers/p/1kkt",
        "http://image.jeuxvideo.com/stickers/p/1lmm",
        "http://image.jeuxvideo.com/stickers/p/1kku",
        "http://image.jeuxvideo.com/stickers/p/1kkv",
        "http://image.jeuxvideo.com/stickers/p/1mqw",
        "http://image.jeuxvideo.com/stickers/p/1rzs",
        "http://image.jeuxvideo.com/stickers/p/1mqz",
        "http://image.jeuxvideo.com/stickers/p/1nu9"
    ];
    var _stickers_saumon = [
        "http://image.jeuxvideo.com/stickers/p/1lmj",
        "http://image.jeuxvideo.com/stickers/p/1nua",
        "http://image.jeuxvideo.com/stickers/p/1nub",
        "http://image.jeuxvideo.com/stickers/p/1mqv",
        "http://image.jeuxvideo.com/stickers/p/1nu7",
        "http://image.jeuxvideo.com/stickers/p/1lmi",
        "http://image.jeuxvideo.com/stickers/p/1lml",
        "http://image.jeuxvideo.com/stickers/p/1lmo",
        "http://image.jeuxvideo.com/stickers/p/1lmp",
        "http://image.jeuxvideo.com/stickers/p/1mqx",
        "http://image.jeuxvideo.com/stickers/p/1mqy",
        "http://image.jeuxvideo.com/stickers/p/1mr0",
        "http://image.jeuxvideo.com/stickers/p/1mr1",
        "http://image.jeuxvideo.com/stickers/p/1nu6",
        "http://image.jeuxvideo.com/stickers/p/1nu8"
    ];
    var _stickers_brid = [
        "http://image.jeuxvideo.com/stickers/p/1jnd",
        "http://image.jeuxvideo.com/stickers/p/1jnc",
        "http://image.jeuxvideo.com/stickers/p/1jne",
        "http://image.jeuxvideo.com/stickers/p/1jnf",
        "http://image.jeuxvideo.com/stickers/p/1jng",
        "http://image.jeuxvideo.com/stickers/p/1jnh",
        "http://image.jeuxvideo.com/stickers/p/1jni",
        "http://image.jeuxvideo.com/stickers/p/1jnj"
    ];
    var _stickers_rex = [
        "http://image.jeuxvideo.com/stickers/p/1lm9",
        "http://image.jeuxvideo.com/stickers/p/1lma",
        "http://image.jeuxvideo.com/stickers/p/1lmb",
        "http://image.jeuxvideo.com/stickers/p/1lmc",
        "http://image.jeuxvideo.com/stickers/p/1lmd",
        "http://image.jeuxvideo.com/stickers/p/1lme",
        "http://image.jeuxvideo.com/stickers/p/1lmf",
        "http://image.jeuxvideo.com/stickers/p/1lmg"
    ];
    var _stickers_fluffy = [
        "http://image.jeuxvideo.com/stickers/p/1kl8",
        "http://image.jeuxvideo.com/stickers/p/1klb",
        "http://image.jeuxvideo.com/stickers/p/1kl9",
        "http://image.jeuxvideo.com/stickers/p/1kl7",
        "http://image.jeuxvideo.com/stickers/p/1kl5",
        "http://image.jeuxvideo.com/stickers/p/1kl6",
        "http://image.jeuxvideo.com/stickers/p/1kl2",
        "http://image.jeuxvideo.com/stickers/p/1kl1",
        "http://image.jeuxvideo.com/stickers/p/1kl3",
        "http://image.jeuxvideo.com/stickers/p/1kky",
        "http://image.jeuxvideo.com/stickers/p/1kkz",
        "http://image.jeuxvideo.com/stickers/p/1kla",
        "http://image.jeuxvideo.com/stickers/p/1kl4",
        "http://image.jeuxvideo.com/stickers/p/1kl0"
    ];
    var _stickers_grukklama = [
        "http://image.jeuxvideo.com/stickers/p/1lgg",
        "http://image.jeuxvideo.com/stickers/p/1lgb",
        "http://image.jeuxvideo.com/stickers/p/1lga",
        "http://image.jeuxvideo.com/stickers/p/1lgc",
        "http://image.jeuxvideo.com/stickers/p/1lgd",
        "http://image.jeuxvideo.com/stickers/p/1lge",
        "http://image.jeuxvideo.com/stickers/p/1lgf",
        "http://image.jeuxvideo.com/stickers/p/1lgh",
        "http://image.jeuxvideo.com/stickers/p/1kgx",
        "http://image.jeuxvideo.com/stickers/p/1kgv",
        "http://image.jeuxvideo.com/stickers/p/1kgw",
        "http://image.jeuxvideo.com/stickers/p/1kgy",
        "http://image.jeuxvideo.com/stickers/p/1kgu",
        "http://image.jeuxvideo.com/stickers/p/1kh0",
        "http://image.jeuxvideo.com/stickers/p/1kh1",
        "http://image.jeuxvideo.com/stickers/p/1kgz"
    ];
    var _stickers_bud = [
        "http://image.jeuxvideo.com/stickers/p/zuc",
        "http://image.jeuxvideo.com/stickers/p/zu2",
        "http://image.jeuxvideo.com/stickers/p/zu6",
        "http://image.jeuxvideo.com/stickers/p/zu7",
        "http://image.jeuxvideo.com/stickers/p/zu8",
        "http://image.jeuxvideo.com/stickers/p/zu9",
        "http://image.jeuxvideo.com/stickers/p/zua",
        "http://image.jeuxvideo.com/stickers/p/zub",
        "http://image.jeuxvideo.com/stickers/p/1f88",
        "http://image.jeuxvideo.com/stickers/p/1f89",
        "http://image.jeuxvideo.com/stickers/p/1f8a",
        "http://image.jeuxvideo.com/stickers/p/1f8b",
        "http://image.jeuxvideo.com/stickers/p/1f8d",
        "http://image.jeuxvideo.com/stickers/p/1f8e",
        "http://image.jeuxvideo.com/stickers/p/1f8f"
    ];
    var _stickers_euro = [
        "http://image.jeuxvideo.com/stickers/p/1n1m",
        "http://image.jeuxvideo.com/stickers/p/1n1n",
        "http://image.jeuxvideo.com/stickers/p/1n1t",
        "http://image.jeuxvideo.com/stickers/p/1n1q",
        "http://image.jeuxvideo.com/stickers/p/1n1s",
        "http://image.jeuxvideo.com/stickers/p/1n1o"
    ];
    var _stickers_larspon = [
        "http://image.jeuxvideo.com/stickers/p/1lt9",
        "http://image.jeuxvideo.com/stickers/p/1lte",
        "http://image.jeuxvideo.com/stickers/p/1ltd",
        "http://image.jeuxvideo.com/stickers/p/1li4",
        "http://image.jeuxvideo.com/stickers/p/1jc3-fr",
        "http://image.jeuxvideo.com/stickers/p/1li5",
        "http://image.jeuxvideo.com/stickers/p/1n2d",
        "http://image.jeuxvideo.com/stickers/p/1n2i",
        "http://image.jeuxvideo.com/stickers/p/1n2j",
        "http://image.jeuxvideo.com/stickers/p/1n2m"
    ];


    var _stickers_fav = [];


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


    function idTextarea() {
        if (window.location.href.indexOf("messages-prives/message.php?") > -1) {
            return "#message";
        } else {
            return "#message_topic";
        }
    }

    // MAIN APPEND
    var newStickers = '<div style="position: relative">\
                        <div id="fav" class="new-stickers"></div>\
                        <div id="hap" class="new-stickers"></div>\
                        <div id="noel" class="new-stickers"></div>\
                        <div id="saumon" 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="grukklama" 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>';
    $(newStickers).insertAfter('.jv-editor-toolbar');



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

    // APPENDS
    let toolbar = document.querySelector(".jv-editor-toolbar")
    let imgBtnGroup = toolbar.querySelectorAll(".btn-group")[2]
    //btns = imgBtnGroup.querySelectorAll("button")
    let stickersBtn = document.createElement("button")
    stickersBtn.classList.add("btn")
    stickersBtn.classList.add("btn-jv-editor-toolbar")
    stickersBtn.setAttribute("id", "active-script")
    stickersBtn.setAttribute("type", "button")
    stickersBtn.innerHTML = "s"
    stickersBtn.style.lineHeight = "0"
    imgBtnGroup.appendChild(stickersBtn)
    $(".new-stickers").append('<div code="hap" id="hap-css" title="Hap" class="cat-stickers"></div>\
                               <div code="noel" id="noel-css" title="Noel" class="cat-stickers"></div>\
                               <div code="saumon" id="saumon-css" title="Saumon" class="cat-stickers"></div>\
                               <div code="brid" id="brid-css" title="Bridgely" class="cat-stickers"></div>\
                               <div code="rex" id="rex-css" title="Rex ryder" class="cat-stickers"></div>\
                               <div code="fluffy" id="fluffy-css" title="Fluffy" class="cat-stickers"></div>\
                               <div code="grukklama" id="grukklama-css" title="Grukk & Lama" class="cat-stickers"></div>\
                               <div code="bud" id="bud-css" title="Bud" class="cat-stickers"></div>\
                               <div code="euro" id="euro-css" title="Euro" class="cat-stickers"></div>\
                               <div code="larspon" id="larspon-css" title="Larry & Sponsos" class="cat-stickers"></div>');

    // AJOUT STICKERS
    for (var i = 0; i < _stickers_hap.length; i++) {
        $(".new-stickers#hap").append( '<img src="'+_stickers_hap[i]+'" class="stickers-script">' );
    }
    for (var k = 0; k < _stickers_noel.length; k++) {
        $(".new-stickers#noel").append( '<img src="'+_stickers_noel[k]+'" class="stickers-script">' );
    }
    for (var lz = 0; lz < _stickers_saumon.length; lz++) {
        $(".new-stickers#saumon").append( '<img src="'+_stickers_saumon[lz]+'" class="stickers-script">' );
    }
    for (var n = 0; n < _stickers_brid.length; n++) {
        $(".new-stickers#brid").append( '<img src="'+_stickers_brid[n]+'" class="stickers-script">' );
    }
    for (var j = 0; j < _stickers_rex.length; j++) {
        $(".new-stickers#rex").append( '<img src="'+_stickers_rex[j]+'" class="stickers-script">' );
    }
    for (var fff = 0; fff < _stickers_fluffy.length; fff++) {
        $(".new-stickers#fluffy").append( '<img src="'+_stickers_fluffy[fff]+'" class="stickers-script">' );
    }
    for (var gr = 0; gr < _stickers_grukklama.length; gr++) {
        $(".new-stickers#grukklama").append( '<img src="'+_stickers_grukklama[gr]+'" class="stickers-script">' );
    }
    for (var bd = 0; bd < _stickers_bud.length; bd++) {
        $(".new-stickers#bud").append( '<img src="'+_stickers_bud[bd]+'" class="stickers-script">' );
    }
    for (var euo = 0; euo < _stickers_euro.length; euo++) {
        $(".new-stickers#euro").append( '<img src="'+_stickers_euro[euo]+'" class="stickers-script">' );
    }
    for (var lx = 0; lx < _stickers_larspon.length; lx++) {
        $(".new-stickers#larspon").append( '<img src="'+_stickers_larspon[lx]+'" class="stickers-script">' );
    }
    for (var fv = 0; fv < _stickers_fav.length; fv++) {
        $(".new-stickers#fav").append( '<img src="'+_stickers_fav[fv]+'" class="stickers-script sticker-fav">' );
    }


    // Context menu
    var context = $('.new-stickers').nuContextMenu({

        hideAfterClick: true,

        items: '.stickers-script.sticker-fav',

        callback: function(key, element) {
            if ( key == 'del' ) {
                $(element).remove();
                var index = _stickers_fav.indexOf( $(element).attr("src") );
                if (index > -1) {
                    _stickers_fav.splice(index, 1);
                    if (_stickers_fav.length < 1) {
                        $("#fav").append('<p id="aucunFav">Vous n\'avez aucun sticker dans vos favoris.</p>');
                    }
                }
            }
        },

        menu: [
        ]

    });

    var context2 = $('body').nuContextMenu({

        hideAfterClick: true,

        items: '.stickers-script:not(.sticker-fav)',

        callback: function(key, element) {
            if ( key == 'add' ) {
                var n = $(element).attr("src");
                if (_stickers_fav.indexOf(n) > -1) {
                    // Le sticker est déjà en fav
                } else {
                    if ($("#aucunFav").length > 0) { $("#aucunFav").remove(); }
                    $("#fav").append('<img src="'+n+'" class="stickers-script sticker-fav">');
                    $(".stickers-script").off("click"); // Destroy click event stickers
                    stickersEvent();
                    _stickers_fav.push(n);
                    // Store fav
                }
            }
        },

        menu: [

        ]

    });

    // LISTENERS
    function stickersEvent() {
        $(".stickers-script").click(function() {
            // Get sticker code
            var code = getCode( $(this) );
            //$("#message_topic").val($("#message_topic").val() + " [[sticker:p/"+code+"]]");
            var $textarea = jQuery(idTextarea());
            var caretPos = $textarea[0].selectionStart;
            var textAreaTxt = $textarea.val();

            var sticker = "[[sticker:p/"+code+"]] ";

            $textarea.val(textAreaTxt.substring(0, caretPos) + sticker + textAreaTxt.substring(caretPos) );
            $textarea.focus();
        });
    }
    stickersEvent();

    $(".cat-stickers").click(function() {
        var id = $(this).attr("code");
        // Sauvegarde du choix dans le localStorage
        localStorage.setItem('currentDiv', id);
        $(".new-stickers").each(function() {
            if ( $(this).attr("id") == id ) {
                $(this).show();
                if (currentDiv != id) {
                    $("#"+currentDiv).hide();
                    currentDiv = id;
                }
            }
        });
    });

    // NICE SCROLL
    var lastScrollTop = 0;
    var ft_up         = false;
    var ft_down       = false;
    $(".new-stickers").scroll(function() {
        //console.log($(this).scrollTop());
        var st = $(this).scrollTop();
        //console.log(st);
        if (st > lastScrollTop) {
            if (!ft_up) {
                if (st < 50) {
                    ft_up = true;
                    $(this).scrollTop(50);
                }
            }
        } else {
            if (!ft_down) {
                if (st > 50) {
                    ft_down = true;
                    $(this).scrollTop(50);
                }
            }
        }
        lastScrollTop = st;

        // Taille div
        if ($(this).scrollTop() != 0) { // Pas en haut de la div
            $(".cat-stickers").hide(55);
        } else {
             // En haut de la div
            $(".cat-stickers").show(55);
            ft_up   = false;
            ft_down = false;
        }
        if ( $(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight ) {
            // En bas de la div
            ft_up   = false;
            ft_down = false;
        }
    });

    // Active script
    $(".new-stickers#"+currentDiv).hide(0);
    $("#active-script").click(function() {
        if ( $(".new-stickers").is(":visible") ) {
            $(this).removeClass("active");
            $(".new-stickers#"+currentDiv).hide(80);
        } else {
            $(this).addClass("active");
            $(".new-stickers#"+currentDiv).show(80);
            $(".new-stickers").css("overflow", "auto");
        }
    });

    // TOOLTIPS
    $(document).ready(function() {
        $(".cat-stickers").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
    //GM_addStyle(".new-stickers:hover { background-color: #f9f9f9; }");
    // Scrollbar
    if (!$.browser.mozilla) {
        GM_addStyle(".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; }");
    }

    GM_addStyle(".stickers-script { height: 50px; width: 50px; cursor: pointer; padding: 2px; }");

    GM_addStyle(".cat-stickers:hover { border: none; ");
    GM_addStyle(".cat-stickers#hap-css { left: 5px; background-image: url('https://i.imgur.com/QiaEFm9.png'); }\
                 .cat-stickers#noel-css { left: 30px; background-image: url('https://i.imgur.com/xrdqIkA.png'); }\
                 .cat-stickers#saumon-css { left: 55px; background-image: url('http://image.jeuxvideo.com/stickers/p/1mqv'); }\
                 .cat-stickers#brid-css { left: 80px; background-image: url('http://image.jeuxvideo.com/stickers/p/1jnh'); }\
                 .cat-stickers#rex-css { left: 105px; background-image: url('https://i.imgur.com/hc1pY1o.png'); }\
                 .cat-stickers#fluffy-css { left: 130px; background-image: url('http://image.jeuxvideo.com/stickers/p/1kl8'); }\
                 .cat-stickers#grukklama-css { left: 155px; background-image: url('https://i.imgur.com/raQso5Z.png'); }\
                 .cat-stickers#bud-css { left: 180px; background-image: url('https://i.imgur.com/bYjXcMU.png'); }\
                 .cat-stickers#euro-css { left: 205px; background-image: url('http://image.jeuxvideo.com/stickers/p/1n1m'); }\
                 .cat-stickers#larspon-css { left: 230px; background-image: url('http://image.jeuxvideo.com/stickers/p/1lte'); }");
    // Script title
    GM_addStyle(".script-title { font-family: 'robotoboldcondensed' ,Arial,Helvetica,sans-serif; text-transform: uppercase; font-size: 0.75rem; color: #656574 }");
    // Stickers panel
    GM_addStyle(".new-stickers { border-top: 1px solid #ccc; padding: 2px; margin-top: 8px; height: 75px; transition: background-color 0.1s; overflow: auto; text-align: center; padding-top: 10px; scroll-behavior: smooth; }");
    // Catégories
    GM_addStyle(".cat-stickers { position: absolute; top:-8px; background-color: #E6E6E6; box-shadow: 0px 2px 2px #e0e0e0 ; border: 1px solid #ccc; border-radius: 50px; height: 16px; width: 16px; cursor: pointer; background-size: cover; background-repeat: no-repeat; background-position: center center; }");
    // Hover stickers
    GM_addStyle(".stickers-script:hover { background-color: rgba(185, 185, 185, 0.5); border-radius: 3px; }");
	if (document.URL.includes("jeuxvideo.com/messages-prives")){
		GM_addStyle(".stickers-script:hover { filter: grayscale(100%); }");
	}
    // Hover cat
    GM_addStyle(".cat-stickers:hover { box-shadow: 0px 2px 8px #b5b5b5; }");
})();