|
|
| Zeile 1: |
Zeile 1: |
| /* Das folgende JavaScript wird für alle Benutzer geladen. */ | | /* Das Burger-Menü-JavaScript, der Admin-Link zu den Spezialseiten und die 'Anmelden'-Beschriftung für abgemeldete Besucher wurden in den PhoenixSkin-Fork übernommen (resources/phoenix-custom.js) und hier entfernt, da PhoenixSkin seit 2026-09-08 der Standard-Skin des Wikis ist. */ |
| 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'));
| |
| });
| |