Difference between revisions of "MediaWiki:Vector.js"

From Foundation - Wiki
Jump to navigation Jump to search
 
Line 9: Line 9:
var toolLinks = toolLinksBase.getElementsByClassName('vector-menu-content-list');
var toolLinks = toolLinksBase.getElementsByClassName('vector-menu-content-list');
var modeSwitchBase = document.createElement('li');
var modeSwitchBase = document.createElement('li');
var modeSwitch = document.createElement('a');
var modeSwitch = document.createElement('span');
modeSwitchBase.setAttribute('id', 'skin-mode');
modeSwitchBase.setAttribute('id', 'skin-mode');
modeSwitch.setAttribute('onclick', 'switchSkin()');
modeSwitch.setAttribute('onclick', 'switchSkin()');

Latest revision as of 12:19, 6 February 2024

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