MediaWiki:Common.js: Unterschied zwischen den Versionen
Aus Phoenix-Larp Wiki
Becko (Diskussion | Beiträge) Klonen der Benutzer-Werkzeuge in die linke Seitenleiste entfernt |
Becko (Diskussion | Beiträge) Abgemeldete Besucher: statt IP-Adresse "Anmelden" oben rechts anzeigen (direkt verlinkt) |
||
| Zeile 53: | Zeile 53: | ||
$list.append($li); | $list.append($li); | ||
} | } | ||
}); | |||
// Fuer abgemeldete Besucher: statt der IP-Adresse "Anmelden" oben rechts | |||
// anzeigen und direkt zur Anmeldeseite verlinken | |||
mw.loader.using(['mediawiki.util']).done(function () { | |||
if (mw.config.get('wgUserId')) return; // nur fuer abgemeldete Benutzer | |||
var $label = $('#p-personal-label'); | |||
if (!$label.length) return; | |||
var $loginLink = $('#pt-login a').first(); | |||
var href = $loginLink.length | |||
? $loginLink.attr('href') | |||
: mw.util.getUrl('Spezial:Anmelden', { returnto: mw.config.get('wgPageName') }); | |||
$label.empty().append($('<a></a>').attr('href', href).text('Anmelden')); | |||
}); | }); | ||
Version vom 8. September 2026, 08:29 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
mw.loader.using(['mediawiki.util']).done(function () {
// Nur auf schmalen Screens aktiv
if (!window.matchMedia('(max-width: 768px)').matches) return;
// Burger-Button einfügen (mit ARIA)
var $btn = $('<button class="mw-burger" aria-label="Menü" aria-controls="column-navigation" aria-expanded="false"><span></span></button>');
$('body').append($btn);
// Overlay zum Schließen
var $overlay = $('<div class="nav-overlay" tabindex="-1" aria-hidden="true"></div>');
$('body').append($overlay);
function closeMenu() {
$('body').removeClass('nav-open');
$btn.attr('aria-expanded', 'false');
}
function toggleMenu() {
var open = !$('body').hasClass('nav-open');
$('body').toggleClass('nav-open', open);
$btn.attr('aria-expanded', String(open));
}
$btn.on('click', toggleMenu);
$overlay.on('click', closeMenu);
$(document).on('keydown', function (e) { if (e.key === 'Escape') closeMenu(); });
// Schließt das Menü, wenn Viewport wieder breit wird
window.matchMedia('(min-width: 769px)').addEventListener('change', function (mql) {
if (mql.matches) closeMenu();
});
});
// Admin-Link zu den Spezialseiten im persönlichen Menü
mw.loader.using(['mediawiki.util']).done(function () {
var groups = mw.config.get('wgUserGroups') || [];
if (groups.indexOf('sysop') === -1) return;
if (document.getElementById('pt-specialpages')) return;
var $list = $('#p-personal .mw-portlet-body ul').first();
if (!$list.length) return;
var $li = $('<li id="pt-specialpages" class="mw-list-item"></li>');
var $a = $('<a></a>').attr('href', mw.util.getUrl('Special:Spezialseiten')).text('Spezialseiten');
$li.append($a);
var $logout = $('#pt-logout');
if ($logout.length) {
$logout.before($li);
} else {
$list.append($li);
}
});
// Fuer abgemeldete Besucher: statt der IP-Adresse "Anmelden" oben rechts
// anzeigen und direkt zur Anmeldeseite verlinken
mw.loader.using(['mediawiki.util']).done(function () {
if (mw.config.get('wgUserId')) return; // nur fuer abgemeldete Benutzer
var $label = $('#p-personal-label');
if (!$label.length) return;
var $loginLink = $('#pt-login a').first();
var href = $loginLink.length
? $loginLink.attr('href')
: mw.util.getUrl('Spezial:Anmelden', { returnto: mw.config.get('wgPageName') });
$label.empty().append($('<a></a>').attr('href', href).text('Anmelden'));
});