MediaWiki:Common.js: Difference between revisions

From Kintara
Jump to navigation Jump to search
Play Now: link to kintara.com
Inject dashboard sky backdrop with animated clouds
Line 1: Line 1:
/* Kintara dashboard sky — drifting geo clouds (matches kintara.com leaderboard backdrop) */
(function () {
  function injectKinSky() {
    if (document.getElementById('kin-sky-backdrop')) return;
    var el = document.createElement('div');
    el.id = 'kin-sky-backdrop';
    el.setAttribute('aria-hidden', 'true');
    el.innerHTML =
      '<div class="kin-sky-clouds">' +
      '<div class="kin-geo-puff kin-geo-puff--1"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--2"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--3"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--4"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--5"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--6"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '</div>';
    document.body.insertBefore(el, document.body.firstChild);
  }
  if (document.body) injectKinSky();
  else document.addEventListener('DOMContentLoaded', injectKinSky);
})();
mw.loader.using('mediawiki.util').then(function () {
mw.loader.using('mediawiki.util').then(function () {
   if (mw.config.get('wgPageName') === 'Main_Page') {
   if (mw.config.get('wgPageName') === 'Main_Page') {

Revision as of 20:23, 23 June 2026

/* Kintara dashboard sky — drifting geo clouds (matches kintara.com leaderboard backdrop) */
(function () {
  function injectKinSky() {
    if (document.getElementById('kin-sky-backdrop')) return;
    var el = document.createElement('div');
    el.id = 'kin-sky-backdrop';
    el.setAttribute('aria-hidden', 'true');
    el.innerHTML =
      '<div class="kin-sky-clouds">' +
      '<div class="kin-geo-puff kin-geo-puff--1"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--2"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--3"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--4"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--5"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span></div>' +
      '<div class="kin-geo-puff kin-geo-puff--6"><span class="kin-geo-block kin-geo-block--a"></span><span class="kin-geo-block kin-geo-block--b"></span><span class="kin-geo-block kin-geo-block--c"></span><span class="kin-geo-block kin-geo-block--d"></span></div>' +
      '</div>';
    document.body.insertBefore(el, document.body.firstChild);
  }
  if (document.body) injectKinSky();
  else document.addEventListener('DOMContentLoaded', injectKinSky);
})();

mw.loader.using('mediawiki.util').then(function () {
  if (mw.config.get('wgPageName') === 'Main_Page') {
    document.querySelectorAll(
      '.kin-promo.discord .pbody a, .kin-promo.xbox .pbody a'
    ).forEach(function (link) {
      link.setAttribute('target', '_blank');
      link.setAttribute('rel', 'nofollow noopener noreferrer');
    });
  }

  var tabs = document.querySelector('#p-namespaces ul');
  if (tabs && !document.getElementById('ca-kintara-play')) {
    var playTab = document.createElement('li');
    playTab.id = 'ca-kintara-play';
    playTab.className = 'mw-list-item';
    playTab.innerHTML =
      '<a href="https://kintara.com/" target="_blank" rel="nofollow noopener noreferrer"><span>Play Now</span></a>';

    tabs.appendChild(playTab);
  }
});