MediaWiki:Gadget-ContadorPaginas.js

De Clash of Clans Wiki
Ir a la navegación Ir a la búsqueda

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
  • Opera: Presiona Ctrl+F5.
/* Código originalmente extraído de Wiki Calamity Mod ES y adaptado a Minecraft Wiki */
function getBaseURL() {
  var baseURL = window.location.origin;
  return baseURL;
}

function fetchData(callback) {
  var baseURL = getBaseURL();
  var apiURL = baseURL + '/es/api.php?action=query&format=json&meta=siteinfo&siprop=statistics';

  $.ajax({
    url: apiURL,
    method: 'GET',
    dataType: 'json',
    success: function(data) {
      callback(null, data.query.statistics);
    },
    error: function() {
      callback('Error al cargar los datos', null);
    }
  });
}

function abbreviateNumber(num) {
  if (num >= 1000) {
    return (num / 1000).toFixed(1) + 'k';
  }
  return num;
}

function renderStats() {
  fetchData(function (error, stats) {
    if (error) {
      console.error(error);
      return;
    }

    var articleCount = abbreviateNumber(stats.articles);
    var editCount = abbreviateNumber(stats.edits);

    var statsPanel = $('<div>').addClass('stats-panel');

    var articlesBox = $('<div>').addClass('articles').html('<span class="count">' + articleCount + '</span> <span class="label">páginas</span>');

    var editsBox = $('<div>').addClass('edits').html('<span class="count">' + editCount + '</span> <span class="label">ediciones</span>');

    statsPanel.append(articlesBox, editsBox);

    $('#p-logo').after(statsPanel);
  });
}

// Llama a la función para cargar y mostrar las estadísticas.
renderStats();