MediaWiki:Gadget-darkmode.js: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
d przetłumaczono opis przycisku |
optymalizacja (przeniesienie części funkcjonalności na serwer) |
||
| Linia 33: | Linia 33: | ||
if (isUsingDarkmode === true) { | if (isUsingDarkmode === true) { | ||
$('body').addClass('wgl-theme-dark'); | |||
$('body').removeClass('wgl-theme-light'); | |||
mw.loader.load('/index.php?title=MediaWiki:Vector-theme-dark.css&action=raw&ctype=text/css', 'text/css'); | |||
} else { | } else { | ||
$('body').addClass('wgl-theme-light'); | $('body').addClass('wgl-theme-light'); | ||
Aktualna wersja na dzień 21:15, 26 sty 2025
/**
* Toggle for dark mode
*
* @author [[User:Jayden]]
* @see Based on https://runescape.wiki/w/MediaWiki:Gadget-skinTogglesNew.js
*/
;(function($, mw){
var DARK_COOKIE = 'darkmode',
THEME_COOKIE = 'theme',
isUsingDarkmode = $.cookie(THEME_COOKIE) === 'dark' || ($.cookie(THEME_COOKIE) == null && $.cookie(DARK_COOKIE) === 'true'),
portletLink;
var self = {
init: function () {
$.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {expires: 365, path: '/'});
portletLink = mw.util.addPortletLink(
'p-personal',
'',
'',
'pt-dm-toggle',
'Przełącz tryb ciemny',
null,
$('#pt-userpage, #pt-anonuserpage, #pt-createaccount')[0]
);
$(portletLink).find('a').click(function(e) {
e.preventDefault();
isUsingDarkmode = !isUsingDarkmode;
$.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {expires: 365, path: '/'});
$.cookie(DARK_COOKIE, isUsingDarkmode, {expires: 365, path: '/'});
if (isUsingDarkmode === true) {
$('body').addClass('wgl-theme-dark');
$('body').removeClass('wgl-theme-light');
mw.loader.load('/index.php?title=MediaWiki:Vector-theme-dark.css&action=raw&ctype=text/css', 'text/css');
} else {
$('body').addClass('wgl-theme-light');
$('body').removeClass('wgl-theme-dark');
}
});
}
};
$(self.init);
}(jQuery, mediaWiki));