// ==UserScript==
// @name JVChat Anti Cigarette
// @namespace http://tampermonkey.net/
// @version 0.1.11
// @description Quelques options en plus pour JVChat Premium
// @author NY_Yankees
// @match http://*.jeuxvideo.com/forums/42-*
// @grant GM_setValue
// @grant GM_getValue
// @downloadURL https://update.greasyfork.cloud/scripts/397861/JVChat%20Anti%20Cigarette.user.js
// @updateURL https://update.greasyfork.cloud/scripts/397861/JVChat%20Anti%20Cigarette.meta.js
// ==/UserScript==
(function() {
'use strict';
// CSS quasi c/c du code de JVChat pour garder le même style
let css = ``
// Bloc HTML des options
const blocOptions =`
`;
let pseudoPerso = "aloalol";
// Supprime les posts de ce fdp de cigarette
function ignorerCigarette(message, auteur) {
const cigarette = /^[0-9]*c[il]ga?re?[lt]{1,2}e[0-9]*$/;
if (cigarette.test(auteur.toLowerCase())) {
message.style.display = "none";
console.log(`Post de ${auteur} supprimé`);
}
}
// Met le post en surbrillance si l'on vous cite
function surbrillance(message, auteur) {
const text = message.querySelector(".txt-msg").textContent;
if (text.toLowerCase().includes(pseudoPerso.toLowerCase()) && pseudoPerso.toLowerCase() !== auteur.toLowerCase()) {
message.style.backgroundColor = "rgba(206, 209, 239, 0.6)";
}
}
// Met à jour les valeurs des checkbox dans le storage
function updateIgnore() {
GM_setValue("ignore", document.querySelector("#jvchat-ignore-checkbox").checked);
}
function updateHighlight() {
GM_setValue("highlight", document.querySelector("#jvchat-highlight-checkbox").checked);
}
addEventListener("jvchat:activation", () => {
pseudoPerso = document.querySelector("#jvchat-user-pseudo").textContent.trim();
const blocInfo = document.querySelector("#jvchat-topic-info");
blocInfo.insertAdjacentHTML("beforeend", blocOptions);
// Applique le css
document.head.insertAdjacentHTML("beforeend", css);
const ignoreCheckbox = document.querySelector("#jvchat-ignore-checkbox");
const highlightCheckbox = document.querySelector("#jvchat-highlight-checkbox");
highlightCheckbox.checked = GM_getValue("highlight", false);
ignoreCheckbox.checked = GM_getValue("ignore", false);
highlightCheckbox.onchange = updateHighlight;
ignoreCheckbox.onchange = updateIgnore;
});
addEventListener("jvchat:newmessage", event => {
const isIgnore = document.querySelector("#jvchat-ignore-checkbox").checked;
const isHighlightOn = document.querySelector("#jvchat-highlight-checkbox").checked;
const message = document.querySelector(`.jvchat-message[jvchat-id="${event.detail.id}"]`);
const auteur = message.querySelector(".jvchat-author").textContent.trim();
if (isHighlightOn) {
surbrillance(message, auteur);
}
if (isIgnore) {
ignorerCigarette(message, auteur);
}
})
})();