Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Citizen.js

MediaWiki interface page

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* All JavaScript here will be loaded for users of the Citizen skin */
// Discord Button
$(document).ready( function () {
   $('.citizen-drawer').after($('<div class="citizen-discord citizen-header__item"><a href="https://discord.gg/gwuGnK3"><div class="citizen-discord__button citizen-header__button"><div class="disc-icon"><label id="citizen-discord__buttonCheckbox" class="mw-checkbox-hack-button citizen-header__buttonCheckbox" for="citizen-discord__checkbox" title="Join us on Discord!" aria-hidden="true"><span>Join us on Discord!</span></label></div></div></a></div>'));
});

// Sidebar Icons
//Search
$(document).ready( function () {
   $('#n-Posts > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-news"></span>'));
   $('#n-Search > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-search"></span>'));
//possibly excessive
   $('#n-About > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-about"></span>'));
   $('#n-Shop > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-shop"></span>'));
   $('#n-Map > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-map"></span>'));
   $('#n-Vote > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-vote"></span>'));
   $('#n-Commands > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-commands"></span>'));
   $('#n-Plugins > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-plugins"></span>'));
//
   $('#n-Rules > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-rules"></span>'));
   $('#n-FAQ > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-faq"></span>'));
   $('#n-Staff > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-staff"></span>'));
   $('#n-Forums > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-forums"></span>'));
   $('#n-Discord > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-discord"></span>'));
   $('#n-Punishments > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-punishments"></span>'));
//
   $('#n-Getting-Started > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-start"></span>'));
   $('#n-Economy > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-gem"></span>'));
   $('#n-Levels > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-level"></span>'));
   $('#n-mcMMO > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-swords"></span>'));
   $('#n-Shops > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-shop2"></span>'));
   $('#n-Claims > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-claim"></span>'));
});

// Dynamic header
$(document).ready(function () {
  if ($.inArray("Dynamic background", mw.config.get("wgCategories")) > -1) {
    var mwBody = document.getElementById("content");
    var newDiv = document.createElement("div");
    newDiv.setAttribute("class", "header-hero");
    newDiv.innerHTML = '<div class="header-hero-image" style="background-image: linear-gradient(to top, var(--color-surface-0), transparent 150%), var(--hero-image);background-size: cover;background-position: 0 0, center;height: 50vh;margin-bottom: -50vh;"></div>';
    mwBody.parentNode.insertBefore(newDiv, mwBody);

  }

  var html = document.querySelector("html");
  if (html.classList.contains("skin-citizen-dark")) {
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
  } else {
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
  }

  document.addEventListener('click', function (event) {
    setTimeout(function () {
      var html = document.querySelector("html");
      if (html.classList.contains("skin-citizen-dark")) {
        document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
      } else if (html.classList.contains("skin-citizen-light")) {
        document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
      }
    }, 100);
  }, true);
});
$(document).ready(function () {
  if ($.inArray("Dynamic header", mw.config.get("wgCategories")) > -1) {
    var mwBody = document.getElementById("content");
    var newDiv = document.createElement("div");
    newDiv.setAttribute("class", "header-hero");
    newDiv.innerHTML = '<div class="header-hero-image" style="background-image: linear-gradient(to top, var(--color-surface-0), transparent 150%), var(--hero-image);background-size: cover;background-position: 0 0, top;height: 25vh;margin-bottom: -25vh;"></div>';
    mwBody.parentNode.insertBefore(newDiv, mwBody);

    var mwHeader = document.querySelector(".mw-body-header");
    if (mwHeader) {
      mwHeader.style.display = "none";
    }
  }

  var html = document.querySelector("html");
  if (html.classList.contains("skin-citizen-dark")) {
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/RiftBG2.webp)");
  } else {
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
  }

  document.addEventListener('click', function (event) {
    setTimeout(function () {
      var html = document.querySelector("html");
      if (html.classList.contains("skin-citizen-dark")) {
        document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/RiftBG2.webp)");
      } else if (html.classList.contains("skin-citizen-light")) {
        document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
      }
    }, 100);
  }, true);
});