MediaWiki:Gadget-markadmins-lite.js

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/**
 * MarkAdmins-Lite
 * inspiriert vom großen, komplexen Commons-Tool...
 * ... und einfach mal deutlich abgespeckt. 
 * 
 * Version: 1.1
 * Funktion: Hängt Gruppenkürzel (A, B, IA) an Benutzernamen an.
 * Gruppen werden direkt im Skript gepflegt.
 * @author [[Benutzer:Muke86]]
 */

(function (mw, $) {
'use strict';

console.log('[MarkAdmins-Lite] gestartet');

// Zuordnung Benutzer → Gruppen
const adminMap = {
	'WikiMeister': ['A', 'B'],
	'Muke86': ['A', 'IA', 'B'],
	'KNIGHT': ['Bot', 'A'],
};

// Gruppensymbole / Labels
const groupLabels = {
	A: 'Admin',
	B: 'Bürokrat',
	IA: 'Oberflächenadmin',
	Bot: 'Bot'
};

function markAdmins() {
	$('a.mw-userlink').each(function () {
		const $link = $(this);
		const username = $link.text().trim();

		// Verhindert doppelte Markierung
		if ($link.next('.marked-admin').length) return;

		const groups = adminMap[username];
		if (groups) {
			const label = groups.join('⋄');
			const title = groups.map(g => groupLabels[g] || g).join(', ');

			const $mark = $('<span>')
				.text(' (' + label + ')')
				.attr('title', title)
				.css({ fontWeight: 'bold' })
				.addClass('marked-admin');

			$link.after($mark);
		}
	});
}

$(markAdmins);
mw.hook('wikipage.content').add(markAdmins);

}(mediaWiki, jQuery));