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

Нет описания правки
Метка: отменено
(Отмена правки 72140, сделанной Aylong (обсуждение))
Метки: отмена отменено
Строка 1: Строка 1:
function toggleTheme() {
$(window).on("load", function() {
  const body = document.querySelector('body');
    var isLightTheme = localStorage.getItem("isLightTheme");
  if (body.classList.contains('dark')) {
    if (isLightTheme === "true") {
    body.classList.remove('dark');
        document.documentElement.setAttribute('data-theme', 'light');
    body.classList.add('light');
     } else {
     localStorage.setItem('theme', 'light');
        document.documentElement.setAttribute('data-theme', 'dark');
  } else {
    }
     body.classList.remove('light');
 
     body.classList.add('dark');
     var button = document.createElement("button");
     localStorage.setItem('theme', 'dark');
     button.innerHTML = "Сменить тему";
  }
     button.className = "theme-button";
}
    button.onclick = toggleTheme;


function getSavedTheme() {
    var container = document.getElementById("p-personal");
  return localStorage.getItem('theme') || 'dark';
    if (container) {
}
        container.parentNode.insertBefore(button, container);
    }
});


function initTheme() {
function toggleTheme() {
  const savedTheme = getSavedTheme();
    const root = document.documentElement;
  const body = document.querySelector('body');
    const currentTheme = root.getAttribute('data-theme');
  body.classList.add(savedTheme);
    const newTheme = currentTheme === 'light' ? 'dark' : 'light';
}
    root.setAttribute('data-theme', newTheme);


function createThemeButton() {
    localStorage.setItem("isLightTheme", newTheme === 'light');
  const personalElement = document.querySelector('#p-personal');
  const themeButton = document.createElement('button');
  themeButton.textContent = 'Сменить тему';
  themeButton.addEventListener('click', toggleTheme);
  personalElement.parentNode.insertBefore(themeButton, personalElement);
}
}
document.addEventListener('DOMContentLoaded', function () {
  initTheme();
  createThemeButton();
});

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

$(window).on("load", 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');
}