silIShINo / onliner-3-percent

// ==UserScript==
// @name         onliner-3-percent
// @namespace    ooo
// @version      0.1
// @description  Clean onliner.by comments!
// @author       You
// @match        *://*.onliner.by/*
// @grant        none
// @require http://code.jquery.com/jquery-3.4.1.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-throttle-debounce/1.1/jquery.ba-throttle-debounce.js
// @license MIT
// @copyright 2020, silIShINo (https://openuserjs.org/users/silIShINo)
// ==/UserScript==

(function () {
  'use strict';

  // кол-во минусов для транклюкации
  var MINUS_LIMIT = 5;
  // соотношение минусов к плюсам
  var PLUS_MINUS_RATIO = 2;
  // IT-рота
  var IT_SQUAD = ['ЛёхаCилос', 'падлoчка', 'natasha_razdvigaeva'];

  var транклюкатор = function (comment) {
    comment.css({
      'opacity': '0.4'
    });
    comment.hover(
      function () {
        $(this).css("opacity", "1");
      },
      function () {
        $(this).css("opacity", "0.4");
      }
    );
  }

  var clean = function () {
    var selector = 'a.like-control.news-comment__button.news-comment__button_counter.news-comment__button_counter_down';

    $(selector).each(function (index) {
      var minus = parseInt($(this).text()) || 0;
      var plus = parseInt($(this).siblings().text()) || 1;
      // console.log(minus + " : " + plus);
      if (minus >= MINUS_LIMIT && (minus / plus > PLUS_MINUS_RATIO)) {
        var comment = $(this).parents('.news-comment__unit');
        comment.children('.news-comment__speech').css({
          'font-size': '0.7rem',
          'line-height': '0.8'
        });
        транклюкатор(comment);
        транклюкатор(comment.siblings('.news-comment__talk'));
      }
    });

    $('div.news-comment__name').each(function (index) {
      if (IT_SQUAD.indexOf($(this).text()) >= 0) {
        var comment = $(this).parents('.news-comment__unit');
        comment.hide();
      }
    });
  }

  // запуск при открытии страницы
  clean();

  // для подгруженных
  $("#comments-list").bind("DOMSubtreeModified", Cowboy.debounce(500, function (e) {
    // console.log("tree changed");
    clean();
  }));

})();