사용자:하늘/liberty.js: 두 판 사이의 차이

편집 요약 없음
편집 요약 없음
 
(사용자 2명의 중간 판 67개는 보이지 않습니다)
1번째 줄: 1번째 줄:
/*** 다크모드 감지 ***/
//console.log(mw.config);
if (1) {
//console.log(mw.config.get('wgPageContentModel'));
var body = document.querySelector('body');
function toDark() { setDarkLight('dark'); }
if ( 'rgb(0, 0, 0)' == window.getComputedStyle(body).backgroundColor) {
function toLight() { setDarkLight('light'); }
mw.loader.load('/index.php?title=사용자:Cerulean/liberty-dark.css&action=raw&ctype=text/css', 'text/css');
function setAuto() { setDarkLight(null); }
body.classList.add('Liberty-dark');
function setDarkLight(option) {
}
    new mw.Api().saveOption('liberty-dark', option).done(function () { location = location });
}
}
$(function () {
    var Button = document.querySelector('.dropdown-divider.view-logout').previousElementSibling.cloneNode();
    var ToDarkButton = Button.cloneNode();
    ToDarkButton.innerText = '다크모드(강제)';
    ToDarkButton.onclick = toDark;
    var ToLightButton = Button.cloneNode();
    ToLightButton.innerText = '라이트모드(강제)';
    ToLightButton.onclick = toLight;
    var setAutoButton = Button.cloneNode();
    setAutoButton.innerText = '다크모드(자동)';
    setAutoButton.onclick = setAuto;
    if (mw.user.options.values['liberty-dark'] == undefined) {
        $('.dropdown-divider.view-logout').before(ToDarkButton);
        $(ToDarkButton).after(ToLightButton);
        if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
        mw.loader.load('/index.php?title=사용자:하늘/liberty-dark.css&action=raw&ctype=text/css', 'text/css'); document.body.classList.add('Liberty-dark');
        }
    } else if (mw.user.options.values['liberty-dark'] == 'light') {
        $('.dropdown-divider.view-logout').before(ToDarkButton);
        $(ToDarkButton).after(setAutoButton);
    } else if (mw.user.options.values['liberty-dark'] == 'dark') {
        $('.dropdown-divider.view-logout').before(setAutoButton);
        $(setAutoButton).after(ToLightButton);
mw.loader.load('/index.php?title=사용자:하늘/liberty-dark.css&action=raw&ctype=text/css', 'text/css');
document.body.classList.add('Liberty-dark');
    }
});

2023년 3월 5일 (일) 18:56 기준 최신판

//console.log(mw.config);
//console.log(mw.config.get('wgPageContentModel'));
function toDark() { setDarkLight('dark'); }
function toLight() { setDarkLight('light'); }
function setAuto() { setDarkLight(null); }
function setDarkLight(option) {
    new mw.Api().saveOption('liberty-dark', option).done(function () { location = location });
}

$(function () {
    var Button = document.querySelector('.dropdown-divider.view-logout').previousElementSibling.cloneNode();
    var ToDarkButton = Button.cloneNode();
    ToDarkButton.innerText = '다크모드(강제)';
    ToDarkButton.onclick = toDark;

    var ToLightButton = Button.cloneNode();
    ToLightButton.innerText = '라이트모드(강제)';
    ToLightButton.onclick = toLight;

    var setAutoButton = Button.cloneNode();
    setAutoButton.innerText = '다크모드(자동)';
    setAutoButton.onclick = setAuto;

    if (mw.user.options.values['liberty-dark'] == undefined) {
        $('.dropdown-divider.view-logout').before(ToDarkButton);
        $(ToDarkButton).after(ToLightButton);
        if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
        	mw.loader.load('/index.php?title=사용자:하늘/liberty-dark.css&action=raw&ctype=text/css', 'text/css'); document.body.classList.add('Liberty-dark');
        }
    } else if (mw.user.options.values['liberty-dark'] == 'light') {
        $('.dropdown-divider.view-logout').before(ToDarkButton);
        $(ToDarkButton).after(setAutoButton);
    } else if (mw.user.options.values['liberty-dark'] == 'dark') {
        $('.dropdown-divider.view-logout').before(setAutoButton);
        $(setAutoButton).after(ToLightButton);
		mw.loader.load('/index.php?title=사용자:하늘/liberty-dark.css&action=raw&ctype=text/css', 'text/css');
		document.body.classList.add('Liberty-dark');
    }
});