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

Нет описания правки
Нет описания правки
Строка 9: Строка 9:
                 if (xhr.status === 200) {
                 if (xhr.status === 200) {
                     document.body.innerHTML = xhr.responseText;
                     document.body.innerHTML = xhr.responseText;
                    window.history.pushState({}, '', link.href);
                 }
                 }
             }
             }

Версия от 20:56, 4 мая 2024

document.addEventListener('click', function(event) {
    var link = event.target.closest('a');
    if (link && link.href && link.href.indexOf(window.location.origin) !== -1) {
        event.preventDefault();

        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function() {
            if (xhr.readyState === XMLHttpRequest.DONE) {
                if (xhr.status === 200) {
                    document.body.innerHTML = xhr.responseText;

                    window.history.pushState({}, '', link.href);
                }
            }
        };
        xhr.open('GET', link.href, true);
        xhr.send();
    }
});

$(document).ready(function() {
    var container = document.getElementById("p-personal");
    if (container) {
        var checkbox = document.createElement("input");
        checkbox.type = "checkbox";
        checkbox.id = "theme-toggle";
        
        var label = document.createElement("label");
        label.htmlFor = "theme-toggle";
        label.id = "theme-button";
        
        container.parentNode.insertBefore(checkbox, container);
        container.parentNode.insertBefore(label, container);
    }

    var isLightTheme = localStorage.getItem("isLightTheme");
    if (isLightTheme === "true") {
        document.documentElement.classList.add('light');
    } else {
        document.documentElement.classList.remove('light');
    }
    
    $("#theme-toggle").change(function() {
        toggleTheme();
    });
});

function toggleTheme() {
    var isLightTheme = document.documentElement.classList.toggle('light');
    localStorage.setItem("isLightTheme", isLightTheme);
}