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

MediaWiki:Citizen.js: Difference between revisions

MediaWiki interface page
(copy from chinese star citizen wiki)
 
No edit summary
 
(72 intermediate revisions by the same user not shown)
Line 1: Line 1:
/* All JavaScript here will be loaded for users of the Citizen skin */
/* All JavaScript here will be loaded for users of the Citizen skin */
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
// Discord Button
// 把整个body都选上,以便下一步使用
$(document).ready( function () {
var page = document.querySelector("body");
  $('.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>'));
// 仅修改 body class 中有 page-首页 的页面
});


if (page.classList.contains('page-首页')) {
// Sidebar Icons
// 找到我们要插入新div之后的element
//Search
var mwBody = document.getElementById('content');
$(document).ready( function () {
// 新建一个div
  $('#n-Posts > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-news"></span>'));
var newDiv = document.createElement('div');
  $('#n-Search > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-search"></span>'));
// 给新插入的element设个class名
//possibly excessive
newDiv.setAttribute('class', 'header-hero');
  $('#n-About > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-about"></span>'));
// 加上html内容
  $('#n-Shop > a:eq(0)').prepend($('<span class="citizen-ui-icon mw-ui-icon-shop"></span>'));
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: center center;height: 36vh;margin-bottom: -31vh;"></div>';
  $('#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>'));
});


// 将新 div 插入 content 之前
// Dynamic header
mwBody.parentNode.insertBefore(newDiv, mwBody);
$(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);


// 给页面新增个css variable,以便实现与黑暗/白色模式同步的首页头图
  }
// 把整个html都选上,因为skin让darkmode的class在这层
var html = document.querySelector("html");
// 判断darkmode
if (html.classList.contains('skin-citizen-dark')) {
// 是dark,用这个
//记得修改两个链接
document.querySelector('#home-card-kook').style.backgroundColor= '#497A20';
document.querySelector('#home-card-QQ').style.backgroundColor= '#1883A6';
document.documentElement.style.setProperty('--hero-image', 'url(https://static.miraheze.org/sctoolszhwiki/2/26/Spirit_E1_flying_fast_over_Orison.jpg)');
} else {
// 不是dark,用这个
document.querySelector('#home-card-kook').style.backgroundColor= '#7acc35';
document.querySelector('#home-card-QQ').style.backgroundColor= '#24c8fd';
document.documentElement.style.setProperty('--hero-image', 'url(https://static.miraheze.org/sctoolszhwiki/b/bd/890Jump_beach.jpg)');
}


document.addEventListener('click', function(event) {
   var html = document.querySelector("html");
   setTimeout(function() {
  if (html.classList.contains("skin-citizen-dark")) {
    var html = document.querySelector("html");
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
    if (html.classList.contains("skin-citizen-dark")) {
  } else {
      document.querySelector('#home-card-kook').style.backgroundColor= '#497A20';
    document.documentElement.style.setProperty("--hero-image", "url(/hosted/images/shop/CubeyBanner.webp)");
    document.querySelector('#home-card-QQ').style.backgroundColor= '#1883A6';
  }
       document.documentElement.style.setProperty('--hero-image', 'url(https://static.miraheze.org/sctoolszhwiki/2/26/Spirit_E1_flying_fast_over_Orison.jpg)');
 
    } else if (html.classList.contains("skin-citizen-light"))
  document.addEventListener('click', function (event) {
    {
    setTimeout(function () {
      document.querySelector('#home-card-kook').style.backgroundColor= '#7acc35';
      var html = document.querySelector("html");
  document.querySelector('#home-card-QQ').style.backgroundColor= '#24c8fd';
       if (html.classList.contains("skin-citizen-dark")) {
      document.documentElement.style.setProperty('--hero-image', 'url(https://static.miraheze.org/sctoolszhwiki/b/bd/890Jump_beach.jpg)');
        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";
     }
     }
   }, 100);
   }
}, true);
 
  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);
});

Latest revision as of 20:23, 18 July 2024

/* 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);
});