// ==UserScript== // @name JVC réponse live // @namespace http://www.jeuxvideo.com/ // @version 1.0.6 // @description Répondez plus facilement à quelqu'un et voyez qui vous a répondu // @author FriendsBeach // @match http://www.jeuxvideo.com/* // @match https://www.jeuxvideo.com/* // @require https://code.jquery.com/jquery-1.11.3.min.js // @grant GM_getValue // @grant GM_setValue // @downloadURL none // ==/UserScript== (function() { 'use strict'; var pseudoJVC; var dateT = new Date(); var rTime = dateT.getTime(); var iAmTheMaster = false; var idMaster = Math.random(); var reponses = []; var last_response ; var last_response_id ; add_picto_delete(); $('body').append('
'); function add_picto_delete(){ $('.jv-editor-toolbar').prepend(''); } function reset_form(){ $("#bloc-formulaire-forum").insertAfter('.bloc-pre-pagi-forum.bloc-outils-bottom'); $('#jvc-respond-citation').hide(); $('#message_topic').val(''); $('.previsu-editor').html(''); last_response_id = undefined; last_response = undefined; } $('#jvc-respond-citation').click(function(){ reset_form(); }); $('body').on('click', '.picto-msg-quote',function(){ var bloc = $(this).closest('.bloc-message-forum'); last_response = bloc; last_response_id = bloc.data('id'); $("#bloc-formulaire-forum").insertAfter('.bloc-message-forum[data-id="'+bloc.data('id')+'"]'); $('#jvc-respond-citation').show(); }); $('#bloc-formulaire-forum .titre-head-bloc').hide(); function scrollTo(element) { element.scrollIntoView(); } addEventListener('topiclive:newmessage', function(event){ var messageId = event.detail.id; var p = $('.bloc-message-forum[data-id="'+ messageId +'"] .bloc-pseudo-msg').html().trim(); if(p.toLowerCase() == pseudoJVC.toLowerCase()){ var response_bloc = $('.bloc-message-forum[data-id="'+ messageId +'"]'); if(last_response !== undefined){ response_bloc.insertAfter('.bloc-message-forum[data-id="'+ last_response_id +'"]'); response_bloc.find('blockquote').css('background', 'rgba(255, 123, 123, 0.12)'); reset_form(); response_bloc.css('margin-left','20px'); response_bloc.css('background-color','#e6e6e6!important'); } } checkIfNotif(); }); $('#nb-reponses').click(function(){ if(reponses.length > 0){ var id = reponses[0]; var element = $('.bloc-message-forum[data-id="'+id+'"]')[0]; scrollTo(element); reponses.splice(0, 1); refresh_reponses(); } }); function refresh_reponses(){ $('#nb-reponses').html(reponses.length); if(reponses.length > 0 ){ $('#nb-reponses').css('background','#a3b34b'); }else{ $('#nb-reponses').css('background','gray'); } } function debug(msg){ console.log('[ JVC-NOTIF ] - ' + msg); } (function getPseudo() { pseudoJVC = document.getElementsByClassName("account-pseudo")[0].innerHTML; })(); function checkIfNotif() { debug('Check notification'); if(pseudoJVC !== undefined) { $('.bloc-message-forum').each(function(){ var id = $(this).data('id'); var main = $(this); if(main.data('done') == 'yes') return true; main.data('done','yes'); $(this).find('.bloc-contenu .blockquote-jv').each(function(){ var parent = $(this).parent(); if(parent.attr('class') == 'blockquote-jv'){ return true; } var p = $(this).find('p'); if(p){ p = p[0]; var html = $(p).html(); var index = html.indexOf(pseudoJVC); if(index != -1){ $(this).css('background','beige'); reponses.push(id); refresh_reponses(); } } }); }); } } checkIfNotif(); })();