Firepatrol

Mark changes as patrolled on MediaWiki wikis.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

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

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

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

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name			Firepatrol
// @version			4.2.2
// @namespace		itsafeature.org
// @description	    Mark changes as patrolled on MediaWiki wikis.
// @icon            data:image/png;base64,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
// @match           https://*/*diff=*
// @match           https://*/*action=markpatrolled*
// @match           https://*/*wiki*
// @grant           window.close
// @grant           GM_notification
// ==/UserScript==

// Firepatrol marks unreviewed (unpatrolled) changes as reviewed (patrolled).
// It uses the shortcut M. When the change has already been patrolled,
// you are taken to the next page.

let language = 1; // 0 is Dutch, 1 is English
let f9KeyEnabled = true; // Mark as patrolled with F9
let mKeyEnabled = true; // Mark as patrolled with m
let tKeyEnabled = true; // Send thanks with t
let closeTabAfterPatrol = true; // dom.allow_scripts_to_close_windows needs to be true in Firefox, in Chrome this won't work

(function(){

document.addEventListener('keydown', async function(e) {
	let patrolled = ["Gemarkeerd!", "Patrolled!"];
	let tryagain = ["Probeer opnieuw", "Try again"];
	let marking = ["Markeren als gecontroleerd...", "Marking as patrolled..."];

	const userLang = navigator.language;
	if(userLang.startsWith("nl-") || userLang == "nl"){
		language = 0;
	}

    function optionallyCloseTab(markedAsPatrolled){
        let timeout = 200;
        if(markedAsPatrolled == false) timeout = 0;

		// there is no next link
		if(closeTabAfterPatrol){
			setTimeout(function(){
				window.close();
			}, timeout);
		}
	}

	function doNextAction(nextLink, markedAsPatrolled){
		if(nextLink === null){
		 	optionallyCloseTab(markedAsPatrolled);
		}else{
			window.location.href = nextLink;
		}
	}

	async function doMark(){
        let nextLink = document.querySelector("#differences-nextlink");

        let patrolLink = document.querySelector(".patrollink");
        if(window.location.href.includes("diff") == false && window.location.href.includes("action=") == false){
            if(patrolLink == undefined){
                return; // Unwanted behaviour, nothing to mark
            }
        }

		if(patrolLink == undefined){
            doNextAction(nextLink, false);
            return;
		}
		patrolLink.getElementsByTagName("a")[0].click();
        const clicked = await GM.notification({ text: patrolled[language], timeout: 1000 });

		doNextAction(nextLink, true);
	}

    function sendThanks(){
        let thanksLink = document.querySelector(".mw-thanks-thank-link");
        if(thanksLink == undefined) return;
        thanksLink.click();

        setTimeout(function(){
            let thanksLink1 = document.querySelectorAll(".mw-thanks-thank-link")[1];
            thanksLink1.click();
        }, 100);
    }

    if (((f9KeyEnabled&& e.key == 'F9') || (mKeyEnabled && e.key == 'm')) && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) {
        // get mark as patrolled. If not available, this page might be already marked as patrolled
        let textContextPatrolLink = document.querySelector(".patrollink")?.getElementsByTagName("a")[0];
        if(textContextPatrolLink != undefined) textContextPatrolLink.textContent = marking[language];

        if(document.readyState == "complete"){
            await doMark();
        }
    }

    if(tKeyEnabled == true){
        if (e.key == 't' && !e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) {
            // Send thanks if possible. If not available, the user might be already thanked
            if(document.readyState == "complete"){
                sendThanks();
            }
        }
    }
}, false);

})();