Jump to content

MediaWiki:Common.js: Difference between revisions

 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
mw.loader.load('https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js');
$(function() {
mw.loader.load('https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.css', 'text/css');
  fetch('/api.php?action=query&meta=siteinfo&siprop=statistics&format=json')
mw.loader.load('https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.css', 'text/css');
    .then(res => res.json())
 
     .then(data => {
mw.hook('wikipage.content').add(function($content) {
      const current = data.query.statistics.articles;
     $content.find('.mw-jsslideshow').each(function() {
      const goal = 500;
        const $slideshowContainer = $(this);
      const left = goal - current;
        const $slideshow = $('<div class="slideshow"></div>');
      const el = document.getElementById("article-countdown");
 
      if (el) {
        // Find all images inside mw-jsslideshow, including [[File:]] images
         el.innerHTML = left > 0
        $slideshowContainer.find('img').each(function() {
          ? `🚧 Only <strong>${left}</strong> articles to go until 500!`
            const $img = $(this);
          : `🎯 We've reached 500 articles! Celebrate good times, c'mon!`;
            const $slide = $('<div></div>').append($img.clone()); // Wrap in slide div
      }
            $slideshow.append($slide);
        });
 
        // Replace old content with the new slick-ready slideshow
         $slideshowContainer.empty().append($slideshow);
 
        // Initialize slick
        $slideshow.slick({
            infinite: true,
            slidesToShow: 1,
            slidesToScroll: 1,
            autoplay: true,
            autoplaySpeed: 5000,
            arrows: true,
            dots: true,
            adaptiveHeight: true
        });
 
        // Fix positioning on resize
        $(window).on('resize', function() {
            $slideshow.slick('setPosition');
        });
     });
     });
});
// MediaWiki:Common.js
mw.hook('rcfilters.ui.initialized').add(function () {
  document.documentElement.classList.add('rcfilters-ready');
});
});