Habr: Return the votes

Returns votes under comments

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name            Habr: Return the votes
// @name:ru         Хабр: Верни голоса
// @description     Returns votes under comments
// @description:ru  Возвращает голоса под комментариями
// @namespace       com.habr.askornot
// @license         WTFPL
// @author          askornot
// @match           https://habr.com/*
// @version         0.0.4
// @compatible      chrome     Violentmonkey 2.18.0
// @compatible      firefox    Violentmonkey 2.18.0
// @homepageURL     https://greasyfork.org/ru/scripts/486661-habr-return-the-votes/
// @supportURL      https://greasyfork.org/ru/scripts/486661-habr-return-the-votes/feedback
// @run-at          document-start
// @noframes
// ==/UserScript==

(function () {
  'use strict';

  Object.defineProperty = new Proxy(Object.defineProperty, {
    apply(target, thisArg, argumentsList) {
      if (argumentsList[1] !== 'isLoggedIn') return Reflect.apply(target, thisArg, argumentsList);
      return target(argumentsList[0], argumentsList[1], {
        get() {
          if (
            Object.prototype.hasOwnProperty.call(this, '_') &&
            Object.prototype.hasOwnProperty.call(this._, 'type') &&
            Object.prototype.hasOwnProperty.call(this._.type, 'name') &&
            this._.type.name === 'TMVotesLever'
          )
            return true;
        },
      });
    },
  });
})();