MediaWiki:Common:js: различия между версиями
Новая страница: «// Функция переключения темы function toggleTheme() { const body = document.body; body.classList.toggle('dark-theme'); // Сохранение выбора в localStorage const isDark = body.classList.contains('dark-theme'); localStorage.setItem('theme', isDark ? 'dark' : 'light'); } // Загрузка сохраненной темы при открытии страницы document.addEventListener('DOMContentLoaded',...» |
мНет описания правки |
||
| Строка 18: | Строка 18: | ||
// Добавление кнопки переключения темы | // Добавление кнопки переключения темы | ||
// Добавление кнопки в раздел "Инструменты" левого меню | |||
mw.hook('ve.activationComplete').add(function() { | |||
. | mw.util.addPortletLink( | ||
'p-tb', // ID раздела (p-tb = инструменты) | |||
'#', | |||
'🌓 Тема', | |||
'theme-switcher', | |||
'Переключить цветовую тему', | |||
null, | |||
$('#pt-preferences').next() | |||
).find('a').on('click', function(e) { | |||
e.preventDefault(); | |||
toggleTheme(); | |||
}); | }); | ||
}); | }); | ||
Версия от 13:36, 1 апреля 2025
// Функция переключения темы function toggleTheme() {
const body = document.body;
body.classList.toggle('dark-theme');
// Сохранение выбора в localStorage
const isDark = body.classList.contains('dark-theme');
localStorage.setItem('theme', isDark ? 'dark' : 'light');
}
// Загрузка сохраненной темы при открытии страницы document.addEventListener('DOMContentLoaded', function() {
const savedTheme = localStorage.getItem('theme');
if (savedTheme === 'dark') {
document.body.classList.add('dark-theme');
}
});
// Добавление кнопки переключения темы // Добавление кнопки в раздел "Инструменты" левого меню
mw.hook('ve.activationComplete').add(function() {
mw.util.addPortletLink(
'p-tb', // ID раздела (p-tb = инструменты)
'#',
'🌓 Тема',
'theme-switcher',
'Переключить цветовую тему',
null,
$('#pt-preferences').next()
).find('a').on('click', function(e) {
e.preventDefault();
toggleTheme();
});
});