wnacg-helper

A manga helper for wnacg.com

2024-07-22 या दिनांकाला. सर्वात नवीन आवृत्ती पाहा.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         wnacg-helper
// @namespace    https://www.wnacg.com/
// @version      0.0.1
// @author       dzh
// @description  A manga helper for wnacg.com
// @license      MIT
// @icon         https://vitejs.dev/logo.svg
// @match        https://www.wnacg.com/*
// ==/UserScript==

(function () {
  'use strict';

  (function() {
    $(document).ready(() => {
      observerImgList();
    });
    $(window).on("load", () => {
      $(document).keydown(handleKeydownEvent);
    });
    function observerImgList() {
      const targetNode = document.getElementById("img_list");
      if (!targetNode) return;
      const observer = new MutationObserver(handleMutationCallback);
      observer.observe(targetNode, {
        childList: true,
        subtree: true
      });
    }
    function handleMutationCallback(mutationList, observer) {
      mutationList.forEach((mutation) => {
        if (mutation.type === "childList") {
          autoChangeWidth();
        }
      });
    }
    function autoChangeWidth() {
      const imgList = document.querySelectorAll("#img_list img");
      imgList.forEach((img) => {
        img.style.width = "60%";
      });
    }
    function handleKeydownEvent(e) {
      switch (e.key) {
        case "=":
          plusWidth();
          break;
        case "-":
          minusWidth();
          break;
        case "r":
          autoChangeWidth();
          break;
      }
    }
    function plusWidth() {
      const imgList = document.querySelectorAll("#img_list img");
      const plusStep = 2;
      imgList.forEach((img) => {
        const width = parseInt(img.style.width);
        img.style.width = `${width + plusStep}%`;
      });
    }
    function minusWidth() {
      const imgList = document.querySelectorAll("#img_list img");
      const minusStep = 2;
      imgList.forEach((img) => {
        const width = parseInt(img.style.width);
        if (width <= 10) return;
        img.style.width = `${width - minusStep}%`;
      });
    }
  })();

})();