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

편집 요약 없음
편집 요약 없음
 
(사용자 2명의 중간 판 30개는 보이지 않습니다)
1번째 줄: 1번째 줄:
$(window).on('load', function () {
//console.log(mw.config);
     if (document.firstElementChild.className.indexOf('ve-available') !== -1 && location.href.indexOf('veaction') == -1) {
//console.log(mw.config.get('wgPageContentModel'));
        console.log('ve-available');
function toDark() { setDarkLight('dark'); }
        var editButton = document.querySelector('#ca-edit');
function toLight() { setDarkLight('light'); }
        var veditButton = editButton.cloneNode(true);
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;


        veditButton.href = veditButton.href.replace('action', 'veaction'),
    var setAutoButton = Button.cloneNode();
            veditButton.title = '비주얼 에디터로 편집하기',
    setAutoButton.innerText = '다크모드(자동)';
            //veditButton.innerHTML = veditButton.innerHTML.replace('편집', 'VE'),
    setAutoButton.onclick = setAuto;
            veditButton.innerHTML = '<i class="fas fa-eye"></i>',
 
            veditButton.accessKey = 'v',
    if (mw.user.options.values['liberty-dark'] == undefined) {
            editButton.after(veditButton);
        $('.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');
     }
     }
});
});
var darkmodeSwitch = document.querySelector('.dropdown-divider.view-logout').previousElementSibling.cloneNode();
darkmodeSwitch.href = location.href;
$('.dropdown-divider.view-logout').before(darkmodeSwitch);
if (localStorage.darkmode == 'false') {
    darkmodeSwitch.innerText = '라이트모드';
    darkmodeSwitch.onclick = function () {
        localStorage.darkmode = true;
    };
    document.querySelector('html').className += ' Liberty-dark';
} else {
    darkmodeSwitch.innerText = '다크모드';
    darkmodeSwitch.onclick = function () {
        localStorage.darkmode = false;
    };
}

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');
    }
});