Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Pixopedia
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
mw.loader.using( 'mediawiki.util' ).then( function () {
mw.loader.using(['mediawiki.util'], function () {
     var $stickyHeader = $( '#vector-sticky-header' );
     $(function () {
    var $stickyToggle = $stickyHeader.find(
         var $body = $('body');
         '.vector-sticky-header-icon-start.vector-button-flush-left.vector-button-flush-right'
    );
    var $typeahead = $( '.vector-typeahead-search-container' );


    // Normale Suche ausblenden, nur Sticky-Variante verwenden
        // eigenen Header einfügen
    $typeahead.hide();
        var headerHtml = '' +
            '<div id="pixo-custom-header">' +
                '<div id="pixo-custom-header-left"></div>' +
                '<div id="pixo-custom-header-center"></div>' +
                '<div id="pixo-custom-header-right"></div>' +
            '</div>';


    // Klick auf das Icon toggelt die Sticky-Header-Suche
        $body.prepend(headerHtml);
    $stickyToggle.on( 'click', function () {
 
         $stickyHeader.toggleClass( 'vector-header-search-toggled' );
        var $left  = $('#pixo-custom-header-left');
        var $center = $('#pixo-custom-header-center');
        var $right  = $('#pixo-custom-header-right');
 
        /* 2. Suche: Sticky-Header-Suche statt normaler Suche */
        // Original-Sticky-Header-Struktur holen, falls vorhanden
        var $stickySearchIcon = $('.vector-sticky-header-icon-start').first();
        if ($stickySearchIcon.length) {
            $stickySearchIcon
                .addClass('pixo-header-icon')
                .appendTo($left);
        }
 
        /* 3. Logo + Titel aus <a class="mw-logo"> nach Mitte */
        var $logoLink = $('.mw-logo').first();
        if ($logoLink.length) {
            $logoLink
                .appendTo($center)
                .css({ margin: 0 });
        }
 
        /* 4./5. Benutzerbereich rechts */
        var userName = mw.config.get('wgUserName'); // null wenn nicht angemeldet
 
        if (userName) {
            // angemeldeter User: bestehende Menüs nehmen
            var $userPage = $('#p-vector-user-menu-userpage');
            var $userMenu = $('#vector-user-links-dropdown');
 
            if ($userPage.length) {
                $userPage
                    .appendTo($right)
                    .addClass('pixo-header-icon');
            }
            if ($userMenu.length) {
                $userMenu
                    .appendTo($right)
                    .addClass('pixo-header-icon');
            }
         } else {
            // nicht angemeldet: eigene Icons für Registrieren / Login
            var $register = $('<a>', {
                href: mw.util.getUrl('Special:CreateAccount'),
                class: 'pixo-header-icon',
                title: 'Benutzer registrieren'
            }).html('✚'); // hier eigenes SVG/Icon einbauen
 
            var $login = $('<a>', {
                href: mw.util.getUrl('Special:UserLogin'),
                class: 'pixo-header-icon',
                title: 'Benutzeranmeldung'
            }).html('⮞'); // hier eigenes SVG/Icon einbauen
 
            $right.append($register, $login);
        }
     });
     });
});
});

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

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

        // eigenen Header einfügen
        var headerHtml = '' +
            '<div id="pixo-custom-header">' +
                '<div id="pixo-custom-header-left"></div>' +
                '<div id="pixo-custom-header-center"></div>' +
                '<div id="pixo-custom-header-right"></div>' +
            '</div>';

        $body.prepend(headerHtml);

        var $left   = $('#pixo-custom-header-left');
        var $center = $('#pixo-custom-header-center');
        var $right  = $('#pixo-custom-header-right');

        /* 2. Suche: Sticky-Header-Suche statt normaler Suche */
        // Original-Sticky-Header-Struktur holen, falls vorhanden
        var $stickySearchIcon = $('.vector-sticky-header-icon-start').first();
        if ($stickySearchIcon.length) {
            $stickySearchIcon
                .addClass('pixo-header-icon')
                .appendTo($left);
        }

        /* 3. Logo + Titel aus <a class="mw-logo"> nach Mitte */
        var $logoLink = $('.mw-logo').first();
        if ($logoLink.length) {
            $logoLink
                .appendTo($center)
                .css({ margin: 0 });
        }

        /* 4./5. Benutzerbereich rechts */
        var userName = mw.config.get('wgUserName'); // null wenn nicht angemeldet

        if (userName) {
            // angemeldeter User: bestehende Menüs nehmen
            var $userPage = $('#p-vector-user-menu-userpage');
            var $userMenu = $('#vector-user-links-dropdown');

            if ($userPage.length) {
                $userPage
                    .appendTo($right)
                    .addClass('pixo-header-icon');
            }
            if ($userMenu.length) {
                $userMenu
                    .appendTo($right)
                    .addClass('pixo-header-icon');
            }
        } else {
            // nicht angemeldet: eigene Icons für Registrieren / Login
            var $register = $('<a>', {
                href: mw.util.getUrl('Special:CreateAccount'),
                class: 'pixo-header-icon',
                title: 'Benutzer registrieren'
            }).html('✚'); // hier eigenes SVG/Icon einbauen

            var $login = $('<a>', {
                href: mw.util.getUrl('Special:UserLogin'),
                class: 'pixo-header-icon',
                title: 'Benutzeranmeldung'
            }).html('⮞'); // hier eigenes SVG/Icon einbauen

            $right.append($register, $login);
        }
    });
});