MediaWiki:Common.js: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 22: | Zeile 22: | ||
/*********************** | /*********************** | ||
* 1) Suche: Vector-Sticky-Header-Modul verwenden | |||
***********************/ | |||
var $stickySearchIcon = $('.vector-sticky-header-icon-start').first(); | var $stickySearchIcon = $('.vector-sticky-header-icon-start').first(); | ||
if ($stickySearchIcon.length) { | if ($stickySearchIcon.length) { | ||
// Original | // Icon klonen, damit das Original im versteckten Sticky-Header bleibt | ||
$stickySearchIcon | var $searchClone = $stickySearchIcon.clone(true); | ||
$searchClone | |||
.appendTo($left) | .appendTo($left) | ||
.addClass('pixo-header-icon'); | .addClass('pixo-header-icon') | ||
.on('click', function (e) { | |||
e.preventDefault(); | |||
// Klick an das Original-Icon im Sticky-Header weiterreichen | |||
$stickySearchIcon.trigger('click'); | |||
}); | |||
} else { | } else { | ||
console.warn('Sticky-Header-Suchicon nicht gefunden'); | console.warn('Sticky-Header-Suchicon nicht gefunden'); | ||
Version vom 5. März 2026, 04:50 Uhr
mw.loader.using(['jquery', 'mediawiki.util', 'mediawiki.user']).done(function () {
$(function () {
var $body = $('body');
/***********************
* Eigenen Header einfügen
***********************/
var headerHtml = '' +
'<div id="pixo-custom-header">' +
'<div id="pixo-custom-header-inner">' +
'<div id="pixo-custom-header-left"></div>' +
'<div id="pixo-custom-header-center"></div>' +
'<div id="pixo-custom-header-right"></div>' +
'</div>' +
'</div>';
$body.prepend(headerHtml);
var $left = $('#pixo-custom-header-left');
var $center = $('#pixo-custom-header-center');
var $right = $('#pixo-custom-header-right');
/***********************
* 1) Suche: Vector-Sticky-Header-Modul verwenden
***********************/
var $stickySearchIcon = $('.vector-sticky-header-icon-start').first();
if ($stickySearchIcon.length) {
// Icon klonen, damit das Original im versteckten Sticky-Header bleibt
var $searchClone = $stickySearchIcon.clone(true);
$searchClone
.appendTo($left)
.addClass('pixo-header-icon')
.on('click', function (e) {
e.preventDefault();
// Klick an das Original-Icon im Sticky-Header weiterreichen
$stickySearchIcon.trigger('click');
});
} else {
console.warn('Sticky-Header-Suchicon nicht gefunden');
}
/***********************
* 2) Logo + Titel in die Mitte
***********************/
var $logoLink = $('.mw-logo').first();
if ($logoLink.length) {
$logoLink
.appendTo($center)
.css({ margin: 0 });
} else {
// Fallback, falls kein .mw-logo vorhanden ist
var $home = $('<a>', {
href: mw.util.getUrl('Start'),
class: 'pixo-header-icon',
title: 'Startseite'
}).text('Pixopedia');
$center.append($home);
}
/***********************
* 3) Benutzerbereich rechts
***********************/
var userName = mw.config.get('wgUserName'); // null, wenn nicht angemeldet
if (userName) {
// angemeldeter User: vorhandene Menüs verwenden
var $userPage = $('#p-vector-user-menu-userpage').first();
var $userMenu = $('#vector-user-links-dropdown').first();
if ($userPage.length) {
$userPage
.appendTo($right)
.addClass('pixo-header-icon');
}
if ($userMenu.length) {
$userMenu
.appendTo($right)
.addClass('pixo-header-icon');
}
} else {
// Kein Login: Registrieren + Login Icons
var $register = $('<a>', {
href: mw.util.getUrl('Special:CreateAccount'),
class: 'pixo-header-icon',
title: 'Benutzer registrieren'
}).text('✚');
var $login = $('<a>', {
href: mw.util.getUrl('Special:UserLogin'),
class: 'pixo-header-icon',
title: 'Benutzeranmeldung'
}).text('⮞');
$right.append($register, $login);
}
});
});