Jump to content

MediaWiki:Common.js: Difference between revisions

From Aquinas Archive
No edit summary
Tag: Reverted
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
mw.loader.load("/images/assets/image-selector.js");
mw.loader.load("/images/assets/image-selector.js");
/* mw.loader.load("/images/assets/nav.js"); */
/* mw.loader.load("/images/assets/nav.js"); */
mw.loader.load("/images/assets/variant.js");
mw.loader.load("/images/assets/hovercard.js");
mw.loader.load("/images/assets/wikinav.js");
mw.loader.load("/images/assets/backtotop.js");
mw.loader.load("/images/assets/footer.js");
mw.loader.load("https://dxgalaxy.org/js/nav.js");
mw.loader.load("https://dxgalaxy.org/js/nav.js");
$(function () {
  var $variants = $('.variant');
  if ($variants.length === 0) return;
  // Get unique variant keys on the page
  var keys = [];
  $variants.each(function () {
    var k = $(this).data('variant');
    if (keys.indexOf(k) === -1) keys.push(k);
  });
  if (keys.length < 2) return; // no need for toggle
  // Build tab bar
  var $tabs = $('<div class="variant-tabs"></div>');
  keys.forEach(function (k) {
    var $btn = $('<button>' + k.charAt(0).toUpperCase() + k.slice(1) + '</button>');
    $btn.on('click', function () {
      // Show only the selected variant
      $variants.hide().filter('[data-variant="' + k + '"]').show();
      // Update active tab
      $tabs.find('button').removeClass('active');
      $btn.addClass('active');
      // Save selection
      localStorage.setItem('variant-selected', k);
    });
    $tabs.append($btn);
  });
  // Insert tab bar inside main content
  $('#mw-content-text').prepend($tabs);
  // Load saved choice or default to last variant
  var saved = localStorage.getItem('variant-selected') || keys[0];
  $variants.hide().filter('[data-variant="' + saved + '"]').show();
  $tabs.find('button').removeClass('active')
      .filter(':contains("' + saved.charAt(0).toUpperCase() + saved.slice(1) + '")')
      .addClass('active');
});

Latest revision as of 19:39, 28 August 2025

mw.loader.load("/images/assets/image-selector.js");
/* mw.loader.load("/images/assets/nav.js"); */
mw.loader.load("/images/assets/variant.js");
mw.loader.load("/images/assets/hovercard.js");
mw.loader.load("/images/assets/wikinav.js");
mw.loader.load("/images/assets/backtotop.js");
mw.loader.load("/images/assets/footer.js");
mw.loader.load("https://dxgalaxy.org/js/nav.js");