MediaWiki:Vector.js
Revision as of 12:19, 6 February 2024 by Polymorph-Ash (talk | contribs)
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 Vector skin */
const wikiStorage = window.localStorage;
var darkMode = wikiStorage.getItem('darkMode');
if (darkMode == null) {
window.localStorage.setItem('darkMode', 0);
}
var toolLinksBase = document.getElementById('p-tb');
var toolLinks = toolLinksBase.getElementsByClassName('vector-menu-content-list');
var modeSwitchBase = document.createElement('li');
var modeSwitch = document.createElement('span');
modeSwitchBase.setAttribute('id', 'skin-mode');
modeSwitch.setAttribute('onclick', 'switchSkin()');
function switchSkinShared() {
if (darkMode == 1) {
bodyTag = document.getElementsByTagName('body');
bodyTag[0].classList.add('mw-dark-mode');
modeSwitch.innerHTML = 'Light Mode';
} else {
bodyTag = document.getElementsByTagName('body');
bodyTag[0].classList.remove('mw-dark-mode');
modeSwitch.innerHTML = 'Dark Mode';
}
}
function switchSkin() {
if (darkMode == 0) {
wikiStorage.setItem('darkMode', 1);
} else {
wikiStorage.setItem('darkMode', 0 );
}
darkMode = wikiStorage.getItem('darkMode');
switchSkinShared();
}
switchSkinShared();
modeSwitchBase.appendChild(modeSwitch);
toolLinks[0].appendChild(modeSwitchBase);