Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
/* === ULS-Button in Minerva neben der Glocke (funktioniert klickbar) ======= */
/* Variante 1: Offiziellen ULS-Trigger in den sichtbaren Header verschieben */
mw.loader.using(['ext.uls.interface', 'mediawiki.util'], function () {
mw.loader.using(['ext.uls.interface'], function () {
  if (mw.config.get('skin') !== 'minerva') return;
    if (mw.config.get('skin') !== 'minerva') return;


  // vorhandenen Trigger nehmen oder neuen bauen
    // Vorhandenen ULS-Trigger holen
  var $trigger = $('a.uls-trigger, #pt-uls a').first();
    var $trigger = $('a.uls-trigger, #pt-uls a').first();
  if (!$trigger.length) {
    if (!$trigger.length) {
    $trigger = $('<a>')
        console.warn('ULS-Trigger nicht gefunden – ist ULS geladen?');
      .attr({ href: '#', title: mw.msg('uls-plang-title') || 'Sprache', 'aria-label': 'Language' })
        return;
      .addClass('uls-trigger')
     }
      .text('🌐');
  }
 
  // Glocke finden (versch. Minerva-Versionen)
  var bell =
    document.querySelector('.minerva-header [href*="Special:Notifications"]') ||
    document.querySelector('.minerva-header .notifications') ||
    document.querySelector('.minerva-header .icon--notifications') ||
    document.querySelector('.minerva-header .notification');
 
  // Klick abfangen (ULS übernimmt dann das Menü)
  $(document).off('click.mw-uls', '.uls-trigger').on('click.mw-uls', '.uls-trigger', function (e) {
     e.preventDefault();
  });


  if (bell) {
     // Ziel: in die Header-Action-Bar vor der Suche setzen
     // Holder direkt NACH der Glocke einfügen
     var $target = $('.minerva-header .header-actions').first();
     var holder = document.getElementById('mw-minerva-uls');
     if (!$target.length) {
     if (!holder) {
        console.warn('Header-Actions nicht gefunden');
      holder = document.createElement('div');
        return;
      holder.id = 'mw-minerva-uls';
      holder.className = 'minerva-icon mw-minerva-uls';
    } else {
      holder.innerHTML = '';
     }
     }
    holder.appendChild($trigger.get(0));
    bell.insertAdjacentElement('afterend', holder);
    // evtl. Fallback entfernen
    var float = document.getElementById('mw-minerva-uls-float');
    if (float) float.remove();
    return;
  }


  // Fallback: schwebender Button oben rechts, falls Glocke nicht gefunden
    // Einhängen
  if (!document.getElementById('mw-minerva-uls-float')) {
     var $holder = $('<div class="minerva-icon mw-minerva-uls"></div>').append($trigger);
     var float = document.createElement('div');
     $target.prepend($holder);
    float.id = 'mw-minerva-uls-float';
    float.className = 'mw-minerva-uls-float';
    float.appendChild($trigger.get(0));
     document.body.appendChild(float);
  }
});
});

Version vom 8. August 2025, 09:47 Uhr

/* Variante 1: Offiziellen ULS-Trigger in den sichtbaren Header verschieben */
mw.loader.using(['ext.uls.interface'], function () {
    if (mw.config.get('skin') !== 'minerva') return;

    // Vorhandenen ULS-Trigger holen
    var $trigger = $('a.uls-trigger, #pt-uls a').first();
    if (!$trigger.length) {
        console.warn('ULS-Trigger nicht gefunden – ist ULS geladen?');
        return;
    }

    // Ziel: in die Header-Action-Bar vor der Suche setzen
    var $target = $('.minerva-header .header-actions').first();
    if (!$target.length) {
        console.warn('Header-Actions nicht gefunden');
        return;
    }

    // Einhängen
    var $holder = $('<div class="minerva-icon mw-minerva-uls"></div>').append($trigger);
    $target.prepend($holder);
});