MediaWiki:Common.js: различия между версиями

мНет описания правки
мНет описания правки
Строка 1: Строка 1:
;(function($, mw){
;(function($, mw){
var DARK_COOKIE = 'darkmode',
if (mw.config.get('wgPageName') !== 'Обсуждение_участника:Pok') return;
THEME_COOKIE = 'theme',
isUsingDarkmode = $.cookie(THEME_COOKIE) === 'dark' || ($.cookie(THEME_COOKIE) == null && $.cookie(DARK_COOKIE) === 'true'),
    var DARK_COOKIE = 'darkmode',
isMobile = mw.config.get('wgMFMode') !== null,
        THEME_COOKIE = 'theme',
portletLink;
        isUsingDarkmode = $.cookie(THEME_COOKIE) === 'dark'  
            || ($.cookie(THEME_COOKIE) == null && $.cookie(DARK_COOKIE) === 'true');
 
    var self = {
        init: function () {
            $.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {
                expires: 365,
                path: '/'
            });
            $.cookie(DARK_COOKIE, isUsingDarkmode, {
                expires: 365,
                path: '/'
            });
 
            var $toggle = $('<div>', {
                id: 'pt-dm-toggle',
                html: $('<a>', {
                    href: '#',
                    title: 'Переключить тёмную тему',
                    text: 'Переключить тему'
                })
            });


var self = {
            $('#user-tools').append($toggle);
init: function () {
$.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {expires: 365, path: '/'});


portletLink = mw.util.addPortletLink(
            $toggle.find('a').on('click', function(e) {
( isMobile ? 'p-navigation' : 'p-personal' ),
                e.preventDefault();
'',
 
( isMobile ? 'Переключить тёмную тему' : '' ),
                isUsingDarkmode = !isUsingDarkmode;
'pt-dm-toggle',
                $.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {
'Переключить тёмную тему',
                    expires: 365,
null,
                    path: '/'
$('#pt-userpage, #pt-anonuserpage, #pt-createaccount')[0]
                });
);
                $.cookie(DARK_COOKIE, isUsingDarkmode, {
                    expires: 365,
$(portletLink).find('a').click(function(e) {
                    path: '/'
e.preventDefault();
                });
 
isUsingDarkmode = !isUsingDarkmode;
                if (isUsingDarkmode) {
$.cookie(THEME_COOKIE, isUsingDarkmode ? 'dark' : 'light', {expires: 365, path: '/'});
                    mw.loader.using(['wgl.theme.dark']).then(function() {
$.cookie(DARK_COOKIE, isUsingDarkmode, {expires: 365, path: '/'});
                        $('body')
                            .addClass('wgl-theme-dark')
if (isUsingDarkmode === true) {
                            .removeClass('wgl-theme-light');
mw.loader.using(['wgl.theme.dark']).then(function() {
                        mw.hook('wgl.themeChanged').fire('dark');
  $('body').addClass('wgl-theme-dark')
                    });
  $('body').removeClass('wgl-theme-light')
                } else {
  mw.hook('wgl.themeChanged').fire('dark')
                    $('body')
});
                        .addClass('wgl-theme-light')
} else {
                        .removeClass('wgl-theme-dark');
$('body').addClass('wgl-theme-light')
                    mw.hook('wgl.themeChanged').fire('light');
$('body').removeClass('wgl-theme-dark')
                }
mw.hook('wgl.themeChanged').fire('light')
            });
}
        }
});
    };
}
 
}
    $(self.init);
$(self.init);


}(jQuery, mediaWiki));
}(jQuery, mediaWiki));