Zum Inhalt springen

MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus ThuleTempel Wissensbuch
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 10: Zeile 10:
     't-specialpages'
     't-specialpages'
   );
   );
});
mw.loader.using(['mediawiki.util']).then(function () {
  // nur für ausgeloggte Leser
  if (mw.config.get('wgUserName')) return;
  // nur einmal pro Browser
  const key = 'appearancePinnedOnce';
  if (localStorage.getItem(key)) return;
  function tryPin() {
    const pinBtn = document.querySelector('[data-event-name="pinnable-header.vector-appearance.pin"]');
    if (pinBtn) {
      pinBtn.click();              // pinnt / blendet ein
      localStorage.setItem(key, '1');
      return true;
    }
    return false;
  }
  // sofort versuchen, sonst kurz warten bis Vector fertig ist
  if (tryPin()) return;
  const obs = new MutationObserver(() => { if (tryPin()) obs.disconnect(); });
  obs.observe(document.documentElement, { subtree: true, childList: true });
});
mw.loader.using(['mediawiki.util']).then(function () {
  // nur für ausgeloggte Leser
  if (mw.config.get('wgUserName')) return;
  // Wenn der Nutzer schon etwas gewählt hat: nichts überschreiben
  const prefKey = 'mw-client-preferences';
  const current = localStorage.getItem(prefKey) || '';
  if (current.includes('vector-2022_font-size_')) return;
  function setStandardFontSize() {
    // Suche nach der "Standard"-Option im Erscheinungsbild-Menü
    const radios = Array.from(document.querySelectorAll('input[type="radio"]'));
    const standardRadio = radios.find(r => {
      const label = document.querySelector('label[for="' + r.id + '"]');
      const labelText = (label ? label.textContent : '').trim().toLowerCase();
      const val = (r.value || '').toLowerCase();
      return labelText === 'standard' || val === 'standard';
    });
    if (standardRadio && !standardRadio.checked) {
      standardRadio.click(); // setzt die echte Preference inkl. mw-client-preferences korrekt
      return true;
    }
    return false;
  }
  // Erst nach DOM ready versuchen, sonst kurz beobachten bis das Menü gerendert ist
  $(function () {
    if (setStandardFontSize()) return;
    const obs = new MutationObserver(() => {
      if (setStandardFontSize()) obs.disconnect();
    });
    obs.observe(document.documentElement, { subtree: true, childList: true });
  });
});
});

Aktuelle Version vom 13. Dezember 2025, 19:42 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
mw.loader.using('mediawiki.util', function () {
  var groups = mw.config.get('wgUserGroups') || [];
  if (groups.indexOf('sysop') === -1) return; // nur Admins

  mw.util.addPortletLink(
    'p-tb',
    mw.util.getUrl('Special:SpecialPages'),
    'Spezialseiten',
    't-specialpages'
  );
});

mw.loader.using(['mediawiki.util']).then(function () {
  // nur für ausgeloggte Leser
  if (mw.config.get('wgUserName')) return;

  // nur einmal pro Browser
  const key = 'appearancePinnedOnce';
  if (localStorage.getItem(key)) return;

  function tryPin() {
    const pinBtn = document.querySelector('[data-event-name="pinnable-header.vector-appearance.pin"]');
    if (pinBtn) {
      pinBtn.click();               // pinnt / blendet ein
      localStorage.setItem(key, '1');
      return true;
    }
    return false;
  }

  // sofort versuchen, sonst kurz warten bis Vector fertig ist
  if (tryPin()) return;
  const obs = new MutationObserver(() => { if (tryPin()) obs.disconnect(); });
  obs.observe(document.documentElement, { subtree: true, childList: true });
});


mw.loader.using(['mediawiki.util']).then(function () {
  // nur für ausgeloggte Leser
  if (mw.config.get('wgUserName')) return;

  // Wenn der Nutzer schon etwas gewählt hat: nichts überschreiben
  const prefKey = 'mw-client-preferences';
  const current = localStorage.getItem(prefKey) || '';
  if (current.includes('vector-2022_font-size_')) return;

  function setStandardFontSize() {
    // Suche nach der "Standard"-Option im Erscheinungsbild-Menü
    const radios = Array.from(document.querySelectorAll('input[type="radio"]'));
    const standardRadio = radios.find(r => {
      const label = document.querySelector('label[for="' + r.id + '"]');
      const labelText = (label ? label.textContent : '').trim().toLowerCase();
      const val = (r.value || '').toLowerCase();
      return labelText === 'standard' || val === 'standard';
    });

    if (standardRadio && !standardRadio.checked) {
      standardRadio.click(); // setzt die echte Preference inkl. mw-client-preferences korrekt
      return true;
    }
    return false;
  }

  // Erst nach DOM ready versuchen, sonst kurz beobachten bis das Menü gerendert ist
  $(function () {
    if (setStandardFontSize()) return;
    const obs = new MutationObserver(() => {
      if (setStandardFontSize()) obs.disconnect();
    });
    obs.observe(document.documentElement, { subtree: true, childList: true });
  });
});