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

Нет описания правки
Метка: отменено
Нет описания правки
Метка: отменено
Строка 1: Строка 1:
$(document).ready(function() {
$(document).ready(function() {
    var isLightTheme = localStorage.getItem("isLightTheme");
    if (isLightTheme === "true") {
        document.documentElement.setAttribute('data-theme', 'light');
    } else {
        document.documentElement.setAttribute('data-theme', 'dark');
    }
     var button = document.createElement("button");
     var button = document.createElement("button");
     button.innerHTML = "Сменить тему";
     button.innerHTML = "Сменить тему";
Строка 8: Строка 15:
     if (container) {
     if (container) {
         container.parentNode.insertBefore(button, container);
         container.parentNode.insertBefore(button, container);
    }
    var isLightTheme = localStorage.getItem("isLightTheme");
    if (isLightTheme === "true") {
        document.documentElement.setAttribute('data-theme', 'light');
    } else {
        document.documentElement.setAttribute('data-theme', 'dark');
     }
     }
});
});

Версия от 17:12, 4 мая 2024

$(document).ready(function() {
    var isLightTheme = localStorage.getItem("isLightTheme");
    if (isLightTheme === "true") {
        document.documentElement.setAttribute('data-theme', 'light');
    } else {
        document.documentElement.setAttribute('data-theme', 'dark');
    }

    var button = document.createElement("button");
    button.innerHTML = "Сменить тему";
    button.className = "theme-button";
    button.onclick = toggleTheme;

    var container = document.getElementById("p-personal");
    if (container) {
        container.parentNode.insertBefore(button, container);
    }
});

function toggleTheme() {
    const root = document.documentElement;
    const currentTheme = root.getAttribute('data-theme');
    const newTheme = currentTheme === 'light' ? 'dark' : 'light';
    root.setAttribute('data-theme', newTheme);

    localStorage.setItem("isLightTheme", newTheme === 'light');
}