Anonymous

MediaWiki:Common.js: Difference between revisions

From Melvor Idle
Amend dark mode code
No edit summary
(Amend dark mode code)
(17 intermediate revisions by 2 users not shown)
Line 544: Line 544:
   }
   }
}
}
function toggleDarkMode() {
document.body.classList.toggle('darkMode');
localStorage.setItem('darkMode', localStorage.getItem('darkMode') !== 'true');
}
$(document).ready(function () {
$(document).ready(function () {
  if (document.getElementsByClassName('stickyHeader').length > 0) {
if (document.getElementsByClassName('stickyHeader').length > 0) {
    setStickyHeaderTop();
setStickyHeaderTop();
    $(window).resize(setStickyHeaderTop);
$(window).resize(setStickyHeaderTop);
  }
}
}
);


function setItem(key, value) {
const darkMode = localStorage.getItem('darkMode');
localStorage.setItem(key, JSON.stringify(value));
if (darkMode === 'true') {
}
document.body.classList.add('darkMode');
} else {
document.body.classList.remove('darkMode');
}
});


function getItem(key) {
// Add dark mode links to "Wiki tools" and personal tools menus
let keydata = localStorage.getItem(key);
$.when(mw.loader.using(['mediawiki.util']), $.ready).then( function() {
if (keydata == "undefined") return undefined;
var dmLinkTools = mw.util.addPortletLink('p-tb', '#', 'Dark mode', 't-darkmode', 'Toggle between a dark and light theme', null, '#t-specialpages');
return JSON.parse(keydata);
var dmLinkPersonal = mw.util.addPortletLink('p-personal', '#', 'Dark mode', 'pt-darkmode', 'Toggle between a dark and light theme', null, null);
}
dmLinkPersonal.style.marginTop = '0.5rem';
function toggleDarkMode() {
$(dmLinkTools).on('click', function(e) {
const darkMode = getItem("darkMode");
e.preventDefault();
if (darkMode !== true) {
toggleDarkMode();
  setItem("darkMode", true);
});
  document.body.classList.add("darkMode");
$(dmLinkPersonal).on('click', function(e) {
}
e.preventDefault();
else {
toggleDarkMode();
  setItem("darkMode", false);
});
  document.body.classList.remove("darkMode");
} );
}
}