Fluffy_Stick_JV

StickersJVC vous permet d'utiliser les stickers JVC rapidement.

目前为 2023-09-27 提交的版本。查看 最新版本

// ==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        https://*.jeuxvideo.com/messages-prives/nouveau.php*
// @match        https://*.jeuxvideo.com/messages-prives/message.php*
// @match        https://*.jeuxvideo.com/forums/42-*
// @match        https://*.jeuxvideo.com/forums/1-*
// @match        https://*.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
// @grant        GM_getValue
// @grant        GM_setValue
// @version      0.4.3_v51
// @icon         https://i.imgur.com/NHTdDRb.png
// @license      MIT
// ==/UserScript==

/*
StickersJVC. 2018-2023.
Codé par ImThatGuy edit Shuichi

*/


//____________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__________________

/*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 = "fav";
	// 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"

	];
	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"
	];

	// Favoris
	//GM_setValue("st-fav", "");
	var _stickers_fav = [];
	if (GM_getValue("st-fav")) {
		_stickers_fav = JSON.parse(GM_getValue("st-fav"));
	}

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

	function darkJVC() {
		if ( $("body").css("background-color") == "rgb(18, 18, 18)" ) {
			return true;
		} else {
			return false;
		}
	}

	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');

	if (_stickers_fav.length < 1) {
		$("#fav").append('<p id="aucunFav">Vous n\'avez aucun sticker dans vos favoris.</p>');
		currentDiv = "fluffy";
	} // Check s'il y a des fav

	// 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("style", "filter: grayscale(1)")
    stickersBtn.setAttribute("type", "button")
    stickersBtn.innerHTML = "s"
    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>');
					}
					GM_setValue("st-fav", JSON.stringify(_stickers_fav));
				}
			}
		},

		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
					GM_setValue("st-fav", JSON.stringify(_stickers_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");
		$(".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('https://i.imgur.com/Y2X5sc9.png'); }\
                 .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'); }");
	if (darkJVC()) {
		GM_addStyle(".input-on-off:checked ~ .btn-on-off, .btn-on-off.active, .btn-on-off.label-support.active-mach-version { background: url('https://jvcpremium.000webhostapp.com/files/on-off-dark.svg') 26px top!important; }");
		// Script title
		GM_addStyle(".script-title { font-family: 'robotoboldcondensed' ,Arial,Helvetica,sans-serif; text-transform: uppercase; font-size: 0.75rem; color: #d4d4d4 }");
		// Stickers panel
		GM_addStyle(".new-stickers { border-top: 1px solid #555; 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 #333 ; border: 1px solid #333; 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: #DADADA; border-radius: 3px; }");
		// Hover cat
		GM_addStyle(".cat-stickers:hover { box-shadow: 0px 2px 8px #222; }");
	} else {
		// 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: #DADADA; border-radius: 3px; }");
		// Hover cat
		GM_addStyle(".cat-stickers:hover { box-shadow: 0px 2px 8px #b5b5b5; }");
	}

})();