Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Pixopedia
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
     $(function () {
     $(function () {
         var $body = $('body');
         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');


         /***********************
         /***********************
Zeile 25: Zeile 7:
         ***********************/
         ***********************/
         (function () {
         (function () {
             // Standard-Suchbereich (#p-search) aus dem Vector-Header holen
             // Alle Instanzen von #p-search holen
             var $search = $('#p-search').first();
             var $searchAll = $('#p-search');


             if (!$search.length) {
             if (!$searchAll.length) {
                 console.warn('#p-search (Standard-Suche) nicht gefunden');
                 console.warn('#p-search (Standard-Suche) nicht gefunden');
                 return;
                 return;
             }
             }


             // Optional: ID anpassen, damit es im Header eindeutig ist
             // erste Instanz verwenden
            var $search = $searchAll.first();
 
            // evtl. doppelte entfernen
            if ($searchAll.length > 1) {
                $searchAll.slice(1).remove();
            }
 
            // ID anpassen, damit CSS sie gezielt wieder einblenden kann
             $search.attr('id', 'pixo-header-search');
             $search.attr('id', 'pixo-header-search');


Zeile 39: Zeile 29:
             $search.appendTo($left);
             $search.appendTo($left);
         })();
         })();


         /***********************
         /***********************

Version vom 5. März 2026, 05:03 Uhr

mw.loader.using(['jquery', 'mediawiki.util', 'mediawiki.user']).done(function () {
    $(function () {
        var $body = $('body');

        /***********************
         * 1) Suche: Standard-Vector-Suche in den Custom-Header holen
         ***********************/
        (function () {
            // Alle Instanzen von #p-search holen
            var $searchAll = $('#p-search');

            if (!$searchAll.length) {
                console.warn('#p-search (Standard-Suche) nicht gefunden');
                return;
            }

            // erste Instanz verwenden
            var $search = $searchAll.first();

            // evtl. doppelte entfernen
            if ($searchAll.length > 1) {
                $searchAll.slice(1).remove();
            }

            // ID anpassen, damit CSS sie gezielt wieder einblenden kann
            $search.attr('id', 'pixo-header-search');

            // In den linken Bereich des Custom-Headers verschieben
            $search.appendTo($left);
        })();

        /***********************
         * 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);
        }
    });
});