mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
// Toggle a light theme for | // Toggle a light theme for the Onyx skin | ||
function setCookie(c_name, value, expiredays) { | function setCookie(c_name, value, expiredays) { | ||
Line 21: | Line 20: | ||
$(function() { | $(function() { | ||
if (mw.user.options.get('gadget-DarkMode')) | |||
return; | |||
var isLight = false; | var isLight = false; | ||
var toggleText = 'Light mode'; | var toggleText = 'Light mode'; |
Latest revision as of 13:41, February 28, 2025
// Toggle a light theme for the Onyx skin
function setCookie(c_name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + '=' + escape(value) + ';path=/' + ((expiredays === null) ? '' : ';expires=' + exdate.toGMTString());
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + '=');
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(';', c_start);
if (c_end == -1) c_end = document.cookie.length;
return unescape(document.cookie.substring(c_start, c_end));
}
}
return '';
}
$(function() {
if (mw.user.options.get('gadget-DarkMode'))
return;
var isLight = false;
var toggleText = 'Light mode';
if (getCookie('darkTheme') == 'off') {
toggleText = 'Dark mode';
isLight = true;
}
$('#onyx-footerLinks-places').append('<li id="toggleContainer"><a id="themeToggle" href="javascript:;">' + toggleText + '</a></li>');
$('#themeToggle').click(function() {
if (isLight)
setCookie('darkTheme', '', -1);
else
setCookie('darkTheme', 'off', 999);
if (mw.config.get('wgUserId') || location.href.includes('?'))
location.reload();
else
location = location.href + '?toggle';
});
});