Greasy Fork

JVC réponse live

Répondez plus facilement à quelqu'un et voyez qui vous a répondu

目前为 2017-02-21 提交的版本。查看 最新版本

// ==UserScript==
// @name         JVC réponse live
// @namespace    http://www.jeuxvideo.com/
// @version      1.0.2
// @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
// ==/UserScript==

(function() {
    'use strict';
    var pseudoJVC;
    var dateT = new Date();
    var rTime = dateT.getTime();
    var iAmTheMaster = false;
    var idMaster = Math.random();

    var last_response = null;
    var last_response_id = null;

    add_picto_delete();

    function add_picto_delete(){
        $('.jv-editor-toolbar').prepend('<span id="jvc-respond-citation"  style="cursor:pointer;display:none;margin-left: 8px;margin-top: 4px; width: 16px; height: 16px;background: url(http://static.jvc.gg/1.44.4/img/forum/icones-messages.png) -160px 0 no-repeat;" class="pull-right picto-delete-citation" ></span>');
    }

    function reset_form(){
        $("#bloc-formulaire-forum").insertAfter('.bloc-pre-pagi-forum.bloc-outils-bottom');
        $('#jvc-respond-citation').hide();
    }

    $('#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(message) {
        message.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){
                reset_form();
                response_bloc.insertAfter('.bloc-message-forum[data-id="'+ last_response_id +'"]');
                last_response_id = last_response = undefined;

                response_bloc.css('margin-left','20px');
                response_bloc.css('background-color','#e6e6e6!important');


            }

        }

        checkIfNotif();

    });

    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');
                            var pseudo = main.find('.bloc-header a').html().trim();

                        }

                    }
                });
            });
        }
    }

    checkIfNotif();

})();